From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20070.outbound.protection.outlook.com [40.107.2.70]) by dpdk.org (Postfix) with ESMTP id 5E9801D7 for ; Thu, 8 Nov 2018 10:35:18 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IDRZnZMCAxYN9yv2Ga24WswTyEBxsgjlZg+6I7JlEHU=; b=f27/HBlgWPsGtsj4/zd+5F+O5RYZlW87nWGEjIN+EsQphw7gm22gxKAdSzbPiv19GxKVMxczS41FQkdWKOnIj9VzJz7dC3eIwL3sT777Gh4ctphOcM6u5NxBD7P0fgd9yZph3S1c5vXMxQz5MS9C9cIXuQcvYbQw8bolafQKOK8= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.41.11) by AM0PR0502MB3698.eurprd05.prod.outlook.com (52.133.46.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Thu, 8 Nov 2018 09:35:16 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b158:af20:5026:3d25]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::b158:af20:5026:3d25%2]) with mapi id 15.20.1294.034; Thu, 8 Nov 2018 09:35:16 +0000 From: Matan Azrad To: Jeff Guo , "Ananyev, Konstantin" , "Burakov, Anatoly" , Thomas Monjalon , "Iremonger, Bernard" , "Wu, Jingjing" , "Lu, Wenzhuo" CC: "Yigit, Ferruh" , "dev@dpdk.org" , "Zhang, Helin" , "He, Shaopeng" Thread-Topic: [PATCH 3/3] app/testpmd: fix callback issue for hot-unplug Thread-Index: AQHUdZZ8h+lHSEr6OUWDDdkfR7wInqVCSJ3ggAGjsICAADwdAIABVAXwgAAYLoCAAAxQcA== Date: Thu, 8 Nov 2018 09:35:16 +0000 Message-ID: References: <1541484436-91320-1-git-send-email-jia.guo@intel.com> <1541484436-91320-4-git-send-email-jia.guo@intel.com> <2601191342CEEE43887BDE71AB9772580103069B86@irsmsx105.ger.corp.intel.com> In-Reply-To: Accept-Language: en-US, he-IL Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=matan@mellanox.com; x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM0PR0502MB3698; 6:0SNdubfJQC8Qsr18WdTZI3zpYT0AIH+ZNEPAqgXe58P6z9w1e/hGE8vjJHa98Al2PY3m9SuDdX5hYI+NugITpJ3wSqI6ZxhcSK8ifjRsBkdaozGQhUUhCHKZ195wpvzVPKPPO5xaZVAVZLX3CgRMLGKQTO/ODk/YXjbXkeKcWiEG0r3tSteE9bRulB+x42l9SFM+gK1degvz8/nrO1AzpB5IUHIfUyhtZTHKfsJM25NDWvpA8aMhZcDqupj/zTr0u/4347ebZCUi2Xq65fV1f+Zpr5Y5UUS3gX6EyTq5QMlwZcZ3ja89k7XOBNjSO3VcqgqSND/vkE277WjLcJwX3+EPpavLsrJ0VqbP7ehSLRsNMWC2q1aIQ64xmJcmJtLLYv17JJITBfYIAp11pwuHQuou45cvWTvnPeXXbUtyszGpcbIhMh1IAduYj8EWV1jvmDYWM+qyUs17TXaDsM70qQ==; 5:EwobIegfubnvUP0r6m0BlGVSfeOf/uDzQB4CkvN2BmkvQBIYH3fm766xQDe56oosRZnrCvP4Pqu1hHb9LGNRJD9ENYrnUlLjY55Kgeaa49frVyYfO2XpZjzjW+OSQ6uPM5Voe3PzPI/3ENAqrkwMJRGHV8/3O+LeqddndtT3/SQ=; 7:lEyAx1hYNiE/prrwsM1TTm4jhzZZUNDXKrM/8PXEY3wP7+Ce5jHqlkw8q+Pl8VmYARJ/ABVQeKQ0ldKEEJ6qhqLAWlIBsM0KW6NbGimJylCNFOsQaokXXOrfBHfBxGYCz6JESFoi3MoEANpQwRsI7w== x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-correlation-id: 73405af6-6a1b-4c39-79a4-08d6455d7dae x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:AM0PR0502MB3698; x-ms-traffictypediagnostic: AM0PR0502MB3698: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(3231382)(944501410)(52105095)(6055026)(148016)(149066)(150057)(6041310)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:AM0PR0502MB3698; BCL:0; PCL:0; RULEID:; SRVR:AM0PR0502MB3698; x-forefront-prvs: 0850800A29 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(346002)(39860400002)(366004)(376002)(136003)(189003)(199004)(13464003)(51444003)(14454004)(7416002)(2906002)(5660300001)(66066001)(256004)(14444005)(76176011)(74316002)(2900100001)(7696005)(25786009)(478600001)(54906003)(7736002)(316002)(110136005)(229853002)(305945005)(55016002)(33656002)(6436002)(8936002)(3846002)(6116002)(68736007)(4326008)(8676002)(53936002)(97736004)(81166006)(81156014)(9686003)(99286004)(106356001)(86362001)(476003)(26005)(102836004)(71200400001)(71190400001)(575784001)(93886005)(486006)(6246003)(105586002)(186003)(6506007)(11346002)(53546011)(446003)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3698; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: cTFrrSBYvct0toD2oyvx6ESaEeZ83ir7hiAMelMOPUQlT8NEjUKVB6pfOGPiqVihDmXwqAGlaDOd3LW1zFAjmWpWmNpQhP9NxC22fc0J4YcIx11Vv6Cxdo8jqhd6QBC1VJhCYGIJuzsmQ9EvRmFSeQ8BS/tBKcHt//Qx0guHsKF4FjEeRKV7YBPxKwImmllIJ3k0FezULd/Rkv8QOM398PqVxYKsNBZiKFL2kbZ74gIZ4qQ4QW281ws15tI1K2kMkslcCXZA7IQQSdIqWLSNaVK0rMSUnGa73uArBPmYiL0CtM1pZoo96U/IkmxONz7Q6iS9c//Bm+Ms6Xqjn7J8ckgs72Ph1Xv+Lf+qZF76wtk= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 73405af6-6a1b-4c39-79a4-08d6455d7dae X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Nov 2018 09:35:16.0824 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3698 Subject: Re: [dpdk-dev] [PATCH 3/3] app/testpmd: fix callback issue for hot-unplug 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: Thu, 08 Nov 2018 09:35:18 -0000 DQoNCkZyb206IEplZmYgR3VvIA0KPiBPbiAxMS84LzIwMTggMzoyOCBQTSwgTWF0YW4gQXpyYWQg d3JvdGU6DQo+ID4NCj4gPiBGcm9tOiBBbmFueWV2LCBLb25zdGFudGluDQo+ID4+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4gRnJvbTogR3VvLCBKaWENCj4gPj4+IFNlbnQ6IFdl ZG5lc2RheSwgTm92ZW1iZXIgNywgMjAxOCA3OjMwIEFNDQo+ID4+PiBUbzogTWF0YW4gQXpyYWQg PG1hdGFuQG1lbGxhbm94LmNvbT47IEFuYW55ZXYsIEtvbnN0YW50aW4NCj4gPj4+IDxrb25zdGFu dGluLmFuYW55ZXZAaW50ZWwuY29tPjsgQnVyYWtvdiwgQW5hdG9seQ0KPiA+Pj4gPGFuYXRvbHku YnVyYWtvdkBpbnRlbC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPj4gPHRob21hc0Btb25qYWxv bi5uZXQ+Ow0KPiA+Pj4gSXJlbW9uZ2VyLCBCZXJuYXJkIDxiZXJuYXJkLmlyZW1vbmdlckBpbnRl bC5jb20+OyBXdSwgSmluZ2ppbmcNCj4gPj4+IDxqaW5namluZy53dUBpbnRlbC5jb20+OyBMdSwg V2Vuemh1byA8d2Vuemh1by5sdUBpbnRlbC5jb20+DQo+ID4+PiBDYzogWWlnaXQsIEZlcnJ1aCA8 ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsgWmhhbmcsDQo+ID4+PiBIZWxp biA8aGVsaW4uemhhbmdAaW50ZWwuY29tPjsgSGUsIFNoYW9wZW5nDQo+IDxzaGFvcGVuZy5oZUBp bnRlbC5jb20+DQo+ID4+PiBTdWJqZWN0OiBSZTogW1BBVENIIDMvM10gYXBwL3Rlc3RwbWQ6IGZp eCBjYWxsYmFjayBpc3N1ZSBmb3INCj4gPj4+IGhvdC11bnBsdWcNCj4gPj4+DQo+ID4+PiBtYXRh bg0KPiA+Pj4NCj4gPj4+IE9uIDExLzYvMjAxOCAyOjM2IFBNLCBNYXRhbiBBenJhZCB3cm90ZToN Cj4gPj4+PiBIaSBKZWZmDQo+ID4+Pj4NCj4gPj4+PiAgICBGcm9tOiBKZWZmIEd1byA8amlhLmd1 b0BpbnRlbC5jb20+DQo+ID4+Pj4+IEJlZm9yZSBkZXRhY2ggZGV2aWNlIHdoZW4gZGV2aWNlIGJl IGhvdC11bnBsdWdnZWQsIHRoZSBmYWlsdXJlDQo+ID4+Pj4+IHByb2Nlc3MgaW4gdXNlciBzcGFj ZSBhbmQga2VybmVsIHNwYWNlIGJvdGggbmVlZCB0byBiZSBmaW5pc2hlZCwNCj4gPj4+Pj4gc3Vj aCBhcyBlYWwgaW50ZXJydXB0IGNhbGxiYWNrIG5lZWQgdG8gYmUgaW5hY3RpdmUgYmVmb3JlIHRo ZQ0KPiA+Pj4+PiBjYWxsYmFjayBiZSB1bnJlZ2lzdGVyZWQgd2hlbiBkZXZpY2UgaXMgYmVpbmcg Y2xlYW5lZC4gVGhpcyBwYXRjaA0KPiA+Pj4+PiBhZGQgcnRlIGFsYXJtIGZvciBkZXZpY2UgZGV0 YWNoaW5nLCB3aXRoIHRoYXQgaXQgY291bGQgZmluaXNoDQo+ID4+Pj4+IGludGVycnVwdCBjYWxs YmFjayBzb29uIGFuZCBnaXZlIHRpbWUgdG8gbGV0IHRoZSBmYWlsdXJlIHByb2Nlc3MNCj4gPj4+ Pj4gZG9uZQ0KPiA+PiBiZWZvcmUgZGV0YWNoaW5nLg0KPiA+Pj4+PiBGaXhlczogMjA0OWM1MTEz ZmU4ICgiYXBwL3Rlc3RwbWQ6IHVzZSBob3RwbHVnIGZhaWx1cmUgaGFuZGxlciIpDQo+ID4+Pj4+ IFNpZ25lZC1vZmYtYnk6IEplZmYgR3VvIDxqaWEuZ3VvQGludGVsLmNvbT4NCj4gPj4+Pj4gLS0t DQo+ID4+Pj4+ICAgIGFwcC90ZXN0LXBtZC90ZXN0cG1kLmMgfCAxMyArKysrKysrKysrKystDQo+ ID4+Pj4+ICAgIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p DQo+ID4+Pj4+DQo+ID4+Pj4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jIGIv YXBwL3Rlc3QtcG1kL3Rlc3RwbWQuYyBpbmRleA0KPiA+Pj4+PiA5YzBlZGNhLi45YzY3M2NmIDEw MDY0NA0KPiA+Pj4+PiAtLS0gYS9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jDQo+ID4+Pj4+ICsrKyBi L2FwcC90ZXN0LXBtZC90ZXN0cG1kLmMNCj4gPj4+Pj4gQEAgLTI2MjAsNyArMjYyMCwxOCBAQCBl dGhfZGV2X2V2ZW50X2NhbGxiYWNrKGNvbnN0IGNoYXINCj4gPj4+Pj4gKmRldmljZV9uYW1lLCBl bnVtIHJ0ZV9kZXZfZXZlbnRfdHlwZSB0eXBlLA0KPiA+Pj4+PiAgICAJCQkJZGV2aWNlX25hbWUp Ow0KPiA+Pj4+PiAgICAJCQlyZXR1cm47DQo+ID4+Pj4+ICAgIAkJfQ0KPiA+Pj4+PiAtCQlybXZf ZXZlbnRfY2FsbGJhY2soKHZvaWQgKikoaW50cHRyX3QpcG9ydF9pZCk7DQo+ID4+Pj4+ICsJCS8q DQo+ID4+Pj4+ICsJCSAqIEJlZm9yZSBkZXRhY2ggZGV2aWNlLCB0aGUgaG90LXVucGx1ZyBmYWls dXJlDQo+IHByb2Nlc3MgaW4NCj4gPj4+Pj4gKwkJICogdXNlciBzcGFjZSBhbmQga2VybmVsIHNw YWNlIGJvdGggbmVlZCB0byBiZQ0KPiBmaW5pc2hlZCwNCj4gPj4+Pj4gKwkJICogc3VjaCBhcyBl YWwgaW50ZXJydXB0IGNhbGxiYWNrIG5lZWQgdG8gYmUgaW5hY3RpdmUNCj4gYmVmb3JlDQo+ID4+ Pj4+ICsJCSAqIHRoZSBjYWxsYmFjayBiZSB1bnJlZ2lzdGVyZWQgd2hlbiBkZXZpY2UgaXMgYmVp bmcNCj4gY2xlYW5lZC4NCj4gPj4+Pj4gKwkJICogU28gZmluaXNoZWQgaW50ZXJydXB0IGNhbGxi YWNrIHNvb24gaGVyZSBhbmQgZ2l2ZQ0KPiB0aW1lIHRvDQo+ID4+Pj4+ICsJCSAqIGxldCB0aGUg d29yayBkb25lIGJlZm9yZSBkZXRhY2hpbmcuDQo+ID4+Pj4+ICsJCSAqLw0KPiA+Pj4+PiArCQlp ZiAocnRlX2VhbF9hbGFybV9zZXQoMTAwMDAwLA0KPiA+Pj4+PiArCQkJCXJtdl9ldmVudF9jYWxs YmFjaywgKHZvaWQNCj4gPj4+Pj4gKikoaW50cHRyX3QpcG9ydF9pZCkpDQo+ID4+Pj4+ICsJCQlS VEVfTE9HKEVSUiwgRUFMLA0KPiA+Pj4+PiArCQkJCSJDb3VsZCBub3Qgc2V0IHVwIGRlZmVycmVk IGRldmljZQ0KPiA+Pj4+IEl0IGxvb2tzIG1lIHN0cmFuZ2UgdG8gdXNlIGNhbGxiYWNrIGFuZCBh bGFybSB0byByZW1vdmUgYSBkZXZpY2U6DQo+ID4+Pj4gV2h5IG5vdCB0byB1c2UgY2FsbGJhY2sg YW5kIHRoYXQgaXMgaXQ/DQo+ID4+Pj4NCj4gPj4+PiBJIHRoaW5rIHRoYXQgaXQncyBiZXR0ZXIg dG8gbGV0IHRoZSBFQUwgdG8gZGV0YWNoIHRoZSBkZXZpY2UgYWZ0ZXINCj4gPj4+PiBhbGwgdGhl DQo+ID4+IGNhbGxiYWNrcyB3ZXJlIGRvbmUgYW5kIG5vdCB0byBkbyBpdCBieSB0aGUgdXNlciBj YWxsYmFjay4NCj4gPj4+PiBTbyB0aGUgYXBwbGljYXRpb25cY2FsbGJhY2sgb3duZXJzIGp1c3Qg bmVlZCB0byBjbGVhbiBpdHMgcmVzb3VyY2VzDQo+ID4+Pj4gd2l0aCB1bmRlcnN0YW5kaW5nIHRo YXQgYWZ0ZXIgdGhlIGNhbGxiYWNrIHRoZSBkZXZpY2UoYW5kIHRoZQ0KPiA+Pj4+IGNhbGxiYWNr DQo+ID4+PiBpdHNlbGYpIHdpbGwgYmUgZGV0YWNoZWQgYnkgdGhlIEVBTC4NCj4gPj4+DQo+ID4+ Pg0KPiA+Pj4gRmlyc3RseSwgYXQgdGhlIGN1cnJlbnRseSBmcmFtZXdvcmsgYW5kIHNvbHV0aW9u LCBzdWNoIGFzIGNhbGxiYWNrDQo+ID4+PiBmb3IgUlRFX0VUSF9FVkVOVF9JTlRSX1JNViwgc3Rp bGwgbmVlZCB0byB1c2UgdGhlIGRlZmVycmVkIGRldmljZQ0KPiA+PiByZW1vdmFsLA0KPiA+Pj4g d2UgdGVuZCB0byBnaXZlIHRoZSBjb250cm9sIG9mIGRldGFjaGluZyBkZXZpY2UgdG8gdGhlIGFw cGxpY2F0aW9uLA0KPiA+Pj4gYW5kIHRoZSB3aG9sZSBwcm9jZXNzIGlzIGxvY2F0ZWQgb24gdGhl IHVzZXIncyBjYWxsYmFjay4gTm90aWZ5IGFwcA0KPiA+Pj4gdG8gZGV0YWNoIGRldmljZSBieSBj YWxsYmFjayBidXQgbWFrZSBpdCBkZWZlcnJlZCwgaSB0aGluayBpdCBpcyBmaW5lLg0KPiA+IEJ1 dCB0aGUgZGV2aWNlIG11c3QgYmUgZGV0YWNoZWQgaW4gcmVtb3ZlIGV2ZW50LCB3aHkgbm90IHRv IGRvIGl0IGluIEVBTD8NCj4gDQo+IA0KPiBJIHRoaW5rIGl0IGJlY2F1c2Ugb2YgYmVmb3JlIGRl dGFjaGVkIHRoZSBkZXZpY2UsIGFwcGxpY2F0aW9uIHNob3VsZCBiZSBzdG9wDQo+IHRoZSBmb3J3 YXJkaW5nIGF0IGZpcnN0LCB0aGVuIHN0b3AgdGhlIGRldmljZSwgdGhlbiBjbG9zZQ0KPiANCj4g dGhlIGRldmljZSwgZmluYWxseSBjYWxsIGVhbCB1bnBsdWcgQVBJIHRvIGRldGFjaCBkZXZpY2Uu IElmIGVhbCBkaXJlY3RseSBkZXRhY2gNCj4gZGV2aWNlIGF0IHRoZSBmaXJzdCBzdGVwLCB0aGVy ZSB3aWxsIGJlIG1vdW50YWluIHVzZXIgc3BhY2UgZXJyb3IgbmVlZCB0bw0KPiBoYW5kbGUsIHNv IHRoYXQgaXMgb25lIHJlYXNvbiB3aHkgbmVlZCB0byBwcm92aWRlciB0aGUgcmVtb3ZlIG5vdGlm aWNhdGlvbg0KPiB0byBhcHAsIGFuZCBsZXQgYXBwIHRvIHByb2Nlc3MgaXQuDQoNCg0KVGhpcyBp cyB3aHkgdGhlIEVBTCBuZWVkIHRvIGRldGFjaCB0aGUgZGV2aWNlIG9ubHkgYWZ0ZXIgYWxsIHRo ZSB1c2VyIGNhbGxiYWNrcyB3ZXJlIGRvbmUuDQoNCj4gDQo+IA0KPiA+PiBJdCBpcyBhbHNvIHVu Y2xlYXIgdG8gbWUgbXkgd2UgbmVlZCBhbiBhbGFybSBoZXJlLg0KPiA+PiBGaXJzdCAocHJvYmFi bHkgd3JvbmcpIGltcHJlc3Npb24gd2UganVzdCB0cnkgdG8gaGlkZSBzb21lDQo+ID4+IHN5bmNo cm9uaXphdGlvbiBQcm9ibGVtIGJ5IGludHJvZHVjaW5nIGRlbGF5Lg0KPiA+IExvb2tzIGxpa2Us IHRoZSBpc3N1ZSBpcyB0aGF0IHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtZW1vcnkgd2lsbCBiZSBy ZW1vdmVkDQo+IGZyb20gdGhlIGZ1bmN0aW9uIGl0c2VsZiAoYnkgdGhlIGRldGFjaCBjYWxsKSwg bm8/DQo+IA0KPiANCj4gQW5zd2VyIGhlcmUgZm9yIGJvdGggS29uc3RhbnRpbiBhbmQgTWF0YW4u DQo+IA0KPiBZZXMsIGkgdGhpbmsgbWF0YW4gaXMgcmlnaHQsIHRoZSBpbnRlcnJ1cHQgY2FsbGJh Y2sgd2lsbCBiZSBkZXN0cm95IGluIHRoZSBhcHANCj4gY2FsbGJhY2sgaXRzZWxmLCB0aGUgc2Vx dWVuY2UgaXMgdGhhdCBhcyBiZWxvdw0KPiANCj4gaG90LXVucGx1ZyBpbnRlcnJ1cHQgLT4gaW50 ZXJydXB0IGNhbGxiYWNrIC0+IGFwcCBjYWxsYmFjayhyZXR1cm4gdG8gZmluaXNoDQo+IGludGVy cnVwdCBjYWxsYmFjaywgZGVsYXkgZGV0YWNoaW5nKSAtPiBkZXRhY2ggZGV2aWNlKHVucmVnaXN0 ZXIgaW50ZXJydXB0DQo+IGNhbGxiYWNrKQ0KPiANCj4gDQo+ID4+IEtvbnN0YW50aW4NCj4gPj4N Cj4gPj4+IFNlY29uZGx5LCB0aGUgdmZpbyBpcyBkaWZmZXJlbnQgd2l0aCBpZ2JfdWlvIGZvciBo b3QtdW5wbHVnLCBpdA0KPiA+Pj4gcmVnaXN0ZXIvdW5yZWdpc3RlciBob3RwbHVnIGludGVycnVw dCBjYWxsYmFjayBmb3IgZWFjaCBkZXZpY2UsIHNvDQo+ID4+PiBuZWVkIHRvIG1ha2XCoCB0aGUg Y2FsbGJhY2sgZG9uZSBiZWZvcmUgdW5yZWdpc3RlciB0aGUgY2FsbGJhY2suDQo+ID4+Pg0KPiA+ Pj4gU28gSSB0aGluayBpdCBzaG91bGQgYmUgY29uc2lkZXJhdGUgYXMgYW4gd29ya2Fyb3VuZCBo ZXJlLCBiZWZvcmUgd2UNCj4gPj4+IGZpbmQgYSBiZXR0ZXIgd2F5Lg0KPiA+Pj4NCj4gPj4+DQo+ ID4+Pj4+IHJlbW92YWxcbiIpOw0KPiA+Pj4+PiAgICAJCWJyZWFrOw0KPiA+Pj4+PiAgICAJY2Fz ZSBSVEVfREVWX0VWRU5UX0FERDoNCj4gPj4+Pj4gICAgCQlSVEVfTE9HKEVSUiwgRUFMLCAiVGhl IGRldmljZTogJXMgaGFzIGJlZW4NCj4gYWRkZWQhXG4iLA0KPiA+Pj4+PiAtLQ0KPiA+Pj4+PiAy LjcuNA0K