From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 7428D5B34 for ; Mon, 2 Apr 2018 03:58:15 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Apr 2018 18:58:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,393,1517904000"; d="scan'208";a="187840901" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga004.jf.intel.com with ESMTP; 01 Apr 2018 18:58:11 -0700 Received: from fmsmsx121.amr.corp.intel.com (10.18.125.36) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 1 Apr 2018 18:58:11 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx121.amr.corp.intel.com (10.18.125.36) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 1 Apr 2018 18:58:11 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.235]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.226]) with mapi id 14.03.0319.002; Mon, 2 Apr 2018 09:58:08 +0800 From: "Wang, Zhihong" To: Maxime Coquelin , "dev@dpdk.org" CC: "Tan, Jianfeng" , "Bie, Tiwei" , "yliu@fridaylinux.org" , "Liang, Cunming" , "Wang, Xiao W" , "Daly, Dan" Thread-Topic: [PATCH v4 2/5] vhost: support selective datapath Thread-Index: AQHTyA4KB9rdOb9zJE69eJEcg7iRTaPpV6cAgANikoA= Date: Mon, 2 Apr 2018 01:58:08 +0000 Message-ID: <8F6C2BD409508844A0EFC19955BE094151418413@SHSMSX103.ccr.corp.intel.com> References: <1517614137-62926-1-git-send-email-zhihong.wang@intel.com> <20180310100148.12030-1-zhihong.wang@intel.com> <20180310100148.12030-3-zhihong.wang@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v4 2/5] vhost: support selective datapath X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Apr 2018 01:58:16 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF4aW1lIENvcXVlbGlu IFttYWlsdG86bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFNhdHVyZGF5LCBN YXJjaCAzMSwgMjAxOCAyOjEwIFBNDQo+IFRvOiBXYW5nLCBaaGlob25nIDx6aGlob25nLndhbmdA aW50ZWwuY29tPjsgZGV2QGRwZGsub3JnDQo+IENjOiBUYW4sIEppYW5mZW5nIDxqaWFuZmVuZy50 YW5AaW50ZWwuY29tPjsgQmllLCBUaXdlaQ0KPiA8dGl3ZWkuYmllQGludGVsLmNvbT47IHlsaXVA ZnJpZGF5bGludXgub3JnOyBMaWFuZywgQ3VubWluZw0KPiA8Y3VubWluZy5saWFuZ0BpbnRlbC5j b20+OyBXYW5nLCBYaWFvIFcgPHhpYW8udy53YW5nQGludGVsLmNvbT47IERhbHksDQo+IERhbiA8 ZGFuLmRhbHlAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY0IDIvNV0gdmhvc3Q6 IHN1cHBvcnQgc2VsZWN0aXZlIGRhdGFwYXRoDQo+IA0KPiANCj4gDQo+IE9uIDAzLzEwLzIwMTgg MTE6MDEgQU0sIFpoaWhvbmcgV2FuZyB3cm90ZToNCj4gPiBUaGlzIHBhdGNoIHNldCBpbnRyb2R1 Y2VzIHN1cHBvcnQgZm9yIHNlbGVjdGl2ZSBkYXRhcGF0aCBpbiBEUERLIHZob3N0LXVzZXINCj4g PiBsaWIuIHZEUEEgc3RhbmRzIGZvciB2aG9zdCBEYXRhIFBhdGggQWNjZWxlcmF0aW9uLiBUaGUg aWRlYSBpcyB0byBzdXBwb3J0DQo+ID4gdmlydGlvIHJpbmcgY29tcGF0aWJsZSBkZXZpY2VzIHRv IHNlcnZlIHZpcnRpbyBkcml2ZXIgZGlyZWN0bHkgdG8gZW5hYmxlDQo+ID4gZGF0YXBhdGggYWNj ZWxlcmF0aW9uLg0KPiA+DQo+ID4gQSBzZXQgb2YgZGV2aWNlIG9wcyBpcyBkZWZpbmVkIGZvciBk ZXZpY2Ugc3BlY2lmaWMgb3BlcmF0aW9uczoNCj4gPg0KPiA+ICAgICAgIGEuIHF1ZXVlX251bV9n ZXQ6IENhbGxlZCB0byBnZXQgc3VwcG9ydGVkIHF1ZXVlIG51bWJlciBvZiB0aGUNCj4gZGV2aWNl Lg0KPiA+DQo+ID4gICAgICAgYi4gZmVhdHVyZV9nZXQ6IENhbGxlZCB0byBnZXQgc3VwcG9ydGVk IGZlYXR1cmVzIG9mIHRoZSBkZXZpY2UuDQo+ID4NCj4gPiAgICAgICBjLiBwcm90b2NvbF9mZWF0 dXJlX2dldDogQ2FsbGVkIHRvIGdldCBzdXBwb3J0ZWQgcHJvdG9jb2wgZmVhdHVyZXMgb2YNCj4g PiAgICAgICAgICB0aGUgZGV2aWNlLg0KPiA+DQo+ID4gICAgICAgZC4gZGV2X2NvbmY6IENhbGxl ZCB0byBjb25maWd1cmUgdGhlIGFjdHVhbCBkZXZpY2Ugd2hlbiB0aGUgdmlydGlvDQo+ID4gICAg ICAgICAgZGV2aWNlIGJlY29tZXMgcmVhZHkuDQo+ID4NCj4gPiAgICAgICBlLiBkZXZfY2xvc2U6 IENhbGxlZCB0byBjbG9zZSB0aGUgYWN0dWFsIGRldmljZSB3aGVuIHRoZSB2aXJ0aW8gZGV2aWNl DQo+ID4gICAgICAgICAgaXMgc3RvcHBlZC4NCj4gPg0KPiA+ICAgICAgIGYuIHZyaW5nX3N0YXRl X3NldDogQ2FsbGVkIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIHZyaW5nIGluIHRoZQ0KPiA+ ICAgICAgICAgIGFjdHVhbCBkZXZpY2Ugd2hlbiB2cmluZyBzdGF0ZSBjaGFuZ2VzLg0KPiA+DQo+ ID4gICAgICAgZy4gZmVhdHVyZV9zZXQ6IENhbGxlZCB0byBzZXQgdGhlIG5lZ290aWF0ZWQgZmVh dHVyZXMgdG8gZGV2aWNlLg0KPiA+DQo+ID4gICAgICAgaC4gbWlncmF0aW9uX2RvbmU6IENhbGxl ZCB0byBhbGxvdyB0aGUgZGV2aWNlIHRvIHJlc3BvbnNlIHRvIFJBUlANCj4gPiAgICAgICAgICBz ZW5kaW5nLg0KPiA+DQo+ID4gICAgICAgaS4gZ2V0X3ZmaW9fZ3JvdXBfZmQ6IENhbGxlZCB0byBn ZXQgdGhlIFZGSU8gZ3JvdXAgZmQgb2YgdGhlIGRldmljZS4NCj4gPg0KPiA+ICAgICAgIGouIGdl dF92ZmlvX2RldmljZV9mZDogQ2FsbGVkIHRvIGdldCB0aGUgVkZJTyBkZXZpY2UgZmQgb2YgdGhl IGRldmljZS4NCj4gPg0KPiA+ICAgICAgIGsuIGdldF9ub3RpZnlfYXJlYTogQ2FsbGVkIHRvIGdl dCB0aGUgbm90aWZ5IGFyZWEgaW5mbyBvZiB0aGUgcXVldWUuDQo+ID4NCj4gPiBTaWduZWQtb2Zm LWJ5OiBaaGlob25nIFdhbmcgPHpoaWhvbmcud2FuZ0BpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4g Q2hhbmdlcyBpbiB2NDoNCj4gPg0KPiA+ICAgMS4gUmVtb3ZlIHRoZSAiZW5naW5lIiBjb25jZXB0 IGluIHRoZSBsaWIuDQo+ID4NCj4gPiAtLS0NCj4gPiBDaGFuZ2VzIGluIHYyOg0KPiA+DQo+ID4g ICAxLiBBZGQgVkZJTyByZWxhdGVkIHZEUEEgZGV2aWNlIG9wcy4NCj4gPg0KPiA+ICAgbGliL2xp YnJ0ZV92aG9zdC9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgNCArLQ0KPiA+ICAgbGliL2xpYnJ0 ZV92aG9zdC9ydGVfdmRwYS5oICAgICAgICAgICAgfCA5NA0KPiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysNCj4gPiAgIGxpYi9saWJydGVfdmhvc3QvcnRlX3Zob3N0X3ZlcnNpb24u bWFwIHwgIDYgKysrDQo+ID4gICBsaWIvbGlicnRlX3Zob3N0L3ZkcGEuYyAgICAgICAgICAgICAg ICB8IDk2DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgIDQgZmls ZXMgY2hhbmdlZCwgMTk4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ID4gICBjcmVh dGUgbW9kZSAxMDA2NDQgbGliL2xpYnJ0ZV92aG9zdC9ydGVfdmRwYS5oDQo+ID4gICBjcmVhdGUg bW9kZSAxMDA2NDQgbGliL2xpYnJ0ZV92aG9zdC92ZHBhLmMNCj4gPg0KPiA+IGRpZmYgLS1naXQg YS9saWIvbGlicnRlX3Zob3N0L01ha2VmaWxlIGIvbGliL2xpYnJ0ZV92aG9zdC9NYWtlZmlsZQ0K PiA+IGluZGV4IDVkNmM2YWJhZS4uMzcwNDRhYzAzIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJy dGVfdmhvc3QvTWFrZWZpbGUNCj4gPiArKysgYi9saWIvbGlicnRlX3Zob3N0L01ha2VmaWxlDQo+ ID4gQEAgLTIyLDkgKzIyLDkgQEAgTERMSUJTICs9IC1scnRlX2VhbCAtbHJ0ZV9tZW1wb29sIC1s cnRlX21idWYgLQ0KPiBscnRlX2V0aGRldiAtbHJ0ZV9uZXQNCj4gPg0KPiA+ICAgIyBhbGwgc291 cmNlIGFyZSBzdG9yZWQgaW4gU1JDUy15DQo+ID4gICBTUkNTLSQoQ09ORklHX1JURV9MSUJSVEVf VkhPU1QpIDo9IGZkX21hbi5jIGlvdGxiLmMgc29ja2V0LmMgdmhvc3QuYw0KPiBcDQo+ID4gLQkJ CQkJdmhvc3RfdXNlci5jIHZpcnRpb19uZXQuYw0KPiA+ICsJCQkJCXZob3N0X3VzZXIuYyB2aXJ0 aW9fbmV0LmMgdmRwYS5jDQo+ID4NCj4gPiAgICMgaW5zdGFsbCBpbmNsdWRlcw0KPiA+IC1TWU1M SU5LLSQoQ09ORklHX1JURV9MSUJSVEVfVkhPU1QpLWluY2x1ZGUgKz0gcnRlX3Zob3N0LmgNCj4g PiArU1lNTElOSy0kKENPTkZJR19SVEVfTElCUlRFX1ZIT1NUKS1pbmNsdWRlICs9IHJ0ZV92aG9z dC5oDQo+IHJ0ZV92ZHBhLmgNCj4gPg0KPiA+ICAgaW5jbHVkZSAkKFJURV9TREspL21rL3J0ZS5s aWIubWsNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV92aG9zdC9ydGVfdmRwYS5oIGIvbGli L2xpYnJ0ZV92aG9zdC9ydGVfdmRwYS5oDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiBp bmRleCAwMDAwMDAwMDAuLmE0YmJiZDkzZA0KPiA+IC0tLSAvZGV2L251bGwNCj4gPiArKysgYi9s aWIvbGlicnRlX3Zob3N0L3J0ZV92ZHBhLmgNCj4gPiBAQCAtMCwwICsxLDk0IEBADQo+ID4gKy8q IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiArICogQ29weXJpZ2h0 KGMpIDIwMTggSW50ZWwgQ29ycG9yYXRpb24NCj4gPiArICovDQo+ID4gKw0KPiA+ICsjaWZuZGVm IF9SVEVfVkRQQV9IXw0KPiA+ICsjZGVmaW5lIF9SVEVfVkRQQV9IXw0KPiA+ICsNCj4gPiArLyoq DQo+ID4gKyAqIEBmaWxlDQo+ID4gKyAqDQo+ID4gKyAqIERldmljZSBzcGVjaWZpYyB2aG9zdCBs aWINCj4gPiArICovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8cnRlX3BjaS5oPg0KPiA+ICsjaW5j bHVkZSAicnRlX3Zob3N0LmgiDQo+ID4gKw0KPiA+ICsjZGVmaW5lIE1BWF9WRFBBX05BTUVfTEVO IDEyOA0KPiA+ICsNCj4gPiArZW51bSB2ZHBhX2FkZHJfdHlwZSB7DQo+ID4gKwlQQ0lfQUREUiwN Cj4gPiArCVZEUEFfQUREUl9NQVgNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0cnVjdCBydGVfdmRw YV9kZXZfYWRkciB7DQo+ID4gKwllbnVtIHZkcGFfYWRkcl90eXBlIHR5cGU7DQo+ID4gKwl1bmlv biB7DQo+ID4gKwkJdWludDhfdCBfX2R1bW15WzY0XTsNCj4gPiArCQlzdHJ1Y3QgcnRlX3BjaV9h ZGRyIHBjaV9hZGRyOw0KPiA+ICsJfTsNCj4gPiArfTsNCj4gPiArDQo+ID4gKy8qIEdldCBjYXBh YmlsaXRpZXMgb2YgdGhpcyBkZXZpY2UgKi8NCj4gPiArdHlwZWRlZiBpbnQgKCp2ZHBhX2Rldl9x dWV1ZV9udW1fZ2V0X3QpKGludCBkaWQsIHVpbnQzMl90DQo+ICpxdWV1ZV9udW0pOw0KPiA+ICt0 eXBlZGVmIGludCAoKnZkcGFfZGV2X2ZlYXR1cmVfZ2V0X3QpKGludCBkaWQsIHVpbnQ2NF90ICpm ZWF0dXJlcyk7DQo+ID4gKw0KPiA+ICsvKiBEcml2ZXIgY29uZmlndXJlL2Nsb3NlIHRoZSBkZXZp Y2UgKi8NCj4gPiArdHlwZWRlZiBpbnQgKCp2ZHBhX2Rldl9jb25mX3QpKGludCB2aWQpOw0KPiA+ ICt0eXBlZGVmIGludCAoKnZkcGFfZGV2X2Nsb3NlX3QpKGludCB2aWQpOw0KPiA+ICsNCj4gPiAr LyogRW5hYmxlL2Rpc2FibGUgdGhpcyB2cmluZyAqLw0KPiA+ICt0eXBlZGVmIGludCAoKnZkcGFf dnJpbmdfc3RhdGVfc2V0X3QpKGludCB2aWQsIGludCB2cmluZywgaW50IHN0YXRlKTsNCj4gPiAr DQo+ID4gKy8qIFNldCBmZWF0dXJlcyB3aGVuIGNoYW5nZWQgKi8NCj4gPiArdHlwZWRlZiBpbnQg KCp2ZHBhX2ZlYXR1cmVfc2V0X3QpKGludCB2aWQpOw0KPiA+ICsNCj4gPiArLyogRGVzdGluYXRp b24gb3BlcmF0aW9ucyB3aGVuIG1pZ3JhdGlvbiBkb25lICovDQo+ID4gK3R5cGVkZWYgaW50ICgq dmRwYV9taWdyYXRpb25fZG9uZV90KShpbnQgdmlkKTsNCj4gPiArDQo+ID4gKy8qIEdldCB0aGUg dmZpbyBncm91cCBmZCAqLw0KPiA+ICt0eXBlZGVmIGludCAoKnZkcGFfZ2V0X3ZmaW9fZ3JvdXBf ZmRfdCkoaW50IHZpZCk7DQo+ID4gKw0KPiA+ICsvKiBHZXQgdGhlIHZmaW8gZGV2aWNlIGZkICov DQo+ID4gK3R5cGVkZWYgaW50ICgqdmRwYV9nZXRfdmZpb19kZXZpY2VfZmRfdCkoaW50IHZpZCk7 DQo+ID4gKw0KPiA+ICsvKiBHZXQgdGhlIG5vdGlmeSBhcmVhIGluZm8gb2YgdGhlIHF1ZXVlICov DQo+ID4gK3R5cGVkZWYgaW50ICgqdmRwYV9nZXRfbm90aWZ5X2FyZWFfdCkoaW50IHZpZCwgaW50 IHFpZCwgdWludDY0X3QgKm9mZnNldCwNCj4gPiArCQl1aW50NjRfdCAqc2l6ZSk7DQo+ID4gKy8q IERldmljZSBvcHMgKi8NCj4gPiArc3RydWN0IHJ0ZV92ZHBhX2Rldl9vcHMgew0KPiA+ICsJdmRw YV9kZXZfcXVldWVfbnVtX2dldF90ICBxdWV1ZV9udW1fZ2V0Ow0KPiA+ICsJdmRwYV9kZXZfZmVh dHVyZV9nZXRfdCAgICBmZWF0dXJlX2dldDsNCj4gPiArCXZkcGFfZGV2X2ZlYXR1cmVfZ2V0X3Qg ICAgcHJvdG9jb2xfZmVhdHVyZV9nZXQ7DQo+ID4gKwl2ZHBhX2Rldl9jb25mX3QgICAgICAgICAg IGRldl9jb25mOw0KPiA+ICsJdmRwYV9kZXZfY2xvc2VfdCAgICAgICAgICBkZXZfY2xvc2U7DQo+ ID4gKwl2ZHBhX3ZyaW5nX3N0YXRlX3NldF90ICAgIHZyaW5nX3N0YXRlX3NldDsNCj4gPiArCXZk cGFfZmVhdHVyZV9zZXRfdCAgICAgICAgZmVhdHVyZV9zZXQ7DQo+ID4gKwl2ZHBhX21pZ3JhdGlv bl9kb25lX3QgICAgIG1pZ3JhdGlvbl9kb25lOw0KPiA+ICsJdmRwYV9nZXRfdmZpb19ncm91cF9m ZF90ICBnZXRfdmZpb19ncm91cF9mZDsNCj4gPiArCXZkcGFfZ2V0X3ZmaW9fZGV2aWNlX2ZkX3Qg Z2V0X3ZmaW9fZGV2aWNlX2ZkOw0KPiA+ICsJdmRwYV9nZXRfbm90aWZ5X2FyZWFfdCAgICBnZXRf bm90aWZ5X2FyZWE7DQo+IA0KPiBNYXliZSB5b3UgY291bGQgcmVzZXJ2ZSBzb21lIHJvb20gaGVy ZSB0byBhdm9pZCBicmVha2luZyB0aGUgQUJJIGluIHRoZQ0KPiBmdXR1cmUgaWYgd2UgbmVlZCB0 byBhZGQgc29tZSBvcHRpb25hbCBvcHMuDQoNCkdvb2Qgc3VnZ2VzdGlvbi4NCg0KPiANCj4gPiAr fTsNCj4gPiArDQo+ID4gK3N0cnVjdCBydGVfdmRwYV9kZXZpY2Ugew0KPiA+ICsJc3RydWN0IHJ0 ZV92ZHBhX2Rldl9hZGRyIGFkZHI7DQo+ID4gKwlzdHJ1Y3QgcnRlX3ZkcGFfZGV2X29wcyAqb3Bz Ow0KPiA+ICt9IF9fcnRlX2NhY2hlX2FsaWduZWQ7DQo+ID4gKw0KPiA+ICtleHRlcm4gc3RydWN0 IHJ0ZV92ZHBhX2RldmljZSAqdmRwYV9kZXZpY2VzW107DQo+ID4gK2V4dGVybiB1aW50MzJfdCB2 ZHBhX2RldmljZV9udW07DQo+ID4gKw0KPiA+ICsvKiBSZWdpc3RlciBhIHZkcGEgZGV2aWNlLCBy ZXR1cm4gZGlkIGlmIHN1Y2Nlc3NmdWwsIC0xIG9uIGZhaWx1cmUgKi8NCj4gPiAraW50IF9fcnRl X2V4cGVyaW1lbnRhbA0KPiA+ICtydGVfdmRwYV9yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IHJ0ZV92 ZHBhX2Rldl9hZGRyICphZGRyLA0KPiA+ICsJCXN0cnVjdCBydGVfdmRwYV9kZXZfb3BzICpvcHMp Ow0KPiA+ICsNCj4gPiArLyogVW5yZWdpc3RlciBhIHZkcGEgZGV2aWNlLCByZXR1cm4gLTEgb24g ZmFpbHVyZSAqLw0KPiA+ICtpbnQgX19ydGVfZXhwZXJpbWVudGFsDQo+ID4gK3J0ZV92ZHBhX3Vu cmVnaXN0ZXJfZGV2aWNlKGludCBkaWQpOw0KPiA+ICsNCj4gPiArLyogRmluZCBkaWQgb2YgYSB2 ZHBhIGRldmljZSwgcmV0dXJuIC0xIG9uIGZhaWx1cmUgKi8NCj4gPiAraW50IF9fcnRlX2V4cGVy aW1lbnRhbA0KPiA+ICtydGVfdmRwYV9maW5kX2RldmljZV9pZChzdHJ1Y3QgcnRlX3ZkcGFfZGV2 X2FkZHIgKmFkZHIpOw0KPiA+ICsNCj4gPiArI2VuZGlmIC8qIF9SVEVfVkRQQV9IXyAqLw0KPiA+ IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX3Zob3N0L3J0ZV92aG9zdF92ZXJzaW9uLm1hcA0KPiBi L2xpYi9saWJydGVfdmhvc3QvcnRlX3Zob3N0X3ZlcnNpb24ubWFwDQo+ID4gaW5kZXggZGYwMTAz MTI5Li43YmNmZmI0OTAgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV92aG9zdC9ydGVfdmhv c3RfdmVyc2lvbi5tYXANCj4gPiArKysgYi9saWIvbGlicnRlX3Zob3N0L3J0ZV92aG9zdF92ZXJz aW9uLm1hcA0KPiA+IEBAIC01OSwzICs1OSw5IEBAIERQREtfMTguMDIgew0KPiA+ICAgCXJ0ZV92 aG9zdF92cmluZ19jYWxsOw0KPiA+DQo+ID4gICB9IERQREtfMTcuMDg7DQo+ID4gKw0KPiA+ICtF WFBFUklNRU5UQUwgew0KPiA+ICsJcnRlX3ZkcGFfcmVnaXN0ZXJfZGV2aWNlOw0KPiA+ICsJcnRl X3ZkcGFfdW5yZWdpc3Rlcl9kZXZpY2U7DQo+ID4gKwlydGVfdmRwYV9maW5kX2RldmljZV9pZDsN Cj4gDQo+IEkgdGhpbmsgeW91IG5lZWQgYWxzbyB0byBkZWNsYXJlIHRoZSBuZXcgc3RydWN0cyBo ZXJlLA0KPiBub3Qgb25seSB0aGUgbmV3IGZ1bmN0aW9ucy4NCg0KT2suDQoNCj4gDQo+ID4gK30g RFBES18xOC4wMjsNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV92aG9zdC92ZHBhLmMgYi9s aWIvbGlicnRlX3Zob3N0L3ZkcGEuYw0KPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4gaW5k ZXggMDAwMDAwMDAwLi4wYzk1MGQ0NWYNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvbGli L2xpYnJ0ZV92aG9zdC92ZHBhLmMNCj4gPiBAQCAtMCwwICsxLDk2IEBADQo+ID4gKy8qIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiArICogQ29weXJpZ2h0KGMpIDIw MTggSW50ZWwgQ29ycG9yYXRpb24NCj4gPiArICovDQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICog QGZpbGUNCj4gPiArICoNCj4gPiArICogRGV2aWNlIHNwZWNpZmljIHZob3N0IGxpYg0KPiA+ICsg Ki8NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxzdGRib29sLmg+DQo+ID4gKw0KPiA+ICsjaW5jbHVk ZSA8cnRlX21hbGxvYy5oPg0KPiA+ICsjaW5jbHVkZSAicnRlX3ZkcGEuaCINCj4gPiArI2luY2x1 ZGUgInZob3N0LmgiDQo+ID4gKw0KPiA+ICtzdHJ1Y3QgcnRlX3ZkcGFfZGV2aWNlICp2ZHBhX2Rl dmljZXNbTUFYX1ZIT1NUX0RFVklDRV07DQo+ID4gK3VpbnQzMl90IHZkcGFfZGV2aWNlX251bTsN Cj4gPiArDQo+ID4gK3N0YXRpYyBpbnQgaXNfc2FtZV92ZHBhX2Rldl9hZGRyKHN0cnVjdCBydGVf dmRwYV9kZXZfYWRkciAqYSwNCj4gPiArCQlzdHJ1Y3QgcnRlX3ZkcGFfZGV2X2FkZHIgKmIpDQo+ ID4gK3sNCj4gDQo+IEdpdmVuIHRoZSBib29sZWFuIG5hdHVyZSBvZiB0aGUgZnVuY3Rpb24gbmFt ZSwgSSB3b3VsZCByZXR1cm4gMSBpZiBzYW1lDQo+IGRldmljZSwgMCBpZiBkaWZmZXJlbnQuDQoN Ck9rLCB3aWxsIHVzZSBib29sLg0KDQo+IA0KPiA+ICsJaW50IHJldCA9IDA7DQo+ID4gKw0KPiA+ ICsJaWYgKGEtPnR5cGUgIT0gYi0+dHlwZSkNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKw0KPiA+ ICsJc3dpdGNoIChhLT50eXBlKSB7DQo+ID4gKwljYXNlIFBDSV9BRERSOg0KPiA+ICsJCWlmIChh LT5wY2lfYWRkci5kb21haW4gIT0gYi0+cGNpX2FkZHIuZG9tYWluIHx8DQo+ID4gKwkJCQlhLT5w Y2lfYWRkci5idXMgIT0gYi0+cGNpX2FkZHIuYnVzIHx8DQo+ID4gKwkJCQlhLT5wY2lfYWRkci5k ZXZpZCAhPSBiLT5wY2lfYWRkci5kZXZpZCB8fA0KPiA+ICsJCQkJYS0+cGNpX2FkZHIuZnVuY3Rp b24gIT0gYi0+cGNpX2FkZHIuZnVuY3Rpb24pDQo+ID4gKwkJCXJldCA9IC0xOw0KPiA+ICsJCWJy ZWFrOw0KPiA+ICsJZGVmYXVsdDoNCj4gPiArCQlicmVhazsNCj4gPiArCX0NCj4gPiArDQo+ID4g KwlyZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICtpbnQgcnRlX3ZkcGFfcmVnaXN0ZXJf ZGV2aWNlKHN0cnVjdCBydGVfdmRwYV9kZXZfYWRkciAqYWRkciwNCj4gPiArCQlzdHJ1Y3QgcnRl X3ZkcGFfZGV2X29wcyAqb3BzKQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgcnRlX3ZkcGFfZGV2aWNl ICpkZXY7DQo+ID4gKwljaGFyIGRldmljZV9uYW1lW01BWF9WRFBBX05BTUVfTEVOXTsNCj4gPiAr CWludCBpOw0KPiA+ICsNCj4gPiArCWlmICh2ZHBhX2RldmljZV9udW0gPj0gTUFYX1ZIT1NUX0RF VklDRSkNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKw0KPiA+ICsJZm9yIChpID0gMDsgaSA8IE1B WF9WSE9TVF9ERVZJQ0U7IGkrKykgew0KPiA+ICsJCWlmICh2ZHBhX2RldmljZXNbaV0gPT0gTlVM TCkNCj4gPiArCQkJYnJlYWs7DQo+IFlvdSBtaWdodCB3YW50IHRvIGNoZWNrIHNhbWUgZGV2aWNl IGlzbid0IGJlaW5nIHJlZ2lzdGVyaW5nIGEgc2Vjb25kDQo+IHRpbWUsIGFuZCByZXR1cm4gYW4g ZXJyb3IgaW4gdGhhdCBjYXNlLg0KDQpXaWxsIGRvLg0KDQpUaGFua3MNCi1aaGlob25nDQoNCj4g DQo+IFRoaXMgaXMgbm90IGEgYmxvY2tlciB0aG91Z2gsIGFuZCBjYW4gYmUgZG9uZSBpbiBhIGRl ZGljYXRlZCBwYXRjaC4NCj4gDQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJc3ByaW50ZihkZXZpY2Vf bmFtZSwgInZkcGEtZGV2LSVkIiwgaSk7DQo+ID4gKwlkZXYgPSBydGVfem1hbGxvYyhkZXZpY2Vf bmFtZSwgc2l6ZW9mKHN0cnVjdCBydGVfdmRwYV9kZXZpY2UpLA0KPiA+ICsJCQlSVEVfQ0FDSEVf TElORV9TSVpFKTsNCj4gPiArCWlmICghZGV2KQ0KPiA+ICsJCXJldHVybiAtMTsNCj4gPiArDQo+ ID4gKwltZW1jcHkoJmRldi0+YWRkciwgYWRkciwgc2l6ZW9mKHN0cnVjdCBydGVfdmRwYV9kZXZf YWRkcikpOw0KPiA+ICsJZGV2LT5vcHMgPSBvcHM7DQo+ID4gKwl2ZHBhX2RldmljZXNbaV0gPSBk ZXY7DQo+ID4gKwl2ZHBhX2RldmljZV9udW0rKzsNCj4gPiArDQo+ID4gKwlyZXR1cm4gaTsNCj4g PiArfQ0KPiA+ICsNCj4gPiAraW50IHJ0ZV92ZHBhX3VucmVnaXN0ZXJfZGV2aWNlKGludCBkaWQp DQo+ID4gK3sNCj4gPiArCWlmIChkaWQgPCAwIHx8IGRpZCA+PSBNQVhfVkhPU1RfREVWSUNFIHx8 IHZkcGFfZGV2aWNlc1tkaWRdID09DQo+IE5VTEwpDQo+ID4gKwkJcmV0dXJuIC0xOw0KPiA+ICsN Cj4gPiArCXJ0ZV9mcmVlKHZkcGFfZGV2aWNlc1tkaWRdKTsNCj4gPiArCXZkcGFfZGV2aWNlc1tk aWRdID0gTlVMTDsNCj4gPiArCXZkcGFfZGV2aWNlX251bS0tOw0KPiA+ICsNCj4gPiArCXJldHVy biBkaWQ7DQo+ID4gK30NCj4gPiArDQo+ID4gK2ludCBydGVfdmRwYV9maW5kX2RldmljZV9pZChz dHJ1Y3QgcnRlX3ZkcGFfZGV2X2FkZHIgKmFkZHIpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBydGVf dmRwYV9kZXZpY2UgKmRldjsNCj4gPiArCWludCBpOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7 IGkgPCBNQVhfVkhPU1RfREVWSUNFOyArK2kpIHsNCj4gPiArCQlkZXYgPSB2ZHBhX2RldmljZXNb aV07DQo+ID4gKwkJaWYgKGRldiAmJiBpc19zYW1lX3ZkcGFfZGV2X2FkZHIoJmRldi0+YWRkciwg YWRkcikgPT0gMCkNCj4gPiArCQkJcmV0dXJuIGk7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJcmV0 dXJuIC0xOw0KPiA+ICt9DQo+ID4NCg==