From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id B1971A052F for ; Thu, 23 Jan 2020 20:25:55 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 736C12A62; Thu, 23 Jan 2020 20:25:55 +0100 (CET) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10078.outbound.protection.outlook.com [40.107.1.78]) by dpdk.org (Postfix) with ESMTP id E3FCC2A62; Thu, 23 Jan 2020 20:25:53 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nuCaXY5oQuZRp+smddbk3XKigs41b5euiHlnUbMX8c4BH8Kc5GpzfOAjcI9tl+P1pGIn4GFEemR2rr9ACip3UTOdVBiLuVcHwf82GkMHBAyeq+YyMI8Z+UiV/84BovDfIfRh/uVhSCnj9dHMjRjzPsanMc2l+tcA7usiN9FSX71aw9xW5AoomhEE0raffwZj22/MRzcZdxcE2dPDkwXFUhDc4OgCIsEIUTCJEWzLqBncrRW/HiBFd6VoJmmhWo8v0gh8Rbx8EsDbVicjBK05VPKXam6PnDNSJhcYMSbMUkKILRM0y0vnxIYUwTppOJCW/4LuZPbzfZiNF83eNqweeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VYo+wi5r+krUDKnU36zJIiNpecV00qzf+0+BH9K7msw=; b=PXLwk8Iv3S+S5m+YHFLcai83H11WWE7LTFwUhRJWEdZFewIAW7irb26lczpBLH2j9lFFbBCBEMKhtKdO96SnnsLzmZ9qAh8X7hLXKlCZCtW78RMInZNy9Za+3QaYhVjcrgRwlBv1Q2ptHn8G+eGXrtXwFdfx2ymRKK3wIAFh+1uwKTHSamLp4G+NkPSHLtuj7IrSawXs7XW/1ZkYUX0it9CkBE2OEtZ3kNnra28oFfVDL5lMbiGjK5sBsk/crVpQB0pfLH40UI/9RwJK1+lvGHSg4dsTStNTt3psGIYV9McUeJvZQj56Vgf5Wbndn0Zn/7ITPyZTRKgxDgshGzKG7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none 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=VYo+wi5r+krUDKnU36zJIiNpecV00qzf+0+BH9K7msw=; b=RP5BaQ3veG+2LuQyZt8v3A1GKVO6t9enK8pF0KCD+Mo0oVLU1j3Q0Xb/jVHpI6xsolrkZ0xCDBwA/vDjvFJYnYdc9vRRaVicJq/8c2V/HxC5NV1H6K2iorfAAhf9bOOyjpWi5iVp6huctSIZFFsc66X9rqIGQ79H7AP671feoeo= Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com (52.133.39.139) by AM0PR0502MB3602.eurprd05.prod.outlook.com (52.133.43.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2644.22; Thu, 23 Jan 2020 19:25:52 +0000 Received: from AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::e495:9258:db09:1de8]) by AM0PR0502MB4019.eurprd05.prod.outlook.com ([fe80::e495:9258:db09:1de8%7]) with mapi id 15.20.2644.027; Thu, 23 Jan 2020 19:25:52 +0000 From: Matan Azrad To: Ferruh Yigit , "Yigit, Ferruh" , "dev@dpdk.org" , Bernard Iremonger CC: Gaetan Rivet , Thomas Monjalon , "stable@dpdk.org" , David Marchand , Jeff Guo , Qi Zhang Thread-Topic: [dpdk-stable] [dpdk-dev] [PATCH 2/2] app/testpmd: fix invalid port detaching Thread-Index: AQHVmTXi86tTdzAeWkqyvnlr7fOHC6f4rRKAgAAHfBCAABFJAIAACPCwgAAwmQCAAARtQA== Date: Thu, 23 Jan 2020 19:25:52 +0000 Message-ID: References: <1573548459-6931-1-git-send-email-matan@mellanox.com> <1573548459-6931-2-git-send-email-matan@mellanox.com> <19a86d69-9bcc-42c9-b000-98b3860de42f@intel.com> <4df501fa-06d8-744d-27cd-f5742992e109@intel.com> In-Reply-To: <4df501fa-06d8-744d-27cd-f5742992e109@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: [77.125.13.245] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: d69f8021-efb9-40b4-b95e-08d7a03a0f65 x-ms-traffictypediagnostic: AM0PR0502MB3602: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 029174C036 x-forefront-antispam-report: SFV:NSPM; SFS:(10001)(10009020)(4636009)(366004)(199004)(189003)(66476007)(76116006)(66946007)(110136005)(66446008)(64756008)(66556008)(7696005)(966005)(30864003)(4326008)(81166006)(81156014)(2906002)(8676002)(7416002)(5660300002)(54906003)(71200400001)(6506007)(86362001)(26005)(33656002)(55016002)(186003)(45080400002)(52536014)(8936002)(53546011)(498600001)(9686003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3602; H:AM0PR0502MB4019.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0mYjo40RD8NjmmPFoxE0KWhX8r1oZQ+436bAXQPAifuxUf/N3nH/NrmlOKPvNFcvl5bdWP7K+UUCrLj62lNTpzjgV7MDiDaO+oLzf5EI6sHC8SC1ToB8h8Dqxc9JMdsYDpQCSkqGfG0nSvmiitZAHgN5iF1o0JEQg2r7VznkYHueAI9Ln43kvXgWIa6ZLNoVG7q7ZeKwyFcaZ8I53L6ekJ1XyUJn5lX+4oIEYS2xxUIblxyaZqUnftBNUrpCH6DnRn/4Qxsnyg3ij28y2DoY+oJyk7zHQqke0Bp0GN9ZwQLt180YJBSBgBRmjBGtGn822SGgHKkJjL8zfNG8l5tOOLYT6eM9ZC/gdjiWQHBoo1Njxzzn0nKTqb7kf9+Z1Vppm9Cjn72KCRTD2Z5elH3EgoHC4P1I6f5sTc64UxuxG0VaGodgH/cZ5ORYh336bjiAhSyNc2lR19IzHbvCkidw1zdWfAdVTUMgbl4HUIQSTO6Z/wGA12B13M6pGda+2JCXS3eOd+3rFcvs5L3Spafo0xWg/nqpAcpDih/KxmbvxN2I6Bz5yQIqWNFUXJhP3nUxGdfTTPmJUUGTu/135eQKAQ== x-ms-exchange-transport-forked: True 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: d69f8021-efb9-40b4-b95e-08d7a03a0f65 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jan 2020 19:25:52.1837 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gQS+LiELTycl6Qukr79kf3S/V0a73jg8EgA6h/ljYW9P7yg5nJWL3mXUqlys8hagHYNAwqkt+lOkY5KuoV11cw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3602 Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH 2/2] app/testpmd: fix invalid port detaching X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" SGkNCg0KRnJvbTogRmVycnVoIFlpZ2l0DQo+IE9uIDEvMjMvMjAyMCAzOjI5IFBNLCBNYXRhbiBB enJhZCB3cm90ZToNCj4gPg0KPiA+IEhpDQo+ID4NCj4gPiBGcm9tOiBGZXJydWggWWlnaXQNCj4g Pj4gT24gMS8yMy8yMDIwIDI6MDUgUE0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+Pj4gSGkNCj4g Pj4+DQo+ID4+PiBGcm9tOiBZaWdpdCwgRmVycnVoDQo+ID4+Pj4gT24gMTEvMTIvMjAxOSA4OjQ3 IEFNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+Pj4gVGhlIHBvcnQgd2FzIG5vdCB2YWxpZGF0 ZWQgYmVmb3JlIGRldGFjaGluZy4NCj4gPj4+Pj4NCj4gPj4+Pj4gSWdub3JlIHBvcnQgZGV0YWNo IG9wZXJhdGlvbiB3aGVuIHRoZSBwb3J0IGlzIG5vdCB2YWxpZC4NCj4gPj4+Pj4NCj4gPj4+Pj4g Rml4ZXM6IGY4ZTViYWEyNjYyZCAoImFwcC90ZXN0cG1kOiBjaGVjayBub3QgZGV0YWNoaW5nIGRl dmljZQ0KPiA+Pj4+PiB0d2ljZSIpDQo+ID4+Pj4+IENjOiB0aG9tYXNAbW9uamFsb24ubmV0DQo+ ID4+Pj4+IENjOiBzdGFibGVAZHBkay5vcmcNCj4gPj4+Pj4NCj4gPj4+Pj4gU2lnbmVkLW9mZi1i eTogTWF0YW4gQXpyYWQgPG1hdGFuQG1lbGxhbm94LmNvbT4NCj4gPj4+Pj4gLS0tDQo+ID4+Pj4+ ICBhcHAvdGVzdC1wbWQvdGVzdHBtZC5jIHwgMyArKysNCj4gPj4+Pj4gIDEgZmlsZSBjaGFuZ2Vk LCAzIGluc2VydGlvbnMoKykNCj4gPj4+Pj4NCj4gPj4+Pj4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0 LXBtZC90ZXN0cG1kLmMgYi9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jIGluZGV4DQo+ID4+Pj4+IDQ0 NDQzNDYuLjM3MGVlZmUgMTAwNjQ0DQo+ID4+Pj4+IC0tLSBhL2FwcC90ZXN0LXBtZC90ZXN0cG1k LmMNCj4gPj4+Pj4gKysrIGIvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQuYw0KPiA+Pj4+PiBAQCAtMjU0 NSw2ICsyNTQ1LDkgQEAgc3RydWN0IGV4dG1lbV9wYXJhbSB7DQo+ID4+Pj4+DQo+ID4+Pj4+ICAJ cHJpbnRmKCJSZW1vdmluZyBhIGRldmljZS4uLlxuIik7DQo+ID4+Pj4+DQo+ID4+Pj4+ICsJaWYg KHBvcnRfaWRfaXNfaW52YWxpZChwb3J0X2lkLCBFTkFCTEVEX1dBUk4pKQ0KPiA+Pj4+PiArCQly ZXR1cm47DQo+ID4+Pj4+ICsNCj4gPj4+Pj4gIAlkZXYgPSBydGVfZXRoX2RldmljZXNbcG9ydF9p ZF0uZGV2aWNlOw0KPiA+Pj4+PiAgCWlmIChkZXYgPT0gTlVMTCkgew0KPiA+Pj4+PiAgCQlwcmlu dGYoIkRldmljZSBhbHJlYWR5IHJlbW92ZWRcbiIpOw0KPiA+Pj4+Pg0KPiA+Pj4+DQo+ID4+Pj4g VGhlIHBhdGNoIGlzIGFscmVhZHkgaW4gMTkuMTEgWzFdIGJ1dCBpdCBpcyBicmVha2luZyB0aGUg dGVzdHBtZA0KPiA+Pj4+IGhvdHBsdWcgc3VwcG9ydC4NCj4gPj4+PiBCZWZvcmUgJ2RldGFjaF9w b3J0X2RldmljZSgpJyBjYWxsZWQsIHRoZSBwb3J0IGhhcyBiZWVuIHN0b3BwZWQgYW5kDQo+ID4+ Pj4gY2xvc2VkIFsyXSwgd2hpY2ggd2lsbCBtYWtlIHBvcnQgZmFpbCBmcm9tICdwb3J0X2lkX2lz X2ludmFsaWQoKScNCj4gPj4+PiBjaGVjayBhbmQgdGhlIGRldmljZSByZW1vdmFsIHBhdGggbmV2 ZXIgZnVsbHkgY2FsbGVkLg0KPiA+Pj4+IFRoZSBpbXBsaWNhdGlvbiBpcywgc2luY2UgZGV2aWNl IG5vdCBkZXRhY2hlZCwgdmZpbyByZXF1ZXN0DQo+ID4+Pj4gaW50ZXJydXB0IGtlZXBzIHRyaWdn ZXJlZCBjb250aW51b3VzbHkgYW5kIHJlLXN0YXJ0cyB0aGUgZGV0YWNoDQo+ID4+Pj4gcGF0aCwg YnV0IGJlY2F1c2Ugb2YgdGhlIGhhbGYgY2xlYW5lZCBkZXZpY2UgaXQgZmFpbHMgYW5kIGFwcCBn ZXRzDQo+ID4+Pj4gc3R1Y2sgd2l0aCBhDQo+ID4+IGNvbnRpbnVvdXMgbG9nIFszXS4NCj4gPj4+ Pg0KPiA+Pj4+IEkgd29uZGVyIGlmIHRoZSBhY3R1YWwgaG90cGx1ZyBoYXMgYmVlbiB0ZXN0ZWQg d2l0aCB0aGlzIHBhdGNoLCB0aGUNCj4gPj4+PiBjb21taXQgbG9nIGlzIG5vdCBjbGVhciBhYm91 dCB0aGUgbW90aXZhdGlvbiBhbmQgaW1wbGljYXRpb24gb2YgdGhlDQo+ID4+Pj4gcGF0Y2gsIEkg YW0gbm90IGNsZWFyIHdoeSB0aGlzIGNoZWNrIGlzIGFkZGVkIGJ1dCBJIGFtIHNlbmRpbmcgYQ0K PiA+Pj4+IHBhdGNoIHNvb24gdG8gcmVtb3ZlIGl0IGJhY2suDQo+ID4+Pg0KPiA+Pj4gVGhlIG1v dGl2YXRpb24gb2YgdGhpcyBwYXRjaCB3YXMgdG8gcHJldmVudCBkb3VibGUgZGV0YWNoIG9uIHNh bWUNCj4gPj4+IHBvcnQsDQo+ID4+IHNvIHRoZSB1c2VyIGNhbm5vdCBjYWxsIGRldGFjaCBvZiBp bnZhbGlkIHBvcnQuDQo+ID4+DQo+ID4+IFdoYXQgaXMgdGhlIGRlZmluaXRpb24gb2YgdGhlICdp bnZhbGlkIHBvcnQnLCBpZiB5b3UgbWVhbiBkZXZpY2UNCj4gPj4gYWxyZWFkeSBkZXRhY2hlZCBj YXNlLCBpbiB0aGUgc2Vjb25kIGNhbGwgb2YgdGhlIGZ1bmN0aW9uICJpZiAoZGV2ID09DQo+ID4+ IE5VTEwpIiBjaGVjayBzaG91bGQgcHJldmVudCBpdCBnb2luZyBmb3J3YXJkLg0KPiA+DQo+ID4g Tm8sIGV0aGRldiBkb2Vzbid0IHplcm8gdGhlIGRldmljZSBwb2ludGVyIHdoZW4gaXQgcmVsZWFz ZSBhIHBvcnQuDQo+IA0KPiBBcyBmYXIgYXMgSSBjYW4gc2VlIGl0IGRvZXMsIHBsZWFzZSBzZWUg YmVsb3cuDQoNClRoZSBjb2RlIGJlbG93IGlzIHByb2JsZW1hdGljIGJlY2F1c2U6DQoNCjEuIEl0 IGlzIHZlcnkgYmFkIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGNoYW5naW5nIGV0aGRldiBzdHJ1Y3R1 cmUgZGlyZWN0bHkuDQoyLiBUaGUgYmVsb3cgY29kZSBydW4gb3ZlciB2YWxpZCBwb3J0IG9ubHks IG5vdCBvbiBpbnZhbGlkIHBvcnQoVU5VU0VEIHN0YXRlKS4NCg0KU28sIHRoZSBkZXZpY2UgcG9p bnRlciB3aWxsIHN0aWxsIGJlIHZhbGlkIGlmIHRoZSBwb3J0IGlzIGludmFsaWQuDQoNCkFsbCBv ZiB0aGlzIHNob3dzIHRoYXQgdGhpcyBmdW5jdGlvbiB0cnkgdG8gZGV0YWNoIG9ubHkgYSB2YWxp ZCBwb3J0IChwcm9iYWJseSBtYWlubHkgYmVjYXVzZSBpdCBpcyBjYWxsZWQgYnkgVGVzdHBtZCBk ZXRhY2ggY29tbWFuZCkuDQoNCj4gPiBTbyBldmVuIGlmIHRoZSBwb3J0IGlzIGluIHVudXNlZCBz dGF0ZSBhbHJlYWR5IC0gbWVhbnMgaW52YWxpZCwgdGhlIGRldmljZQ0KPiBwb2ludGVyIHN0aWxs IG1heSBiZSB2YWxpZCBhbmQgcG9pbnQgdG8gdGhlIGxhc3QgcG9ydCB0aGF0IHVzZWQgdGhlIHNh bWUgaWQuDQo+IA0KPiBJZiB0aGUgcG9ydCBpcyBjbG9zZWQsIGl0IGlzIHVudXNlZCBzdGF0ZSwg YW5kIGV0aGRldiBsYXllciByZXNvdXJjZXMgZnJlZWQgYnV0DQo+IGFzIHlvdSBzYWlkIGRldmlj ZSByZWxhdGVkIHN0cnVjdHVyZXMgYXJlIHN0aWxsIHRoZXJlLCBkZXZpY2UgcG9pbnRlciBpcyBz dGlsbCB2YWxpZA0KPiBhbmQgaXQgaXMgc3RpbGwgaW4gcHJvYmVkIGRldmljZSBsaXN0IGV0Yy4u IFdlIG5lZWQgdG8gYWJsZSB0byBkZXRhY2ggdGhlIGRldmljZQ0KPiBldmVuIGFmdGVyIGl0IGlz IHVudXNlZCBzdGF0ZS4NCg0KWWVzLCBidXQgZGV0YWNoIGlzIGZvciBkZXZpY2UsIG5vdCBmb3Ig cG9ydC4NClRoZSBkZXZpY2UgcG9pbnRlciBtdXN0IGJlIHRha2VuIG9ubHkgd2hlbiB0aGUgcG9y dCBpcyBpbiB2YWxpZCBzdGF0ZS4NCldoeT8NCkJlY2F1c2UgaWYgdGhlIHBvcnQgaXMgaW4gVU5V U0VEIHN0YXRlIGl0IGlzIGZyZWUgdG8gYmUgYWxsb2NhdGVkIGFnYWluIGJ5IGV0aGRldiBsYXll ciBmb3Igb3RoZXIgZGV2aWNlLCB0aGVuLCB0aGUgZGV2aWNlIHBvaW50ZXIgbWF5IHBvaW50IHRv IG90aGVyIGRldmljZS4NCg0KPiAic3RvcCAtPiBjbG9zZSAtPiBkZXRhY2giIGlzIGEgbm9ybWFs IG9yZGVyLCB3ZSBzaG91bGRuJ3QgcHJldmVudCBpdCwgYnV0IHlvdXINCj4gY2hlY2sgZG9lcyBw cmV2ZW50IGl0Lg0KDQpZZXMsIHRoaXMgaXMgZ29vZCBvcmRlciwgYnV0IHRoZSBwb2ludGVyIG9m IHRoZSBkZXZpY2Ugc2hvdWxkIGJlIHRha2VuIGJlZm9yZSBjbG9zZS4NCk15IHBhdGNoIHByZXZl bnQgYWNjZXNzaW5nIGludmFsaWQgc3RydWN0dXJlLg0KQW5kIHllcywgVGVzdHBtZCBkZXRhY2gg c3RheXMgYnJva2VuIGFmdGVyIG15IHBhdGNoIGFuZCBhZnRlciB0aGlzIHBhdGNoIHRvby4NCg0K DQo+IA0KPiBJIGFtIG5vdCB2ZXJ5IGNsZWFyIGFib3V0IHlvdXIgY29uY2VybiBoZXJlLCAicG9p bnQgdG8gdGhlIGxhc3QgcG9ydCB0aGF0IHVzZWQNCj4gdGhlIHNhbWUgaWQiLCBjYW4geW91IHBs ZWFzZSBjbGFyaWZ5Pw0KDQpZZXMsIHdoZW4gZXRoZGV2IGxheWVyIGFsbG9jYXRlcyBhIHBvcnQg SUQgZm9yIGEgbmV3IGRldmljZSwgaXQgdHJpZXMgdG8gZmluZCBVTlVTRUQgcG9ydC4NCldoZW4g Zm91bmQsIHRoZSBwb3J0IHdpbGwgbW92ZSB0byBBVFRBQ0hFRCBhZnRlciB0aGUgUE1EIGZpbmlz aGVzIGl0cyBwcm9iaW5nIGZ1bmN0aW9uLg0KDQpTbywgYW55IFVOVVNFRCBwb3J0IG1heSBiZSBh bGxvY2F0ZWQgZm9yIG90aGVyIGRldmljZSBhbmQgdGhlbiwgdGhlIGRldmljZSBwb2ludGVyIHBv aW50cyB0byBvdGhlciBkZXZpY2UuDQoNCj4gDQo+ID4NCj4gPg0KPiA+PiBCdXQgYWNjb3JkaW5n IHRoZSAncG9ydF9pZF9pc19pbnZhbGlkKCknIEFQSSwgYSBjbG9zZWQgcG9ydCBpcyBhbg0KPiA+ PiBpbnZhbGlkIHBvcnQsIEkgdGhpbmsgdGhhdCBpcyB3cm9uZyBpbiB0aGlzIGNvbnRleHQuDQo+ ID4NCj4gPiBXaHk/DQo+IA0KPiBDbG9zZWQgcG9ydCBpcyAnaW52YWxpZCcgZm9yIHVzaW5nIGl0 LCBiZWNhdXNlIGV0aGRldiByZXNvdXJjZXMgYXJlIGZyZWVkLiBCdXQgaXQNCj4gaXMgbm90ICdp bnZhbGlkJyB0byBkZXRhY2ggaXQsIHdoeSBhIHBvcnQgYmVpbmcgY2xvc2VkIHNob3VsZCBwcmV2 ZW50IGZyZWVpbmcgaXRzDQo+IGRldmljZSBsYXllciByZXNvdXJjZXM/DQoNCkkgZGlkbid0IHNh aWQgdGhhdCwgSSBzYWlkIHRoYXQgdGhlIGRldmljZSBwb2ludGVyIHNob3VsZCBiZSB0YWtlbiB3 aGVuIHRoZSBwb3J0IGlzIHZhbGlkLg0KDQoNCj4gDQo+ID4NCj4gPiBZb3UgYXJlIGdvaW5nIHRv IGxvb2sgb24gZXRoZGV2IHBvcnRpZCBzdHJ1Y3R1cmUsIGRvbid0IHlvdSB0aGluayB3ZSBzaG91 bGQNCj4gdmFsaWQgdGhlIHBvcnQgYmVmb3JlIHVzaW5nIGl0cyBzdHJ1Y3R1cmU/DQo+IA0KPiBJ cyB5b3VyIG1haW4gY29uY2VybiAicnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdLmRldmljZSIgY2Fu IGJlIGRhbmdsaW5nDQo+IHBvaW50ZXI/DQo+IA0KPiAxKSBJdCBpcyBub3QuDQo+IDIpIFRoZSBj aGVjayB5b3UgYWRkZWQgdG8gcmVwbGFjZSBpdCBpcyBub3QgY29ycmVjdCBjaGVjay4NCj4gDQpE aWRuJ3Qgc2FpZCB0aGF0Lg0KDQpJdCBqdXN0IG1heSBwb2ludCB0byBvdGhlciBkZXZpY2UuDQpJ dCBpcyBub3QgY29ycmVjdCB0byB0YWtlIGluZm9ybWF0aW9uIGZyb20gaW52YWxpZCBzdHJ1Y3R1 cmUuDQoNCkRvbid0IHlvdSBhZ3JlZSB0aGF0IHRoZSBzdHJ1Y3R1cmUgaXMgbm90IHZhbGlkIHdo ZW4gdGhlIHBvcnQgaXMgbm90IHZhbGlkPw0KDQo+ID4NCj4gPj4+DQo+ID4+PiBJIGFncmVlIHRo aXMgcGF0Y2ggaXMgbm90IGdvb2QgYW5kIHdlIG5lZWQgYSBmaXggYnV0IEkgdGhpbmsgdGhlIGJ1 Zw0KPiA+Pj4gaXMNCj4gPj4gY29uY2VwdHVhbC4NCj4gPj4+DQo+ID4+PiBUZXN0cG1kIHRyaWVz IHRvIGRvIGRldGFjaCBieSBwb3J0X2lkIHdoaWNoIGlzIGRlcml2ZWQgYnkgZXRoZGV2DQo+ID4+ PiBwb3J0IGlkDQo+ID4+IHdoaWxlIGRldGFjaCB3b3JrIHdpdGggcnRlX2RldmljZS4NCj4gPj4+ DQo+ID4+PiBGb3IgZXhhbXBsZToNCj4gPj4+IHlvdSBjYW4gc2VlIGluIHRoZSBsaW5lIGFib3Zl IGFmdGVyICsrKzogZGV2ID0NCj4gPj4+IHJ0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXS5kZXZpY2Us IFRlc3RwbWQgbWF5IGFjY2VzcyBpbnZhbGlkICBvcg0KPiA+PiByZWFsbG9jYXRlZCBldGhkZXYg c3RydWN0dXJlIHRvIGdldCB0aGUgZGV2aWNlIG5hbWUgYW5kIG1heSBldmVuDQo+ID4+IGRldGFj aCB1bndhbnRlZCBydGVfZGV2aWNlLg0KPiA+Pg0KPiA+PiBJIHRoaW5rcyB3aGljaGV2ZXIgZnVu Y3Rpb24gY2FsbGluZyAnZGV0YWNoX3BvcnRfZGV2aWNlKCknIHNob3VsZA0KPiA+PiBjaGVjayB0 aGUgcG9ydCB2YWxpZGl0eS4NCj4gPj4gJ2RldGFjaF9wb3J0X2RldmljZSgpJyBkb2Vzbid0IGtu b3cgaWYgcG9ydCByZWFsbG9jYXRlZCBvciBub3QsIGl0DQo+ID4+IHdpbGwgZnJlZSB0aGUgZ2l2 ZW4gcG9ydF9pZCwgYW5kIHdoZW4gZnJlZWluZyBkb25lDQo+ID4+ICdydGVfZXRoX2RldmljZXNb cG9ydF9pZF0uZGV2aWNlJyB3aWxsIGJlIE5VTEwsIHRoaXMgbG9va3MgdG8gbWUgYSB2YWxpZA0K PiBjaGVjay4NCj4gPg0KPiA+IFBsZWFzZSB2YWxpZGF0ZSBtZSwgY2hlY2sgZXRoZGV2LCBJIGRv bid0IHRoaW5rIHNvLA0KPiAncnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdLmRldmljZSBzdGlsbCB2 YWxpZCBhZnRlciBkZXRhY2guDQo+IA0KPiBUaGlzIGlzIGEgbG9uZyBzdGFjayB0cmFjZSwgYnV0 IHdoYXQgaGFwcGVucyBpczoNCj4gDQo+IHJ0ZV9kZXZfcmVtb3ZlDQo+ICAgYnVzIHVucHVnDQo+ ICAgICBkcml2ZXIgcmVtb3ZlDQo+ICAgICAgIHJ0ZV9ldGhfZGV2X3BjaV9yZWxlYXNlDQo+ICAg ICAgICAgZXRoX2Rldi0+ZGV2aWNlID0gTlVMTDsNCg0KVGhlIGxhc3QgbGluZSBkb2Vzbid0IGhh cHBlbiBoZXJlIGJlY2F1c2UgdGhlIHJ0ZV9ldGhfZGV2X3BjaV9yZWxlYXNlIG1vdmVzIHRoZSBw b3J0IHRvIFVOVVNFRC4NCkFuZCBpdCBpcyBiYWQgdGhhdCBhcHBsaWNhdGlvbiBpcyB0cnlpbmcg dG8gZG8gaXQuDQoNCj4gDQo+IFBsZWFzZSBjaGVjayB0aGUgZHJpdmVyIHlvdSBhcmUgdGVzdGlu ZyByZW1vdmUoKSBvcHMNCj4gKHJ0ZV9wY2lfZHJpdmVyLnJlbW92ZSgpKSBkb2VzIGNsZWFucyB0 aGUgZXRoZGV2IGZpZWxkcy4NCj4gDQo+IEEgbGl0dGxlIG1vcmUgZGV0YWlsZWQgc3RhY2sgdHJh Y2UgZm9yIG15IGVudmlyb25tZW50Og0KPiAjMCAgcnRlX2V0aF9kZXZfcGNpX3JlbGVhc2UgKGV0 aF9kZXY9Li4pIGF0ICBydGVfZXRoZGV2X3BjaS5oOjE0Mw0KPiAjMSAgcnRlX2V0aF9kZXZfcGNp X2dlbmVyaWNfcmVtb3ZlIChwY2lfZGV2PS4uLCBkZXZfdW5pbml0PS4uKSBhdA0KPiBydGVfZXRo ZGV2X3BjaS5oOjE5OQ0KPiAjMiAgZXRoX2k0MGVfcGNpX3JlbW92ZSAocGNpX2Rldj0uLikgYXQg aTQwZV9ldGhkZXYuYzo3MTANCj4gIzMgIHJ0ZV9wY2lfZGV0YWNoX2RldiAoZGV2PS4uKSBhdCBw Y2lfY29tbW9uLmM6MjQzDQo+ICM0ICBwY2lfdW5wbHVnIChkZXY9Li4pIGF0IHBjaV9jb21tb24u Yzo1MzcNCj4gIzUgIGxvY2FsX2Rldl9yZW1vdmUgKGRldj0uLikgYXQgZWFsX2NvbW1vbl9kZXYu YzozMjENCj4gIzYgIHJ0ZV9kZXZfcmVtb3ZlIChkZXY9Li4pIGF0IGVhbF9jb21tb25fZGV2LmM6 NDAyDQo+ICM3ICBkZXRhY2hfcG9ydF9kZXZpY2UgKHBvcnRfaWQ9MCkgYXQgdGVzdHBtZC5jOjI2 NjMNCj4gIzggIGNtZF9vcGVyYXRlX2RldGFjaF9wb3J0X3BhcnNlZCAocGFyc2VkX3Jlc3VsdD0u LiwgY2w9Li4sIGRhdGE9MHgwKSBhdA0KPiBjbWRsaW5lLmM6MTUwMQ0KPiAjOSAgY21kbGluZV9w YXJzZSAoY2w9Li4sIGJ1Zj0uLiJwb3J0IGRldGFjaCAwXG4iKSBhdCBjbWRsaW5lX3BhcnNlLmM6 Mjk1DQo+ICMxMCBjbWRsaW5lX3ZhbGlkX2J1ZmZlciAocmRsPS4uLCBidWY9InBvcnQgZGV0YWNo IDBcbiIsIHNpemU9MTUpIGF0DQo+IGNtZGxpbmUuYzozMQ0KPiAjMTEgcmRsaW5lX2NoYXJfaW4g KHJkbD0uLiwgYz0xMCAnXG4nKSBhdCAgY21kbGluZV9yZGxpbmUuYzo0MjENCj4gIzEyIGNtZGxp bmVfaW4gKGNsPS4uLCBidWY9Li4iXG4iLCBzaXplPTEpIGF0IGNtZGxpbmUuYzoxNDgNCj4gIzEz IGNtZGxpbmVfaW50ZXJhY3QgKGNsPS4uKSBhdCBjbWRsaW5lLmM6MjI3DQo+ICMxNCBwcm9tcHQg KCkgYXQgY21kbGluZS5jOjE5NjQ0DQo+ICMxNSBtYWluIChhcmdjPTMsIGFyZ3Y9Li4pIGF0IHRl c3RwbWQuYzozNjE3DQo+IA0KTm90IGFsbCB0aGUgZHJpdmVycyBhcmUgZG9pbmcgaXQuDQpJIHRo aW5rIGl0IGlzIGdvb2QgaWYgd2Ugd2lsbCBkbyBpdCBieSBldGhkZXYgcmVsZWFzZSBmdW5jdGlv bi4NCg0KDQo+ID4NCj4gPj4gVGhlIGNhbGxlciBvZiB0aGUgJ2RldGFjaF9wb3J0X2RldmljZSgp JyBzaG91bGQgZW5zdXJlIGNvcnJlY3QNCj4gPj4gcG9ydF9pZCBwYXNzZWQgdG8gdGhlIGZ1bmN0 aW9uLg0KPiA+DQo+ID4gV2hhdCBpcyBjb3JyZWN0IHBvcnQgaWQsIGlmIHRoZSBwb3J0IHdhcyBy ZWxlYXNlZCAsIGlzIGl0IGNvcnJlY3Q/DQo+IA0KPiBZb3UgYXJlIHJpZ2h0LCB0aGVyZSBpcyBu byBnb29kIGFuc3dlciBmb3IgaXQsIEkgd2FzIHRoaW5raW5nIGFwcGxpY2F0aW9uIHN0YXRlDQo+ IGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIGJ1dCBubyBldGhkZXYgc2hvdWxkIGFibGUgdG8gcHJv dmlkZSB0aGlzDQo+IGluZm9ybWF0aW9uLCB3ZSBuZWVkICdpc19mcmVlZCcga2luZCBvZiBjaGVj ayBmb3IgaXQsIGN1cnJlbnRseQ0KPiAncnRlX2V0aF9kZXZpY2VzW3BvcnRfaWRdLmRldmljZScg aXMgdXNlZCBmb3IgdGhhdCBwdXJwb3NlLg0KDQpJdCBpcyB3cm9uZyB0byB0YWtlIGRldmljZSBm cm9tIGludmFsaWQgc3RydWN0dXJlLiAoSSBleHBsYWluZWQgYSBsb3QgYWJvdmUpLg0KQmV0dGVy IHdheSB0byBzYXZlIHRoZSBydGVfZGV2aWNlIGluIHRoZSBzdGFydChiZWZvcmUgY2xvc2UpIGFu ZCBjYWxsIGRldGFjaCBieSBydGVfZGV2aWNlIHdoZW4gd2Ugc3VyZSB0aGF0IGFsbCB0aGUgcG9y dHMgb2YgdGhpcyBydGVfZGV2aWNlIGFyZSByZWxlYXNlZChtbHg0IGNhbiBtYW5hZ2UgMiBwb3J0 cyBvbmUgcnRlX2RldmljZSwgYWxzbyBhbnkgZGV2aWNlIHN1cHBvcnRzIHJlcHJlc2VudG9ycyku DQoNCkxldCdzIGRvIGNvcnJlY3QgZml4Lg0KDQoNCj4gDQo+ID4NCj4gPj4+DQo+ID4+PiBTbywg ZGV0YWNoIGlzIGJyb2tlbiB3aXRoIGFuZCB3aXRob3V0IHRoaXMgcGF0Y2guDQo+ID4+DQo+ID4+ IEkgY2FuJ3Qgc2VlIGhvdyBpdCBpcyBicm9rZW4gd2l0aG91dCB0aGUgY2hlY2ssIGhvdyB0aGUg cHJvYmxlbSB5b3UNCj4gPj4gbWVudGlvbmVkIGNhbiBiZSByZXByb2R1Y2VkPyBPciBpcyBpdCBh IHRoZW9yZXRpY2FsIGlzc3VlPw0KPiA+PiBCdXQgd2l0aCB0aGlzIGNoZWNrIGhvdHBsdWcgc3Vw cG9ydCBpcyAlMTAwIHJlcHJvZHVjaWJsZSBicm9rZW4uDQo+ID4+DQo+ID4+Pg0KPiA+Pj4NCj4g Pj4+IEkgdGhpbmsgVGVzdHBtZCBzaG91bGQgY2hhbmdlIHRoZSBjb25jZXB0IG9mIHJ0ZV9kZXZp Y2UgbWFwcGluZyBhbmQNCj4gPj4+IHB1dA0KPiA+PiBhdHRlbnRpb24gdG8gbmV4dDoNCj4gPj4+ IDEuIERvbid0IGRldGFjaCBieSBldGhkZXYgcG9ydCBJRC4NCj4gPj4+IDIuIE11bHRpcGxlIGV0 aGRldiBwb3J0IElEcyBtYXkgcmVsYXRlZCB0byB0aGUgc2FtZSBydGVfZGV2aWNlLg0KPiA+Pj4N Cj4gPj4+IFRoZSBUZXN0cG1kIHVzZXIgc2hvdWxkIGJlIHN1cmUgdGhhdCBhbGwgdGhlIHBvcnQg SURzIG9mIHRoZQ0KPiA+Pj4gcnRlX2RldmljZSBhcmUNCj4gPj4gcmVsZWFzZWQgYmVmb3JlIHRo ZSBkZXRhY2ggY2FsbCBhbmQgVGVzdHBtZCBtYXliZSBuZWVkIHRvIHZhbGlkYXRlIGl0Lg0KPiA+ Pj4gQW5kIGxpa2UgYXR0YWNoLCBkZXRhY2ggc2hvdWxkIGJlIHRyaWdnZXJlZCBieSBQQ0kgYWRk cmVzcyBcDQo+ID4+PiBydGVfZGV2aWNlDQo+ID4+IG5hbWUuDQo+ID4+Pg0KPiA+Pg0KPiA+PiBX ZSBuZWVkIHRvIGtub3cgYWJvdXQgcG9ydF9pZCB0b28gdG8gYmUgYWJsZSB0byBzdG9wL2Nsb3Nl IGl0Lg0KPiA+PiBBbmQgc3VyZSBubyBvYmplY3Rpb24gdG8gaW1wcm92ZSB0aGUgaG90cGx1ZyBz dXBwb3J0IGJ1dCBpdCBpcyBicm9rZW4NCj4gPj4gbm93LCBsZXRzIGZpeCBpdCBmaXJzdC4NCj4g Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+ Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+ DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+Pg0KPiA+Pj4N Cj4gPj4+DQo+ID4+Pj4gUmVnYXJkcywNCj4gPj4+PiBmZXJydWgNCj4gPj4+Pg0KPiA+Pj4+DQo+ ID4+Pj4gWzFdDQo+ID4+Pj4NCj4gaHR0cHM6Ly9ldXIwMy5zYWZlbGlua3MucHJvdGVjdGlvbi5v dXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZw0KPiA+Pj4+IGl0DQo+ID4+Pj4gLmRwDQo+ ID4+Pj4NCj4gPj4NCj4gZGsub3JnJTJGZHBkayUyRmNvbW1pdCUyRiUzRmlkJTNENDNkMGUzMDQ5 ODBhMTUyN2JjYWM5MmRjNjc5MDU3DQo+ID4+Pj4NCj4gPj4NCj4gYjE4OWUyNTQ1YSZhbXA7ZGF0 YT0wMiU3QzAxJTdDbWF0YW4lNDBtZWxsYW5veC5jb20lN0NjM2Y0MDM1NmQNCj4gPj4+Pg0KPiA+ Pg0KPiBkMTI0ZTIwZmFmNzA4ZDdhMDA2ZTY4YyU3Q2E2NTI5NzFjN2QyZTRkOWJhNmE0ZDE0OTI1 NmY0NjFiJTdDMCU3DQo+ID4+Pj4NCj4gPj4NCj4gQzAlN0M2MzcxNTM4MjM4MDk2OTk5OTYmYW1w O3NkYXRhPWRCeTltJTJCeENBJTJCbWUxSXBYMkxxUEFSYQ0KPiA+Pj4+IDYyZ2l6bktpOFhidHUy MjBHQSUyQmclM0QmYW1wO3Jlc2VydmVkPTANCj4gPj4+Pg0KPiA+Pj4+IFsyXQ0KPiA+Pj4+IHJt dl9wb3J0X2NhbGxiYWNrDQo+ID4+Pj4gICBzdG9wX3BvcnQocG9ydF9pZCk7DQo+ID4+Pj4gICBj bG9zZV9wb3J0KHBvcnRfaWQpOw0KPiA+Pj4+ICAgZGV0YWNoX3BvcnRfZGV2aWNlKHBvcnRfaWQp Ow0KPiA+Pj4+DQo+ID4+Pj4gWzNdDQo+ID4+Pj4gRUFMOiBjYW4gbm90IGdldCBwb3J0IGJ5IGRl dmljZSAwMDAwOjAwOjA1LjAhDQo+ID4+Pj4gRUFMOiBjYW4gbm90IGdldCBwb3J0IGJ5IGRldmlj ZSAwMDAwOjAwOjA1LjAhDQo+ID4+Pj4gRUFMOiBjYW4gbm90IGdldCBwb3J0IGJ5IGRldmljZSAw MDAwOjAwOjA1LjAhDQo+ID4+Pj4gRUFMOiBjYW4gbm90IGdldCBwb3J0IGJ5IGRldmljZSAwMDAw OjAwOjA1LjAhDQo+ID4+Pj4gRUFMOiBjYW4gbm90IGdldCBwb3J0IGJ5IGRldmljZSAwMDAwOjAw OjA1LjAhDQo+ID4+Pj4gRUFMOiBjYW4gbm90IGdldCBwb3J0IGJ5IGRldmljZSAwMDAwOjAwOjA1 LjAhDQo+ID4+Pj4gLi4uDQo+ID4NCg0K