From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <matan@mellanox.com>
Received: from EUR02-VE1-obe.outbound.protection.outlook.com
 (mail-eopbgr20082.outbound.protection.outlook.com [40.107.2.82])
 by dpdk.org (Postfix) with ESMTP id 27FCE1B606
 for <dev@dpdk.org>; Wed, 27 Jun 2018 08:05:37 +0200 (CEST)
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=InMMFBKMcfN9CZwBbYyMCimqMMLdlnoHDdc9gxqfMhc=;
 b=njL8O3F23U49GSOILJc2iFkDvrACt5hfaiOPBmLRyWvjxxrfnuju6rWi2EAVHjYGoQoOBk8W9ic1jp0oMCPG2R+F9xEeM5gdRri8sibfNqKNjnVbYxCTcJSRWNKi+2jXcRDCR1wrAdF+impk4xKmfeEDOvz9Ji+KaL1aZ/ae0pc=
Received: from VI1PR0501MB2608.eurprd05.prod.outlook.com (10.168.137.20) by
 VI1PR0501MB2176.eurprd05.prod.outlook.com (10.169.134.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.906.23; Wed, 27 Jun 2018 06:05:33 +0000
Received: from VI1PR0501MB2608.eurprd05.prod.outlook.com
 ([fe80::9dd0:9bdb:fd59:b615]) by VI1PR0501MB2608.eurprd05.prod.outlook.com
 ([fe80::9dd0:9bdb:fd59:b615%7]) with mapi id 15.20.0884.024; Wed, 27 Jun 2018
 06:05:33 +0000
From: Matan Azrad <matan@mellanox.com>
To: "Guo, Jia" <jia.guo@intel.com>, "stephen@networkplumber.org"
 <stephen@networkplumber.org>, "bruce.richardson@intel.com"
 <bruce.richardson@intel.com>, "ferruh.yigit@intel.com"
 <ferruh.yigit@intel.com>, "konstantin.ananyev@intel.com"
 <konstantin.ananyev@intel.com>, "gaetan.rivet@6wind.com"
 <gaetan.rivet@6wind.com>, "jingjing.wu@intel.com" <jingjing.wu@intel.com>,
 Thomas Monjalon <thomas@monjalon.net>, Mordechay Haimovsky
 <motih@mellanox.com>, "harry.van.haaren@intel.com"
 <harry.van.haaren@intel.com>, "qi.z.zhang@intel.com" <qi.z.zhang@intel.com>,
 "shaopeng.he@intel.com" <shaopeng.he@intel.com>,
 "bernard.iremonger@intel.com" <bernard.iremonger@intel.com>
CC: "jblunck@infradead.org" <jblunck@infradead.org>, "shreyansh.jain@nxp.com"
 <shreyansh.jain@nxp.com>, "dev@dpdk.org" <dev@dpdk.org>,
 "helin.zhang@intel.com" <helin.zhang@intel.com>
Thread-Topic: [PATCH V3 4/4] app/testpmd: show example to handle hot unplug
Thread-Index: AQHUDWPMCmWzcB85SEKRS7u483VQVaRywyCAgAC3uYCAAB5soA==
Date: Wed, 27 Jun 2018 06:05:33 +0000
Message-ID: <VI1PR0501MB260803F8FB6694E40B6200D8D2480@VI1PR0501MB2608.eurprd05.prod.outlook.com>
References: <1498711073-42917-1-git-send-email-jia.guo@intel.com>
 <1530027372-24233-1-git-send-email-jia.guo@intel.com>
 <1530027372-24233-4-git-send-email-jia.guo@intel.com>
 <VI1PR0501MB2608BF72DFF970DD8558B076D2490@VI1PR0501MB2608.eurprd05.prod.outlook.com>
 <94e4601e-0f20-2693-5672-64ede044c104@intel.com>
In-Reply-To: <94e4601e-0f20-2693-5672-64ede044c104@intel.com>
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; VI1PR0501MB2176;
 7:AYemqVvgY2PkPxUurMPtEYsvP8odc6JLSIzH92GvVxAPIAcA6bbs8ZwHz7HAQYE8LcnTuAtmh0K3dFHtBpXAiO/bi8784qudSh0zGWeiU2fpt6gDRuYV6ZGsLD8/GLbAl7HvoanAhJ3MeyIOuF1uhamxkfI5WATKOPl5Qe51J7LX7erw0aDA41wWGYJ/2nbmeMt70Te/W4ZNLNrSV22tNP9h4iuA1G+S3NknK+FSy62ouxHu87suXoYaE4EQU05y
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 6dd9fda5-3e72-4b33-4e7b-08d5dbf3fe53
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020);
 SRVR:VI1PR0501MB2176; 
