From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 107A3A0C49; Tue, 20 Jul 2021 09:45:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8C0144068F; Tue, 20 Jul 2021 09:45:48 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id DD5B84068B for ; Tue, 20 Jul 2021 09:45:46 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10050"; a="209290085" X-IronPort-AV: E=Sophos;i="5.84,254,1620716400"; d="scan'208";a="209290085" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Jul 2021 00:45:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,254,1620716400"; d="scan'208";a="496078147" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga001.jf.intel.com with ESMTP; 20 Jul 2021 00:45:43 -0700 Received: from shsmsx602.ccr.corp.intel.com (10.109.6.142) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Tue, 20 Jul 2021 00:45:39 -0700 Received: from shsmsx606.ccr.corp.intel.com (10.109.6.216) by SHSMSX602.ccr.corp.intel.com (10.109.6.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 20 Jul 2021 15:45:38 +0800 Received: from shsmsx606.ccr.corp.intel.com ([10.109.6.216]) by SHSMSX606.ccr.corp.intel.com ([10.109.6.216]) with mapi id 15.01.2242.010; Tue, 20 Jul 2021 15:45:37 +0800 From: "Hu, Jiayu" To: Maxime Coquelin , "dev@dpdk.org" CC: "Xia, Chenbo" Thread-Topic: [PATCH v6 2/3] vhost: rework async configuration structure Thread-Index: AQHXfHjFQXXY6P0GCUWEu+RYkKRDxatK78GAgACIxWA= Date: Tue, 20 Jul 2021 07:45:37 +0000 Message-ID: <000df76841b04021b30ddb496c58a3b4@intel.com> References: <1626465089-17052-2-git-send-email-jiayu.hu@intel.com> <1626706847-276163-1-git-send-email-jiayu.hu@intel.com> <1626706847-276163-3-git-send-email-jiayu.hu@intel.com> <4540d13d-d3c2-77d8-0963-70a5ff0ff5a2@redhat.com> In-Reply-To: <4540d13d-d3c2-77d8-0963-70a5ff0ff5a2@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v6 2/3] vhost: rework async configuration structure X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF4aW1lIENvcXVlbGlu IDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU2VudDogVHVlc2RheSwgSnVseSAyMCwg MjAyMSAzOjE4IFBNDQo+IFRvOiBIdSwgSmlheXUgPGppYXl1Lmh1QGludGVsLmNvbT47IGRldkBk cGRrLm9yZw0KPiBDYzogWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiBTdWJq ZWN0OiBSZTogW1BBVENIIHY2IDIvM10gdmhvc3Q6IHJld29yayBhc3luYyBjb25maWd1cmF0aW9u IHN0cnVjdHVyZQ0KPiANCj4gDQo+IA0KPiBPbiA3LzE5LzIxIDU6MDAgUE0sIEppYXl1IEh1IHdy b3RlOg0KPiA+IFRoaXMgcGF0Y2ggcmV3b3JrcyB0aGUgYXN5bmMgY29uZmlndXJhdGlvbiBzdHJ1 Y3R1cmUgdG8gaW1wcm92ZSBjb2RlDQo+ID4gcmVhZGFiaWxpdHkuIEluIGFkZGl0aW9uLCBhZGQg cHJlc2VydmVkIHBhZGRpbmcgZmllbGRzIG9uIHRoZQ0KPiA+IHN0cnVjdHVyZSBmb3IgZnV0dXJl IHVzYWdlLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogSmlheXUgSHUgPGppYXl1Lmh1QGludGVs LmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogQ2hlbmJvIFhpYSA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+ DQo+ID4gLS0tDQo+ID4gIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS92aG9zdF9saWIucnN0IHwgMjEg KysrKysrKysrKy0tLS0tLS0tDQo+ID4gIGV4YW1wbGVzL3Zob3N0L21haW4uYyAgICAgICAgICAg ICAgIHwgIDggKysrLS0tLQ0KPiA+ICBsaWIvdmhvc3QvcnRlX3Zob3N0X2FzeW5jLmggICAgICAg ICB8IDQ0ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAgbGliL3Zo b3N0L3Zob3N0LmMgICAgICAgICAgICAgICAgICAgfCAxOSArKysrKysrLS0tLS0tLS0tDQo+ID4g IGxpYi92aG9zdC92aG9zdC5oICAgICAgICAgICAgICAgICAgIHwgIDMgKy0tDQo+ID4gIDUgZmls ZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pDQo+IA0KPiANCj4g UmV2aWV3ZWQtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+ DQo+IA0KPiBQbGVhc2Ugc2VlIG9uZSBjb21tZW50IGJlbG93Og0KPiANCj4gDQo+ID4gZGlmZiAt LWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS92aG9zdF9saWIucnN0DQo+ID4gYi9kb2MvZ3Vp ZGVzL3Byb2dfZ3VpZGUvdmhvc3RfbGliLnJzdA0KPiA+IGluZGV4IGQxOGZiOTguLjJhNjFiODUg MTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3Zob3N0X2xpYi5yc3QNCj4g PiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvdmhvc3RfbGliLnJzdA0KPiA+IEBAIC0yMTgs MjYgKzIxOCwyOSBAQCBUaGUgZm9sbG93aW5nIGlzIGFuIG92ZXJ2aWV3IG9mIHNvbWUga2V5IFZo b3N0DQo+IEFQSSBmdW5jdGlvbnM6DQo+ID4NCj4gPiAgICBFbmFibGUgb3IgZGlzYWJsZSB6ZXJv IGNvcHkgZmVhdHVyZSBvZiB0aGUgdmhvc3QgY3J5cHRvIGJhY2tlbmQuDQo+ID4NCj4gPiAtKiBg YHJ0ZV92aG9zdF9hc3luY19jaGFubmVsX3JlZ2lzdGVyKHZpZCwgcXVldWVfaWQsIGZlYXR1cmVz LCBvcHMpYGANCj4gPiArKiBgYHJ0ZV92aG9zdF9hc3luY19jaGFubmVsX3JlZ2lzdGVyKHZpZCwg cXVldWVfaWQsIGNvbmZpZywgb3BzKWBgDQo+ID4NCj4gPiAtICBSZWdpc3RlciBhIHZob3N0IHF1 ZXVlIHdpdGggYXN5bmMgY29weSBkZXZpY2UgY2hhbm5lbCBhZnRlciB2cmluZw0KPiA+IC0gIGlz IGVuYWJsZWQuIEZvbGxvd2luZyBkZXZpY2UgYGBmZWF0dXJlc2BgIG11c3QgYmUgc3BlY2lmaWVk DQo+ID4gdG9nZXRoZXINCj4gPiArICBSZWdpc3RlciBhbiBhc3luYyBjb3B5IGRldmljZSBjaGFu bmVsIGZvciBhIHZob3N0IHF1ZXVlIGFmdGVyIHZyaW5nDQo+ID4gKyBpcyBlbmFibGVkLiBGb2xs b3dpbmcgZGV2aWNlIGBgY29uZmlnYGAgbXVzdCBiZSBzcGVjaWZpZWQgdG9nZXRoZXINCj4gPiAg ICB3aXRoIHRoZSByZWdpc3RyYXRpb246DQo+ID4NCj4gPiAtICAqIGBgYXN5bmNfaW5vcmRlcmBg DQo+ID4gKyAgKiBgYGZlYXR1cmVzYGANCj4gPg0KPiA+IC0gICAgQXN5bmMgY29weSBkZXZpY2Ug Y2FuIGd1YXJhbnRlZSB0aGUgb3JkZXJpbmcgb2YgY29weSBjb21wbGV0aW9uDQo+ID4gLSAgICBz ZXF1ZW5jZS4gQ29waWVzIGFyZSBjb21wbGV0ZWQgaW4gdGhlIHNhbWUgb3JkZXIgd2l0aCB0aGF0 IGF0DQo+ID4gLSAgICB0aGUgc3VibWlzc2lvbiB0aW1lLg0KPiA+ICsgICAgVGhpcyBmaWVsZCBp cyB1c2VkIHRvIHNwZWNpZnkgYXN5bmMgY29weSBkZXZpY2UgZmVhdHVyZXMuDQo+ID4NCj4gPiAt ICAgIEN1cnJlbnRseSwgb25seSBgYGFzeW5jX2lub3JkZXJgYCBjYXBhYmxlIGRldmljZSBpcyBz dXBwb3J0ZWQgYnkgdmhvc3QuDQo+ID4gKyAgICBgYFJURV9WSE9TVF9BU1lOQ19JTk9SREVSYGAg cmVwcmVzZW50cyB0aGUgYXN5bmMgY29weSBkZXZpY2UgY2FuDQo+ID4gKyAgICBndWFyYW50ZWUg dGhlIG9yZGVyIG9mIGNvcHkgY29tcGxldGlvbiBpcyB0aGUgc2FtZSBhcyB0aGUgb3JkZXINCj4g PiArICAgIG9mIGNvcHkgc3VibWlzc2lvbi4NCj4gPiArDQo+ID4gKyAgICBDdXJyZW50bHksIG9u bHkgYGBSVEVfVkhPU1RfQVNZTkNfSU5PUkRFUmBgIGNhcGFibGUgZGV2aWNlIGlzDQo+ID4gKyAg ICBzdXBwb3J0ZWQgYnkgdmhvc3QuDQo+ID4NCj4gPiAgICAqIGBgYXN5bmNfdGhyZXNob2xkYGAN Cj4gPg0KPiA+ICAgICAgVGhlIGNvcHkgbGVuZ3RoIChpbiBieXRlcykgYmVsb3cgd2hpY2ggQ1BV IGNvcHkgd2lsbCBiZSB1c2VkIGV2ZW4gaWYNCj4gPiAgICAgIGFwcGxpY2F0aW9ucyBjYWxsIGFz eW5jIHZob3N0IEFQSXMgdG8gZW5xdWV1ZS9kZXF1ZXVlIGRhdGEuDQo+ID4NCj4gPiAtICAgIFR5 cGljYWwgdmFsdWUgaXMgNTEyfjEwMjQgZGVwZW5kaW5nIG9uIHRoZSBhc3luYyBkZXZpY2UgY2Fw YWJpbGl0eS4NCj4gPiArICAgIFR5cGljYWwgdmFsdWUgaXMgMjU2fjEwMjQgZGVwZW5kaW5nIG9u IHRoZSBhc3luYyBkZXZpY2UgY2FwYWJpbGl0eS4NCj4gPg0KPiA+ICAgIEFwcGxpY2F0aW9ucyBt dXN0IHByb3ZpZGUgZm9sbG93aW5nIGBgb3BzYGAgY2FsbGJhY2tzIGZvciB2aG9zdCBsaWIgdG8N Cj4gPiAgICB3b3JrIHdpdGggdGhlIGFzeW5jIGNvcHkgZGV2aWNlczoNCj4gPiBkaWZmIC0tZ2l0 IGEvZXhhbXBsZXMvdmhvc3QvbWFpbi5jIGIvZXhhbXBsZXMvdmhvc3QvbWFpbi5jIGluZGV4DQo+ ID4gZDIxNzllYS4uOWNkODU1YSAxMDA2NDQNCj4gPiAtLS0gYS9leGFtcGxlcy92aG9zdC9tYWlu LmMNCj4gPiArKysgYi9leGFtcGxlcy92aG9zdC9tYWluLmMNCj4gPiBAQCAtMTQ2OCw3ICsxNDY4 LDcgQEAgbmV3X2RldmljZShpbnQgdmlkKQ0KPiA+ICAJCXZpZCwgdmRldi0+Y29yZWlkKTsNCj4g Pg0KPiA+ICAJaWYgKGFzeW5jX3Zob3N0X2RyaXZlcikgew0KPiA+IC0JCXN0cnVjdCBydGVfdmhv c3RfYXN5bmNfZmVhdHVyZXMgZjsNCj4gPiArCQlzdHJ1Y3QgcnRlX3Zob3N0X2FzeW5jX2NvbmZp ZyBjb25maWcgPSB7MH07DQo+ID4gIAkJc3RydWN0IHJ0ZV92aG9zdF9hc3luY19jaGFubmVsX29w cyBjaGFubmVsX29wczsNCj4gPg0KPiA+ICAJCWlmIChkbWFfdHlwZSAhPSBOVUxMICYmIHN0cm5j bXAoZG1hX3R5cGUsICJpb2F0IiwgNCkgPT0gMCkNCj4geyBAQA0KPiA+IC0xNDc2LDExICsxNDc2 LDExIEBAIG5ld19kZXZpY2UoaW50IHZpZCkNCj4gPiAgCQkJY2hhbm5lbF9vcHMuY2hlY2tfY29t cGxldGVkX2NvcGllcyA9DQo+ID4gIAkJCQlpb2F0X2NoZWNrX2NvbXBsZXRlZF9jb3BpZXNfY2I7 DQo+ID4NCj4gPiAtCQkJZi5hc3luY19pbm9yZGVyID0gMTsNCj4gPiAtCQkJZi5hc3luY190aHJl c2hvbGQgPSAyNTY7DQo+ID4gKwkJCWNvbmZpZy5mZWF0dXJlcyA9IFJURV9WSE9TVF9BU1lOQ19J Tk9SREVSOw0KPiA+ICsJCQljb25maWcuYXN5bmNfdGhyZXNob2xkID0gMjU2Ow0KPiA+DQo+ID4g IAkJCXJldHVybiBydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF9yZWdpc3Rlcih2aWQsDQo+IFZJUlRJ T19SWFEsDQo+ID4gLQkJCQlmLmludHZhbCwgJmNoYW5uZWxfb3BzKTsNCj4gPiArCQkJCWNvbmZp ZywgJmNoYW5uZWxfb3BzKTsNCj4gPiAgCQl9DQo+ID4gIAl9DQo+ID4NCj4gPiBkaWZmIC0tZ2l0 IGEvbGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5oIGIvbGliL3Zob3N0L3J0ZV92aG9zdF9hc3lu Yy5oDQo+ID4gaW5kZXggNmZhYTMxZi4uZWY4YzFhMiAxMDA2NDQNCj4gPiAtLS0gYS9saWIvdmhv c3QvcnRlX3Zob3N0X2FzeW5jLmgNCj4gPiArKysgYi9saWIvdmhvc3QvcnRlX3Zob3N0X2FzeW5j LmgNCj4gPiBAQCAtOTMsNDkgKzkzLDQ3IEBAIHN0cnVjdCBhc3luY19pbmZsaWdodF9pbmZvIHsg IH07DQo+ID4NCj4gPiAgLyoqDQo+ID4gLSAqICBkbWEgY2hhbm5lbCBmZWF0dXJlIGJpdCBkZWZp bml0aW9uDQo+ID4gKyAqICBhc3luYyBjaGFubmVsIGZlYXR1cmVzDQo+ID4gICAqLw0KPiA+IC1z dHJ1Y3QgcnRlX3Zob3N0X2FzeW5jX2ZlYXR1cmVzIHsNCj4gPiAtCXVuaW9uIHsNCj4gPiAtCQl1 aW50MzJfdCBpbnR2YWw7DQo+ID4gLQkJc3RydWN0IHsNCj4gPiAtCQkJdWludDMyX3QgYXN5bmNf aW5vcmRlcjoxOw0KPiA+IC0JCQl1aW50MzJfdCByZXN2ZF8wOjE1Ow0KPiA+IC0JCQl1aW50MzJf dCBhc3luY190aHJlc2hvbGQ6MTI7DQo+ID4gLQkJCXVpbnQzMl90IHJlc3ZkXzE6NDsNCj4gPiAt CQl9Ow0KPiA+IC0JfTsNCj4gPiArZW51bSB7DQo+ID4gKwlSVEVfVkhPU1RfQVNZTkNfSU5PUkRF UiA9IDFVIDw8IDAsDQo+IA0KPiBJIHRoaW5rIEkgdW5kZXJzdGFuZCB0aGUgcG9pbnQgb2YgdGhp cyBmbGFnLCBidXQgdGhlIG5hbWluZyBpcyBtaXNsZWFkaW5nLiBUaGUNCj4gY29kZSBsYXRlciBv biBmYWlscyByZWdpc3RyYXRpb24gaWYgdGhlICJJTk9SREVSIiBmbGFnIGlzIG5vdCBwYXNzZWQs IGJ1dCB0aGUNCj4gY29kZSBiZWhhdmVzIGluIHRoZSBvcHBvc2l0ZSwgaXQgZG9lcyBub3Qgc3Vw cG9ydCBWaXJ0aW8gSU5PUkRFUiBtb2RlIGFzDQo+IHNvb24gYXMgYSB0aHJlYXNob2xkIGlzIHVz ZWQuDQo+IA0KPiBXaHkgZG8gd2UgbmVlZCB0aGUgRE1BIHRvIHdyaXRlIHRoZSBkZXNjcmlwdG9y cyBidWZmZXJzIGluIG9yZGVyPyBNeQ0KPiB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgaXQgaXMgYW4g b3B0aW1pemF0aW9uIGluIG9yZGVyIHRvIGVhc2UgdGhlIERNQQ0KPiBjb21wbGV0aW9uIGhhbmRs aW5nLiBTbyB3ZSBhcmUgcmVxdWlyaW5nIERNQSB0byBiZSBpbi1vcmRlciwgYnV0IG9uIHRoZQ0K PiBvdGhlciBoYW5kIHdlIGNhbm5vdCBndWFyYW50ZWUgdGhlIFZpcnRpbyByaW5nIHRvIGJlIGhh bmRsZWQgaW4gb3JkZXIsDQo+IG1vdmluZyB0aGUgY29tcGxleGl0eSAoYW5kIHBvdGVudGlhbCBw ZXJmb3JtYW5jZSBjb3N0KSB0byB0aGUgZ3Vlc3QuDQoNClllcywgdGhlIHJlYXNvbiBvZiByZXF1 aXJpbmcgZG1hIGluLW9yZGVyIGlzIHRvIHNpbXBseSB2aG9zdCBmb3IgaGlnaGVyIHBlcmZvcm1h bmNlLg0KQW5vdGhlciByZWFzb24gaXMgdGhhdCBpbiBzb21lIGNhc2VzLCB3aGVyZSBhIHZyaW5n IG9ubHkgdXNlcyBvbmUgRE1BIGNoYW5uZWwsDQp0aGUgZG1hIGRldmljZSBndWFyYW50ZWVzIHRo ZSBvcmRlcmluZyBhbHJlYWR5LCBzbyBkbWEgY2FsbGJhY2sgaXMgaW4tb3JkZXJlZC4NCkZvciBv dGhlciBhcHBzLCB3aG8gd2FudCB0aGUgbW9zdCBjb21wbGV4IHZyaW5nIGFuZCBkbWEgY2hhbm5l bCBtYXBwaW5nLCBpLmUuLA0KbXVsdGlwbGUgdnJpbmcgdXNlIG11bHRpcGxlIGRtYSwgdGhlIG9y ZGVyIGlzIGJldHRlciB0byBiZSBpbXBsZW1lbnRlZCBieSBpdHNlbGYsDQppLmUuLCBkbWEgY2Fs bGJhY2sgZnVuY3Rpb25zLg0KDQpJZiB3ZSBhc3N1bWUgdnJpbmcgYW5kIGRtYSBjaGFubmVsIG1h cHBpbmcgaXMgTTpOLCB0aGUgdmhvc3QgbGliIGltcGxlbWVudGF0aW9uDQppcyBnb2luZyB0byBi ZSBtb3JlIGNvbXBsZXguIEJ1dCBpbiBteSBvcGluaW9uLCB0aGUgbWFwcGluZyByZWxhdGlvbnNo aXAgb2YgdnJpbmcgYW5kDQpkbWEgY2hhbm5lbCBpcyBwZXIgYXBwIHNwZWNpZmljLiBJbXBsZW1l bnRpbmcgTTpOIGluc2lkZSB2aG9zdCB3aWxsIHNhY3JpZmljZSBwZXJmb3JtYW5jZQ0KZm9yIHRo ZSBzaW1wbGVzdCB1c2UgY2FzZS4NCg0KUmlnaHQsIHRoZSBuYW1lIGlzIG1pc2xlYWRpbmcsIGFu ZCB2aXJ0aW8gSU5PUkRFUiBtb2RlIGRvZXNuJ3Qgd29yayBpZiBzZXR0aW5nIHRocmVzaG9sZC4N CkJ1dCB3ZSdkIGJldHRlciBjb25zaWRlciBhIHRyYWRlb2ZmIGJldHdlZW4gZG1hIGVmZmljaWVu Y3kgYW5kIG91dC1vZi1vcmRlciBpbXBhY3RzLg0KSSB3aWxsIG1lYXN1cmUgdGhlIHBlcmZvcm1h bmNlIHdpdGggcmVtb3ZpbmcgdGhyZXNob2xkIHN1cHBvcnRpbmcgaW4gdGhlIGNvZGUsIGFuZCBs ZXQncw0KZGlzY3VzcyB3aXRoIHNvbWUgZGF0YS4NCg0KVGhhbmtzLA0KSmlheXUNCj4gDQo+ID4g IH07DQo+ID4NCj4gPiAgLyoqDQo+ID4gLSAqIHJlZ2lzdGVyIGFuIGFzeW5jIGNoYW5uZWwgZm9y IHZob3N0DQo+ID4gKyAqICBhc3luYyBjaGFubmVsIGNvbmZpZ3VyYXRpb24NCj4gPiArICovDQo+ ID4gK3N0cnVjdCBydGVfdmhvc3RfYXN5bmNfY29uZmlnIHsNCj4gPiArCXVpbnQzMl90IGFzeW5j X3RocmVzaG9sZDsNCj4gPiArCXVpbnQzMl90IGZlYXR1cmVzOw0KPiA+ICsJdWludDMyX3QgcnN2 ZFsyXTsNCj4gPiArfTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBSZWdpc3RlciBhbiBhc3lu YyBjaGFubmVsIGZvciBhIHZob3N0IHF1ZXVlDQo+ID4gICAqDQo+ID4gICAqIEBwYXJhbSB2aWQN Cj4gPiAgICogIHZob3N0IGRldmljZSBpZCBhc3luYyBjaGFubmVsIHRvIGJlIGF0dGFjaGVkIHRv DQo+ID4gICAqIEBwYXJhbSBxdWV1ZV9pZA0KPiA+ICAgKiAgdmhvc3QgcXVldWUgaWQgYXN5bmMg Y2hhbm5lbCB0byBiZSBhdHRhY2hlZCB0bw0KPiA+IC0gKiBAcGFyYW0gZmVhdHVyZXMNCj4gPiAt ICogIERNQSBjaGFubmVsIGZlYXR1cmUgYml0DQo+ID4gLSAqICAgIGIwICAgICAgIDogRE1BIHN1 cHBvcnRzIGlub3JkZXIgZGF0YSB0cmFuc2Zlcg0KPiA+IC0gKiAgICBiMSAgLSBiMTU6IHJlc2Vy dmVkDQo+ID4gLSAqICAgIGIxNiAtIGIyNzogUGFja2V0IGxlbmd0aCB0aHJlc2hvbGQgZm9yIERN QSB0cmFuc2Zlcg0KPiA+IC0gKiAgICBiMjggLSBiMzE6IHJlc2VydmVkDQo+ID4gKyAqIEBwYXJh bSBjb25maWcNCj4gPiArICogIEFzeW5jIGNoYW5uZWwgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUN Cj4gPiAgICogQHBhcmFtIG9wcw0KPiA+IC0gKiAgRE1BIG9wZXJhdGlvbiBjYWxsYmFja3MNCj4g PiArICogIEFzeW5jIGNoYW5uZWwgb3BlcmF0aW9uIGNhbGxiYWNrcw0KPiA+ICAgKiBAcmV0dXJu DQo+ID4gICAqICAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGZhaWx1cmVzDQo+ID4gICAqLw0KPiA+ICBf X3J0ZV9leHBlcmltZW50YWwNCj4gPiAgaW50IHJ0ZV92aG9zdF9hc3luY19jaGFubmVsX3JlZ2lz dGVyKGludCB2aWQsIHVpbnQxNl90IHF1ZXVlX2lkLA0KPiA+IC0JdWludDMyX3QgZmVhdHVyZXMs IHN0cnVjdCBydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF9vcHMgKm9wcyk7DQo+ID4gKwlzdHJ1Y3Qg cnRlX3Zob3N0X2FzeW5jX2NvbmZpZyBjb25maWcsDQo+ID4gKwlzdHJ1Y3QgcnRlX3Zob3N0X2Fz eW5jX2NoYW5uZWxfb3BzICpvcHMpOw0KPiA+DQo+ID4gIC8qKg0KPiA+IC0gKiB1bnJlZ2lzdGVy IGEgZG1hIGNoYW5uZWwgZm9yIHZob3N0DQo+ID4gKyAqIFVucmVnaXN0ZXIgYW4gYXN5bmMgY2hh bm5lbCBmb3IgYSB2aG9zdCBxdWV1ZQ0KPiA+ICAgKg0KPiA+ICAgKiBAcGFyYW0gdmlkDQo+ID4g LSAqICB2aG9zdCBkZXZpY2UgaWQgRE1BIGNoYW5uZWwgdG8gYmUgZGV0YWNoZWQNCj4gPiArICog IHZob3N0IGRldmljZSBpZCBhc3luYyBjaGFubmVsIHRvIGJlIGRldGFjaGVkIGZyb20NCj4gPiAg ICogQHBhcmFtIHF1ZXVlX2lkDQo+ID4gLSAqICB2aG9zdCBxdWV1ZSBpZCBETUEgY2hhbm5lbCB0 byBiZSBkZXRhY2hlZA0KPiA+ICsgKiAgdmhvc3QgcXVldWUgaWQgYXN5bmMgY2hhbm5lbCB0byBi ZSBkZXRhY2hlZCBmcm9tDQo+ID4gICAqIEByZXR1cm4NCj4gPiAgICogIDAgb24gc3VjY2Vzcywg LTEgb24gZmFpbHVyZXMNCj4gPiAgICovDQo+ID4gZGlmZiAtLWdpdCBhL2xpYi92aG9zdC92aG9z dC5jIGIvbGliL3Zob3N0L3Zob3N0LmMgaW5kZXgNCj4gPiA1M2E0NzBmLi45MDg3NThlIDEwMDY0 NA0KPiA+IC0tLSBhL2xpYi92aG9zdC92aG9zdC5jDQo+ID4gKysrIGIvbGliL3Zob3N0L3Zob3N0 LmMNCj4gPiBAQCAtMTYxOSwxOSArMTYxOSwxNyBAQCBpbnQgcnRlX3Zob3N0X2V4dGVybl9jYWxs YmFja19yZWdpc3RlcihpbnQgdmlkLA0KPiA+ICAJcmV0dXJuIDA7DQo+ID4gIH0NCj4gPg0KPiA+ IC1pbnQgcnRlX3Zob3N0X2FzeW5jX2NoYW5uZWxfcmVnaXN0ZXIoaW50IHZpZCwgdWludDE2X3Qg cXVldWVfaWQsDQo+ID4gLQkJCQkJdWludDMyX3QgZmVhdHVyZXMsDQo+ID4gLQkJCQkJc3RydWN0 IHJ0ZV92aG9zdF9hc3luY19jaGFubmVsX29wcw0KPiAqb3BzKQ0KPiA+ICtpbnQNCj4gPiArcnRl X3Zob3N0X2FzeW5jX2NoYW5uZWxfcmVnaXN0ZXIoaW50IHZpZCwgdWludDE2X3QgcXVldWVfaWQs DQo+ID4gKwkJc3RydWN0IHJ0ZV92aG9zdF9hc3luY19jb25maWcgY29uZmlnLA0KPiA+ICsJCXN0 cnVjdCBydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF9vcHMgKm9wcykNCj4gPiAgew0KPiA+ICAJc3Ry dWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnE7DQo+ID4gIAlzdHJ1Y3QgdmlydGlvX25ldCAqZGV2ID0g Z2V0X2RldmljZSh2aWQpOw0KPiA+IC0Jc3RydWN0IHJ0ZV92aG9zdF9hc3luY19mZWF0dXJlcyBm Ow0KPiA+DQo+ID4gIAlpZiAoZGV2ID09IE5VTEwgfHwgb3BzID09IE5VTEwpDQo+ID4gIAkJcmV0 dXJuIC0xOw0KPiA+DQo+ID4gLQlmLmludHZhbCA9IGZlYXR1cmVzOw0KPiA+IC0NCj4gPiAgCWlm IChxdWV1ZV9pZCA+PSBWSE9TVF9NQVhfVlJJTkcpDQo+ID4gIAkJcmV0dXJuIC0xOw0KPiA+DQo+ ID4gQEAgLTE2NDAsNyArMTYzOCw3IEBAIGludCBydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF9yZWdp c3RlcihpbnQgdmlkLA0KPiB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gPiAgCWlmICh1bmxpa2VseSh2 cSA9PSBOVUxMIHx8ICFkZXYtPmFzeW5jX2NvcHkpKQ0KPiA+ICAJCXJldHVybiAtMTsNCj4gPg0K PiA+IC0JaWYgKHVubGlrZWx5KCFmLmFzeW5jX2lub3JkZXIpKSB7DQo+ID4gKwlpZiAodW5saWtl bHkoIShjb25maWcuZmVhdHVyZXMgJiBSVEVfVkhPU1RfQVNZTkNfSU5PUkRFUikpKSB7DQo+ID4g IAkJVkhPU1RfTE9HX0NPTkZJRyhFUlIsDQo+ID4gIAkJCSJhc3luYyBjb3B5IGlzIG5vdCBzdXBw b3J0ZWQgb24gbm9uLWlub3JkZXIgbW9kZSAiDQo+ID4gIAkJCSIodmlkICVkLCBxaWQ6ICVkKVxu IiwgdmlkLCBxdWV1ZV9pZCk7IEBAIC0xNzE5LDkNCj4gKzE3MTcsNyBAQCBpbnQNCj4gPiBydGVf dmhvc3RfYXN5bmNfY2hhbm5lbF9yZWdpc3RlcihpbnQgdmlkLCB1aW50MTZfdCBxdWV1ZV9pZCwN Cj4gPg0KPiA+ICAJdnEtPmFzeW5jX29wcy5jaGVja19jb21wbGV0ZWRfY29waWVzID0gb3BzLQ0K PiA+Y2hlY2tfY29tcGxldGVkX2NvcGllczsNCj4gPiAgCXZxLT5hc3luY19vcHMudHJhbnNmZXJf ZGF0YSA9IG9wcy0+dHJhbnNmZXJfZGF0YTsNCj4gPiAtDQo+ID4gLQl2cS0+YXN5bmNfaW5vcmRl ciA9IGYuYXN5bmNfaW5vcmRlcjsNCj4gPiAtCXZxLT5hc3luY190aHJlc2hvbGQgPSBmLmFzeW5j X3RocmVzaG9sZDsNCj4gPiArCXZxLT5hc3luY190aHJlc2hvbGQgPSBjb25maWcuYXN5bmNfdGhy ZXNob2xkOw0KPiA+DQo+ID4gIAl2cS0+YXN5bmNfcmVnaXN0ZXJlZCA9IHRydWU7DQo+ID4NCj4g PiBAQCAtMTczMSw3ICsxNzI3LDggQEAgaW50IHJ0ZV92aG9zdF9hc3luY19jaGFubmVsX3JlZ2lz dGVyKGludCB2aWQsDQo+IHVpbnQxNl90IHF1ZXVlX2lkLA0KPiA+ICAJcmV0dXJuIDA7DQo+ID4g IH0NCj4gPg0KPiA+IC1pbnQgcnRlX3Zob3N0X2FzeW5jX2NoYW5uZWxfdW5yZWdpc3RlcihpbnQg dmlkLCB1aW50MTZfdCBxdWV1ZV9pZCkNCj4gPiAraW50DQo+ID4gK3J0ZV92aG9zdF9hc3luY19j aGFubmVsX3VucmVnaXN0ZXIoaW50IHZpZCwgdWludDE2X3QgcXVldWVfaWQpDQo+ID4gIHsNCj4g PiAgCXN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxOw0KPiA+ICAJc3RydWN0IHZpcnRpb19uZXQg KmRldiA9IGdldF9kZXZpY2UodmlkKTsgZGlmZiAtLWdpdA0KPiA+IGEvbGliL3Zob3N0L3Zob3N0 LmggYi9saWIvdmhvc3Qvdmhvc3QuaCBpbmRleCA4ZmZlMzg3Li5kOThjYThhIDEwMDY0NA0KPiA+ IC0tLSBhL2xpYi92aG9zdC92aG9zdC5oDQo+ID4gKysrIGIvbGliL3Zob3N0L3Zob3N0LmgNCj4g PiBAQCAtMjE4LDkgKzIxOCw4IEBAIHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgew0KPiA+ICAJfTsN Cj4gPg0KPiA+ICAJLyogdnEgYXN5bmMgZmVhdHVyZXMgKi8NCj4gPiAtCWJvb2wJCWFzeW5jX2lu b3JkZXI7DQo+ID4gIAlib29sCQlhc3luY19yZWdpc3RlcmVkOw0KPiA+IC0JdWludDE2X3QJYXN5 bmNfdGhyZXNob2xkOw0KPiA+ICsJdWludDMyX3QJYXN5bmNfdGhyZXNob2xkOw0KPiA+DQo+ID4g IAlpbnQJCQlub3RpZl9lbmFibGU7DQo+ID4gICNkZWZpbmUgVklSVElPX1VOSU5JVElBTElaRURf Tk9USUYJKC0xKQ0KPiA+DQoNCg==