x-ms-traffictypediagnostic: VI1PR0501MB2176:
x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr
x-microsoft-antispam-prvs: <VI1PR0501MB217659C8D83C2B2F8C36E81AD2480@VI1PR0501MB2176.eurprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(185117386973197)(228905959029699);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123558120)(6072148)(201708071742011)(7699016);
 SRVR:VI1PR0501MB2176; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0501MB2176; 
x-forefront-prvs: 0716E70AB6
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(39860400002)(346002)(136003)(376002)(366004)(396003)(189003)(199004)(51444003)(7736002)(256004)(14444005)(5024004)(5250100002)(2501003)(74316002)(81156014)(8936002)(81166006)(8676002)(54906003)(3846002)(6116002)(305945005)(446003)(99286004)(478600001)(110136005)(6506007)(2906002)(11346002)(33656002)(14454004)(186003)(102836004)(26005)(2900100001)(53546011)(106356001)(2201001)(6246003)(4326008)(105586002)(66066001)(316002)(68736007)(7696005)(76176011)(25786009)(229853002)(86362001)(55016002)(53936002)(97736004)(476003)(486006)(7416002)(5660300001)(93886005)(6436002)(9686003)(921003)(1121003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0501MB2176;
 H:VI1PR0501MB2608.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: iU0d86XYU7JPGVLf9wNhnyZdwdlfEUyKiSH7SobOLtsGvZPu7Gjt7y2pTg6CoHF7Cw6W3BKsmCXIFdwWrpwkiqwl28l32zWdPUOd/OTZ5SMLjX0ytIJddZJrkNGGhdz/iuk32YwSBRSokEnNAtf2N/7F9nRUpipnS1Owpx4Kn8ImLq05cMC3gLGrrVBsDW6Ia+41CVMqThrbX3CNRZAl0RpbiuqlKV3qVKnJ5iCZNwaHdoGvtMnp5vOYQojeMqK8VCNBKYRw7nWup11IokfyGQncIT1t2waijbnB7CP5LWjSd/cGZpaeHQ22+yxVK+kHcYLxnjmY9hna+jyYigSoi1aL3lPDxgMf+w1LWeOjfhY=
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: 6dd9fda5-3e72-4b33-4e7b-08d5dbf3fe53
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jun 2018 06:05:33.2107 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2176
Subject: Re: [dpdk-dev] [PATCH V3 4/4] app/testpmd: show example to handle
	hot unplug
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Jun 2018 06:05:37 -0000

SGkgR3VvDQoNCkZyb206IEd1bywgSmlhDQo+IFNlbnQ6IFdlZG5lc2RheSwgSnVuZSAyNywgMjAx
OCA2OjU2IEFNDQo+IFRvOiBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFub3guY29tPjsgc3RlcGhl
bkBuZXR3b3JrcGx1bWJlci5vcmc7DQo+IGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOyBmZXJy
dWgueWlnaXRAaW50ZWwuY29tOw0KPiBrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tOyBnYWV0
YW4ucml2ZXRANndpbmQuY29tOw0KPiBqaW5namluZy53dUBpbnRlbC5jb207IFRob21hcyBNb25q
YWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47DQo+IE1vcmRlY2hheSBIYWltb3Zza3kgPG1vdGlo
QG1lbGxhbm94LmNvbT47IGhhcnJ5LnZhbi5oYWFyZW5AaW50ZWwuY29tOw0KPiBxaS56LnpoYW5n
QGludGVsLmNvbTsgc2hhb3BlbmcuaGVAaW50ZWwuY29tOyBiZXJuYXJkLmlyZW1vbmdlckBpbnRl
bC5jb20NCj4gQ2M6IGpibHVuY2tAaW5mcmFkZWFkLm9yZzsgc2hyZXlhbnNoLmphaW5AbnhwLmNv
bTsgZGV2QGRwZGsub3JnOw0KPiBoZWxpbi56aGFuZ0BpbnRlbC5jb20NCj4gU3ViamVjdDogUmU6
IFtQQVRDSCBWMyA0LzRdIGFwcC90ZXN0cG1kOiBzaG93IGV4YW1wbGUgdG8gaGFuZGxlIGhvdCB1
bnBsdWcNCj4gDQo+IGhpLCBtYW50YW4NCj4gDQo+IA0KPiBPbiA2LzI3LzIwMTggMTowNyBBTSwg
TWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4gSGkgSmVmZg0KPiA+DQo+ID4gQ29udGludWUgc2Vzc2lv
biBmcm9tIGxhc3QgdmVyc2lvbiArIG1vcmUgY29tbWVudHNccXVlc3Rpb24uDQo+ID4NCj4gPiBG
cm9tOiBKZWZmIEd1bw0KPiA+PiBTZW50OiBUdWVzZGF5LCBKdW5lIDI2LCAyMDE4IDY6MzYgUE0N
Cj4gPj4gVG86IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBicnVjZS5yaWNoYXJkc29uQGlu
dGVsLmNvbTsNCj4gPj4gZmVycnVoLnlpZ2l0QGludGVsLmNvbTsga29uc3RhbnRpbi5hbmFueWV2
QGludGVsLmNvbTsNCj4gPj4gZ2FldGFuLnJpdmV0QDZ3aW5kLmNvbTsgamluZ2ppbmcud3VAaW50
ZWwuY29tOyBUaG9tYXMgTW9uamFsb24NCj4gPj4gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBNb3Jk
ZWNoYXkgSGFpbW92c2t5IDxtb3RpaEBtZWxsYW5veC5jb20+Ow0KPiA+PiBNYXRhbiBBenJhZCA8
bWF0YW5AbWVsbGFub3guY29tPjsgaGFycnkudmFuLmhhYXJlbkBpbnRlbC5jb207DQo+ID4+IHFp
LnouemhhbmdAaW50ZWwuY29tOyBzaGFvcGVuZy5oZUBpbnRlbC5jb207DQo+ID4+IGJlcm5hcmQu
aXJlbW9uZ2VyQGludGVsLmNvbQ0KPiA+PiBDYzogamJsdW5ja0BpbmZyYWRlYWQub3JnOyBzaHJl
eWFuc2guamFpbkBueHAuY29tOyBkZXZAZHBkay5vcmc7DQo+ID4+IGppYS5ndW9AaW50ZWwuY29t
OyBoZWxpbi56aGFuZ0BpbnRlbC5jb20NCj4gPj4gU3ViamVjdDogW1BBVENIIFYzIDQvNF0gYXBw
L3Rlc3RwbWQ6IHNob3cgZXhhbXBsZSB0byBoYW5kbGUgaG90DQo+ID4+IHVucGx1Zw0KPiA+Pg0K
PiA+PiBVc2UgdGVzdHBtZCBmb3IgZXhhbXBsZSwgdG8gc2hvdyBob3cgYW4gYXBwbGljYXRpb24g
c21vb3RobHkgaGFuZGxlDQo+ID4+IGZhaWx1cmUgd2hlbiBkZXZpY2UgYmVpbmcgaG90IHVucGx1
Zy4gSWYgYXBwIGhhdmUgZW5hYmxlZCB0aGUgZGV2aWNlDQo+ID4+IGV2ZW50IG1vbml0b3IgYW5k
IHJlZ2lzdGVyIHRoZSBob3QgcGx1ZyBldmVudOKAmXMgY2FsbGJhY2sgYmVmb3JlDQo+ID4+IHJ1
bm5pbmcsIG9uY2UgYXBwIGRldGVjdCB0aGUgcmVtb3ZhbCBldmVudCwgdGhlIGNhbGxiYWNrIHdv
dWxkIGJlDQo+ID4+IGNhbGxlZC4gSXQgd2lsbCBmaXJzdCBzdG9wIHRoZSBwYWNrZXQgZm9yd2Fy
ZGluZywgdGhlbiBzdG9wIHRoZSBwb3J0LA0KPiA+PiBjbG9zZSB0aGUgcG9ydCwgYW5kIGZpbmFs
bHkgZGV0YWNoIHRoZSBwb3J0IHRvIHJlbW92ZSB0aGUgZGV2aWNlIG91dCBmcm9tIHRoZQ0KPiBk
ZXZpY2UgbGlzdHMuDQo+ID4+DQo+ID4+IFNpZ25lZC1vZmYtYnk6IEplZmYgR3VvIDxqaWEuZ3Vv
QGludGVsLmNvbT4NCj4gPj4gLS0tDQo+ID4+IHYzLT52MjoNCj4gPj4gZGVsZXRlIHNvbWUgdW51
c2VkIGNoZWNrDQo+ID4+IC0tLQ0KPiA+PiAgIGFwcC90ZXN0LXBtZC90ZXN0cG1kLmMgfCAyMiAr
KysrKysrKysrKysrKysrKy0tLS0tDQo+ID4+ICAgMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlv
bnMoKyksIDUgZGVsZXRpb25zKC0pDQo+ID4+DQo+ID4+IGRpZmYgLS1naXQgYS9hcHAvdGVzdC1w
bWQvdGVzdHBtZC5jIGIvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQuYyBpbmRleA0KPiA+PiAyNGMxOTk4
Li4yZWU1NjIxIDEwMDY0NA0KPiA+PiAtLS0gYS9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jDQo+ID4+
ICsrKyBiL2FwcC90ZXN0LXBtZC90ZXN0cG1kLmMNCj4gPj4gQEAgLTE5NTEsOSArMTk1MSwxMCBA
QCBldGhfZGV2X2V2ZW50X2NhbGxiYWNrX3VucmVnaXN0ZXIodm9pZCkNCj4gPj4gICB2b2lkDQo+
ID4+ICAgYXR0YWNoX3BvcnQoY2hhciAqaWRlbnRpZmllcikNCj4gPj4gICB7DQo+ID4+IC0JcG9y
dGlkX3QgcGkgPSAwOw0KPiA+PiAgIAl1bnNpZ25lZCBpbnQgc29ja2V0X2lkOw0KPiA+Pg0KPiA+
PiArCXBvcnRpZF90IHBpID0gcnRlX2V0aF9kZXZfY291bnRfYXZhaWwoKTsNCj4gPj4gKw0KPiA+
IEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGlzIGNoYW5nZS4uLiBjYW4geW91IGV4cGxhaW4/DQo+IA0K
PiB0aGluayBhYm91dCBpZiB0aGVyZSBhcmUgMiBvciBtb3JlIGRldmljZSBoYXZlIGJlZW4gYXR0
YWNoZWQ/IFRoZSBuZXcgZGV2aWNlDQo+IHNob3VsZCBub3QgYWx3YXlzIGFkZCBpbnRvIHBvcnQg
MCwgcmlnaHQ/DQoNCkkgdGhpbmsgeW91IG1pc3MgaGVyZSBzb21ldGhpbmcsIHlvdSBhcmUgZ2V0
dGluZyB0aGUgcG9ydCBpZCBmcm9tIGV0aGRldiwgeW91IGFyZSBqdXN0IHBhc3NpbmcgYSBwb2lu
dGVyIHRvIGdldCBpdC4NCkkgdGhpbmsgeW91IHNob3VsZCByZW1vdmUgdGhpcyBjaGFuZ2UgdG9v
Lg0KDQo+IA0KPiA+PiAgIAlwcmludGYoIkF0dGFjaGluZyBhIG5ldyBwb3J0Li4uXG4iKTsNCj4g
Pj4NCj4gPj4gICAJaWYgKGlkZW50aWZpZXIgPT0gTlVMTCkgew0KPiA+PiBAQCAtMjEyNSwxNiAr
MjEyNiwyMiBAQCBjaGVja19hbGxfcG9ydHNfbGlua19zdGF0dXModWludDMyX3QNCj4gPj4gcG9y
dF9tYXNrKSBzdGF0aWMgdm9pZCAgcm12X2V2ZW50X2NhbGxiYWNrKHZvaWQgKmFyZykgIHsNCj4g
Pj4gKwlzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldjsNCj4gPj4gKw0KPiA+PiAgIAlpbnQgbmVlZF90
b19zdGFydCA9IDA7DQo+ID4+ICAgCWludCBvcmdfbm9fbGlua19jaGVjayA9IG5vX2xpbmtfY2hl
Y2s7DQo+ID4+ICAgCXBvcnRpZF90IHBvcnRfaWQgPSAoaW50cHRyX3QpYXJnOw0KPiA+Pg0KPiA+
PiAgIAlSVEVfRVRIX1ZBTElEX1BPUlRJRF9PUl9SRVQocG9ydF9pZCk7DQo+ID4+ICsJZGV2ID0g
JnJ0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXTsNCj4gPj4gKw0KPiA+PiArCXByaW50ZigicmVtb3Zp
bmcgZGV2aWNlICVzXG4iLCBkZXYtPmRldmljZS0+bmFtZSk7DQo+ID4+DQo+ID4+ICAgCWlmICgh
dGVzdF9kb25lICYmIHBvcnRfaXNfZm9yd2FyZGluZyhwb3J0X2lkKSkgew0KPiA+PiAgIAkJbmVl
ZF90b19zdGFydCA9IDE7DQo+ID4+ICAgCQlzdG9wX3BhY2tldF9mb3J3YXJkaW5nKCk7DQo+ID4+
ICAgCX0NCj4gPj4gKw0KPiA+IEkgZG9uJ3QgdGhpbmsgeW91IG5lZWQgdG8gY2hhbmdlIGFueXRo
aW5nIGluIHRoaXMgZnVuY3Rpb24uDQo+ID4gWW91IGNhbiBhZGQgdGhlIHByaW50IGluIHRoZSBj
YWxsZXIgY29kZS4NCj4gDQo+IG9rLCBpIGFtIGZpbmUgZm9yIHlvdXIgcG9pbnQuDQo+IA0KPiA+
PiAgIAlub19saW5rX2NoZWNrID0gMTsNCj4gPj4gICAJc3RvcF9wb3J0KHBvcnRfaWQpOw0KPiA+
PiAgIAlub19saW5rX2NoZWNrID0gb3JnX25vX2xpbmtfY2hlY2s7DQo+ID4gU3VnZ2VzdGlvbiBm
b3Igc3luY2hyb25pemF0aW9uOg0KPiA+IERvbid0IHJlZ2lzdGVyIHRvIGV0aGRldiBSTVYgZXZl
bnQgaWYgRUFMIGhvdHBsdWcgaXMgZW5hYmxlZC4NCj4gDQo+IGkgdGhpbmsgdGhhdCB3aGF0IHlv
dSBwcm9wb3NlIG1pZ2h0IGJlIGEgY2hvc2UgcmlnaHQgbm93LCBhbmQgbWlnaHQgbmVlZCB3ZQ0K
PiB0aGluayBtb3JlIGFib3V0IHRoZSBiZXR0ZXIgZm9yIGFsbCwgYnV0IGRvIHlvdSBhZ3JlZSBp
dCBpcyBiZXR0ZXIgc3BsaXQgaXQgaW4NCj4gYW5vdGhlciBmaXggcGF0Y2gsIHRvIGxldCBpdCBw
YXRjaCBmb2N1cyBvbiB0aGUgZmVhdHVyZSBwcm9wb3NlIGFuZCBpbXBsZW1lbnQ/DQoNClNvLCBB
cmUgeW91IHN1Z2dlc3RpbmcgdG8gaW5zZXJ0IGEgYnVnIGFuZCB0aGVuIHRvIGZpeCBpdCA/OikN
Cg0KTXkgc3VnZ2VzdGlvbjoNCkFkZCBhIHByaW9yIHBhdGNoIHRvIGRlcGVuZCB0aGUgZXRoZGV2
IFJNViBldmVudCBieSBhIHVzZXIgcGFyYW1ldGVyIChjYW4gYmUgeW91ciBob3RwbHVnIHBhcmFt
ZXRlciBhbmQgc2hvdWxkIGJlIHRydWUgYnkgZGVmYXVsdCkuDQpJbiB0aGlzIHBhdGNoIGFkZCBv
bmUgbW9yZSBtb2RlIHRvIHRoZSBwYXJhbWV0ZXIgdG8gZW5hYmxlIGhvdHBsdWcgYnkgdGhlIEVB
TC4gDQoNClNvIGZpbmFsbHkgdGhlIG9wdGlvbnMgb2YgaG90cGx1ZyBwYXJhbWV0ZXIgY2FuIGJl
Og0KMCAtIGZvciBubyBob3RwbHVnIGhhbmRsZS4NCjEgLSBldGhkZXYgaG90cGx1ZyAoc2hvdWxk
IGJlIHRoZSBkZWZhdWx0KQ0KMiAtIEVBTCBob3RwbHVnDQoNCldoYXQgZG8geW91IHRoaW5rPw0K
DQo+ID4+IEBAIC0yMTk2LDYgKzIyMDMsOSBAQCBzdGF0aWMgdm9pZA0KPiA+PiAgIGV0aF9kZXZf
ZXZlbnRfY2FsbGJhY2soY2hhciAqZGV2aWNlX25hbWUsIGVudW0gcnRlX2Rldl9ldmVudF90eXBl
DQo+IHR5cGUsDQo+ID4+ICAgCQkJICAgICBfX3J0ZV91bnVzZWQgdm9pZCAqYXJnKQ0KPiA+PiAg
IHsNCj4gPj4gKwl1aW50MTZfdCBwb3J0X2lkOw0KPiA+PiArCWludCByZXQ7DQo+ID4+ICsNCj4g
Pj4gICAJaWYgKHR5cGUgPj0gUlRFX0RFVl9FVkVOVF9NQVgpIHsNCj4gPj4gICAJCWZwcmludGYo
c3RkZXJyLCAiJXMgY2FsbGVkIHVwb24gaW52YWxpZCBldmVudCAlZFxuIiwNCj4gPj4gICAJCQlf
X2Z1bmNfXywgdHlwZSk7DQo+ID4+IEBAIC0yMjA2LDkgKzIyMTYsMTIgQEAgZXRoX2Rldl9ldmVu
dF9jYWxsYmFjayhjaGFyICpkZXZpY2VfbmFtZSwNCj4gZW51bQ0KPiA+PiBydGVfZGV2X2V2ZW50
X3R5cGUgdHlwZSwNCj4gPj4gICAJY2FzZSBSVEVfREVWX0VWRU5UX1JFTU9WRToNCj4gPj4gICAJ
CVJURV9MT0coRVJSLCBFQUwsICJUaGUgZGV2aWNlOiAlcyBoYXMgYmVlbiByZW1vdmVkIVxuIiwN
Cj4gPj4gICAJCQlkZXZpY2VfbmFtZSk7DQo+ID4+IC0JCS8qIFRPRE86IEFmdGVyIGZpbmlzaCBm
YWlsdXJlIGhhbmRsZSwgYmVnaW4gdG8gc3RvcA0KPiA+PiAtCQkgKiBwYWNrZXQgZm9yd2FyZCwg
c3RvcCBwb3J0LCBjbG9zZSBwb3J0LCBkZXRhY2ggcG9ydC4NCj4gPj4gLQkJICovDQo+ID4+ICsJ
CXJldCA9IHJ0ZV9ldGhfZGV2X2dldF9wb3J0X2J5X25hbWUoZGV2aWNlX25hbWUsICZwb3J0X2lk
KTsNCj4gPj4gKwkJaWYgKHJldCkgew0KPiA+PiArCQkJcHJpbnRmKCJjYW4gbm90IGdldCBwb3J0
IGJ5IGRldmljZSAlcyFcbiIsDQo+ID4+IGRldmljZV9uYW1lKTsNCj4gPj4gKwkJCXJldHVybjsN
Cj4gPj4gKwkJfQ0KPiA+PiArCQlybXZfZXZlbnRfY2FsbGJhY2soKHZvaWQgKikoaW50cHRyX3Qp
cG9ydF9pZCk7DQo+ID4+ICAgCQlicmVhazsNCj4gPj4gICAJY2FzZSBSVEVfREVWX0VWRU5UX0FE
RDoNCj4gPj4gICAJCVJURV9MT0coRVJSLCBFQUwsICJUaGUgZGV2aWNlOiAlcyBoYXMgYmVlbiBh
ZGRlZCFcbiIsIEBAIC0NCj4gPj4gMjczNiw3ICsyNzQ5LDYgQEAgbWFpbihpbnQgYXJnYywgY2hh
cioqIGFyZ3YpDQo+ID4+ICAgCQkJcmV0dXJuIC0xOw0KPiA+PiAgIAkJfQ0KPiA+PiAgIAkJZXRo
X2Rldl9ldmVudF9jYWxsYmFja19yZWdpc3RlcigpOw0KPiA+PiAtDQo+ID4+ICAgCX0NCj4gPj4N
Cj4gPj4gICAJaWYgKHN0YXJ0X3BvcnQoUlRFX1BPUlRfQUxMKSAhPSAwKQ0KPiA+PiAtLQ0KPiA+
PiAyLjcuNA0KDQo=