From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matan Azrad Subject: Re: [PATCH 3/3] app/testpmd: fix callback issue for hot-unplug Date: Sun, 11 Nov 2018 07:31:48 +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> <11af735e-7e8a-fb16-3ea8-2b269d8437b1@intel.com> <8bac8c10-d30b-ab93-1d6c-03e7d93b97c3@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "Yigit, Ferruh" , "dev@dpdk.org" , "Zhang, Helin" , "He, Shaopeng" To: Jeff Guo , "Ananyev, Konstantin" , "Burakov, Anatoly" , Thomas Monjalon , "Iremonger, Bernard" , "Wu, Jingjing" , "Lu, Wenzhuo" Return-path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60054.outbound.protection.outlook.com [40.107.6.54]) by dpdk.org (Postfix) with ESMTP id CE98E1D7 for ; Sun, 11 Nov 2018 08:31:49 +0100 (CET) In-Reply-To: <8bac8c10-d30b-ab93-1d6c-03e7d93b97c3@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCkZyb206IEplZmYgR3VvIA0KPiBPbiAxMS85LzIwMTggMToyNCBQTSwgTWF0YW4gQXpyYWQg d3JvdGU6DQo+ID4NCj4gPiAgIEZyb206IEplZmYgR3VvDQo+ID4+IE9uIDExLzgvMjAxOCA1OjM1 IFBNLCBNYXRhbiBBenJhZCB3cm90ZToNCj4gPj4+IEZyb206IEplZmYgR3VvDQo+ID4+Pj4gT24g MTEvOC8yMDE4IDM6MjggUE0sIE1hdGFuIEF6cmFkIHdyb3RlOg0KPiA+Pj4+PiBGcm9tOiBBbmFu eWV2LCBLb25zdGFudGluDQo+ID4+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g Pj4+Pj4+PiBGcm9tOiBHdW8sIEppYQ0KPiA+Pj4+Pj4+IFNlbnQ6IFdlZG5lc2RheSwgTm92ZW1i ZXIgNywgMjAxOCA3OjMwIEFNDQo+ID4+Pj4+Pj4gVG86IE1hdGFuIEF6cmFkIDxtYXRhbkBtZWxs YW5veC5jb20+OyBBbmFueWV2LCBLb25zdGFudGluDQo+ID4+Pj4+Pj4gPGtvbnN0YW50aW4uYW5h bnlldkBpbnRlbC5jb20+OyBCdXJha292LCBBbmF0b2x5DQo+ID4+Pj4+Pj4gPGFuYXRvbHkuYnVy YWtvdkBpbnRlbC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPj4+Pj4+IDx0aG9tYXNAbW9uamFs b24ubmV0PjsNCj4gPj4+Pj4+PiBJcmVtb25nZXIsIEJlcm5hcmQgPGJlcm5hcmQuaXJlbW9uZ2Vy QGludGVsLmNvbT47IFd1LCBKaW5namluZw0KPiA+Pj4+Pj4+IDxqaW5namluZy53dUBpbnRlbC5j b20+OyBMdSwgV2Vuemh1byA8d2Vuemh1by5sdUBpbnRlbC5jb20+DQo+ID4+Pj4+Pj4gQ2M6IFlp Z2l0LCBGZXJydWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmc7IFpoYW5n LA0KPiA+Pj4+Pj4+IEhlbGluIDxoZWxpbi56aGFuZ0BpbnRlbC5jb20+OyBIZSwgU2hhb3BlbmcN Cj4gPj4+PiA8c2hhb3BlbmcuaGVAaW50ZWwuY29tPg0KPiA+Pj4+Pj4+IFN1YmplY3Q6IFJlOiBb UEFUQ0ggMy8zXSBhcHAvdGVzdHBtZDogZml4IGNhbGxiYWNrIGlzc3VlIGZvcg0KPiA+Pj4+Pj4+ IGhvdC11bnBsdWcNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IG1hdGFuDQo+ID4+Pj4+Pj4NCj4gPj4+ Pj4+PiBPbiAxMS82LzIwMTggMjozNiBQTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4+Pj4+Pj4+ IEhpIEplZmYNCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gICAgICBGcm9tOiBKZWZmIEd1byA8amlh Lmd1b0BpbnRlbC5jb20+DQo+ID4+Pj4+Pj4+PiBCZWZvcmUgZGV0YWNoIGRldmljZSB3aGVuIGRl dmljZSBiZSBob3QtdW5wbHVnZ2VkLCB0aGUgZmFpbHVyZQ0KPiA+Pj4+Pj4+Pj4gcHJvY2VzcyBp biB1c2VyIHNwYWNlIGFuZCBrZXJuZWwgc3BhY2UgYm90aCBuZWVkIHRvIGJlDQo+ID4+Pj4+Pj4+ PiBmaW5pc2hlZCwgc3VjaCBhcyBlYWwgaW50ZXJydXB0IGNhbGxiYWNrIG5lZWQgdG8gYmUgaW5h Y3RpdmUNCj4gPj4+Pj4+Pj4+IGJlZm9yZSB0aGUgY2FsbGJhY2sgYmUgdW5yZWdpc3RlcmVkIHdo ZW4gZGV2aWNlIGlzIGJlaW5nDQo+ID4+Pj4+Pj4+PiBjbGVhbmVkLiBUaGlzIHBhdGNoIGFkZCBy dGUgYWxhcm0gZm9yIGRldmljZSBkZXRhY2hpbmcsIHdpdGgNCj4gPj4+Pj4+Pj4+IHRoYXQgaXQg Y291bGQgZmluaXNoIGludGVycnVwdCBjYWxsYmFjayBzb29uIGFuZCBnaXZlIHRpbWUgdG8NCj4g Pj4+Pj4+Pj4+IGxldCB0aGUgZmFpbHVyZSBwcm9jZXNzIGRvbmUNCj4gPj4+Pj4+IGJlZm9yZSBk ZXRhY2hpbmcuDQo+ID4+Pj4+Pj4+PiBGaXhlczogMjA0OWM1MTEzZmU4ICgiYXBwL3Rlc3RwbWQ6 IHVzZSBob3RwbHVnIGZhaWx1cmUNCj4gPj4+Pj4+Pj4+IGhhbmRsZXIiKQ0KPiA+Pj4+Pj4+Pj4g U2lnbmVkLW9mZi1ieTogSmVmZiBHdW8gPGppYS5ndW9AaW50ZWwuY29tPg0KPiA+Pj4+Pj4+Pj4g LS0tDQo+ID4+Pj4+Pj4+PiAgICAgIGFwcC90ZXN0LXBtZC90ZXN0cG1kLmMgfCAxMyArKysrKysr KysrKystDQo+ID4+Pj4+Pj4+PiAgICAgIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2Fw cC90ZXN0LXBtZC90ZXN0cG1kLmMgYi9hcHAvdGVzdC1wbWQvdGVzdHBtZC5jDQo+ID4+Pj4+Pj4+ PiBpbmRleCA5YzBlZGNhLi45YzY3M2NmIDEwMDY0NA0KPiA+Pj4+Pj4+Pj4gLS0tIGEvYXBwL3Rl c3QtcG1kL3Rlc3RwbWQuYw0KPiA+Pj4+Pj4+Pj4gKysrIGIvYXBwL3Rlc3QtcG1kL3Rlc3RwbWQu Yw0KPiA+Pj4+Pj4+Pj4gQEAgLTI2MjAsNyArMjYyMCwxOCBAQCBldGhfZGV2X2V2ZW50X2NhbGxi YWNrKGNvbnN0IGNoYXINCj4gPj4+Pj4+Pj4+ICpkZXZpY2VfbmFtZSwgZW51bSBydGVfZGV2X2V2 ZW50X3R5cGUgdHlwZSwNCj4gPj4+Pj4+Pj4+ICAgICAgCQkJCWRldmljZV9uYW1lKTsNCj4gPj4+ Pj4+Pj4+ICAgICAgCQkJcmV0dXJuOw0KPiA+Pj4+Pj4+Pj4gICAgICAJCX0NCj4gPj4+Pj4+Pj4+ IC0JCXJtdl9ldmVudF9jYWxsYmFjaygodm9pZCAqKShpbnRwdHJfdClwb3J0X2lkKTsNCj4gPj4+ Pj4+Pj4+ICsJCS8qDQo+ID4+Pj4+Pj4+PiArCQkgKiBCZWZvcmUgZGV0YWNoIGRldmljZSwgdGhl IGhvdC11bnBsdWcgZmFpbHVyZQ0KPiA+Pj4+IHByb2Nlc3MgaW4NCj4gPj4+Pj4+Pj4+ICsJCSAq IHVzZXIgc3BhY2UgYW5kIGtlcm5lbCBzcGFjZSBib3RoIG5lZWQgdG8gYmUNCj4gPj4+PiBmaW5p c2hlZCwNCj4gPj4+Pj4+Pj4+ICsJCSAqIHN1Y2ggYXMgZWFsIGludGVycnVwdCBjYWxsYmFjayBu ZWVkIHRvIGJlIGluYWN0aXZlDQo+ID4+Pj4gYmVmb3JlDQo+ID4+Pj4+Pj4+PiArCQkgKiB0aGUg Y2FsbGJhY2sgYmUgdW5yZWdpc3RlcmVkIHdoZW4gZGV2aWNlIGlzIGJlaW5nDQo+ID4+Pj4gY2xl YW5lZC4NCj4gPj4+Pj4+Pj4+ICsJCSAqIFNvIGZpbmlzaGVkIGludGVycnVwdCBjYWxsYmFjayBz b29uIGhlcmUgYW5kIGdpdmUNCj4gPj4+PiB0aW1lIHRvDQo+ID4+Pj4+Pj4+PiArCQkgKiBsZXQg dGhlIHdvcmsgZG9uZSBiZWZvcmUgZGV0YWNoaW5nLg0KPiA+Pj4+Pj4+Pj4gKwkJICovDQo+ID4+ Pj4+Pj4+PiArCQlpZiAocnRlX2VhbF9hbGFybV9zZXQoMTAwMDAwLA0KPiA+Pj4+Pj4+Pj4gKwkJ CQlybXZfZXZlbnRfY2FsbGJhY2ssICh2b2lkDQo+ID4+Pj4+Pj4+PiAqKShpbnRwdHJfdClwb3J0 X2lkKSkNCj4gPj4+Pj4+Pj4+ICsJCQlSVEVfTE9HKEVSUiwgRUFMLA0KPiA+Pj4+Pj4+Pj4gKwkJ CQkiQ291bGQgbm90IHNldCB1cCBkZWZlcnJlZCBkZXZpY2UNCj4gPj4+Pj4+Pj4gSXQgbG9va3Mg bWUgc3RyYW5nZSB0byB1c2UgY2FsbGJhY2sgYW5kIGFsYXJtIHRvIHJlbW92ZSBhIGRldmljZToN Cj4gPj4+Pj4+Pj4gV2h5IG5vdCB0byB1c2UgY2FsbGJhY2sgYW5kIHRoYXQgaXMgaXQ/DQo+ID4+ Pj4+Pj4+DQo+ID4+Pj4+Pj4+IEkgdGhpbmsgdGhhdCBpdCdzIGJldHRlciB0byBsZXQgdGhlIEVB TCB0byBkZXRhY2ggdGhlIGRldmljZQ0KPiA+Pj4+Pj4+PiBhZnRlciBhbGwgdGhlDQo+ID4+Pj4+ PiBjYWxsYmFja3Mgd2VyZSBkb25lIGFuZCBub3QgdG8gZG8gaXQgYnkgdGhlIHVzZXIgY2FsbGJh Y2suDQo+ID4+Pj4+Pj4+IFNvIHRoZSBhcHBsaWNhdGlvblxjYWxsYmFjayBvd25lcnMganVzdCBu ZWVkIHRvIGNsZWFuIGl0cw0KPiA+Pj4+Pj4+PiByZXNvdXJjZXMgd2l0aCB1bmRlcnN0YW5kaW5n IHRoYXQgYWZ0ZXIgdGhlIGNhbGxiYWNrIHRoZQ0KPiA+Pj4+Pj4+PiBkZXZpY2UoYW5kIHRoZSBj YWxsYmFjaw0KPiA+Pj4+Pj4+IGl0c2VsZikgd2lsbCBiZSBkZXRhY2hlZCBieSB0aGUgRUFMLg0K PiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBGaXJzdGx5LCBhdCB0aGUgY3VycmVudGx5 IGZyYW1ld29yayBhbmQgc29sdXRpb24sIHN1Y2ggYXMNCj4gPj4+Pj4+PiBjYWxsYmFjayBmb3Ig UlRFX0VUSF9FVkVOVF9JTlRSX1JNViwgc3RpbGwgbmVlZCB0byB1c2UgdGhlDQo+ID4+Pj4+Pj4g ZGVmZXJyZWQgZGV2aWNlDQo+ID4+Pj4+PiByZW1vdmFsLA0KPiA+Pj4+Pj4+IHdlIHRlbmQgdG8g Z2l2ZSB0aGUgY29udHJvbCBvZiBkZXRhY2hpbmcgZGV2aWNlIHRvIHRoZQ0KPiA+Pj4+Pj4+IGFw cGxpY2F0aW9uLCBhbmQgdGhlIHdob2xlIHByb2Nlc3MgaXMgbG9jYXRlZCBvbiB0aGUgdXNlcidz DQo+ID4+Pj4+Pj4gY2FsbGJhY2suIE5vdGlmeSBhcHAgdG8gZGV0YWNoIGRldmljZSBieSBjYWxs YmFjayBidXQgbWFrZSBpdA0KPiA+Pj4+Pj4+IGRlZmVycmVkLA0KPiA+PiBpIHRoaW5rIGl0IGlz IGZpbmUuDQo+ID4+Pj4+IEJ1dCB0aGUgZGV2aWNlIG11c3QgYmUgZGV0YWNoZWQgaW4gcmVtb3Zl IGV2ZW50LCB3aHkgbm90IHRvIGRvIGl0DQo+ID4+Pj4+IGluDQo+ID4+IEVBTD8NCj4gPj4+PiBJ IHRoaW5rIGl0IGJlY2F1c2Ugb2YgYmVmb3JlIGRldGFjaGVkIHRoZSBkZXZpY2UsIGFwcGxpY2F0 aW9uDQo+ID4+Pj4gc2hvdWxkIGJlIHN0b3AgdGhlIGZvcndhcmRpbmcgYXQgZmlyc3QsIHRoZW4g c3RvcCB0aGUgZGV2aWNlLCB0aGVuDQo+ID4+Pj4gY2xvc2UNCj4gPj4+Pg0KPiA+Pj4+IHRoZSBk ZXZpY2UsIGZpbmFsbHkgY2FsbCBlYWwgdW5wbHVnIEFQSSB0byBkZXRhY2ggZGV2aWNlLiBJZiBl YWwNCj4gPj4+PiBkaXJlY3RseSBkZXRhY2ggZGV2aWNlIGF0IHRoZSBmaXJzdCBzdGVwLCB0aGVy ZSB3aWxsIGJlIG1vdW50YWluDQo+ID4+Pj4gdXNlciBzcGFjZSBlcnJvciBuZWVkIHRvIGhhbmRs ZSwgc28gdGhhdCBpcyBvbmUgcmVhc29uIHdoeSBuZWVkIHRvDQo+ID4+Pj4gcHJvdmlkZXIgdGhl IHJlbW92ZSBub3RpZmljYXRpb24gdG8gYXBwLCBhbmQgbGV0IGFwcCB0byBwcm9jZXNzIGl0Lg0K PiA+Pj4gVGhpcyBpcyB3aHkgdGhlIEVBTCBuZWVkIHRvIGRldGFjaCB0aGUgZGV2aWNlIG9ubHkg YWZ0ZXIgYWxsIHRoZQ0KPiA+Pj4gdXNlcg0KPiA+PiBjYWxsYmFja3Mgd2VyZSBkb25lLg0KPiA+ Pg0KPiA+Pg0KPiA+PiBJZiBpIGNvcnJlY3RseSBnb3QgeW91ciBtZWFuaW5nLCB5b3Ugc3VwcG9z ZSB0byBsZXQgZWFsIHRvIG1hbmRhdG9yeQ0KPiA+PiBkZXRhY2ggZGV2aWNlIGJ1dCBub3QgYXBw LCBhcHAganVzdCBuZWVkIHRvIHN0b3AvY2xvc2UgcG9ydCwgcmlnaHQ/DQo+ID4gWWVzLCB0aGUg YXBwIHNob3VsZCBzdG9wLGNsb3NlLGNsZWFuIGl0cyBvd24gcmVzb3VyY2VzIG9mIHRoZSByZW1v dmVkDQo+ID4gZGV2aWNlLCBUaGVuLCBFQUwgdG8gZGV0YWNoIHRoZSBkZXZpY2UuDQo+ID4NCj4g Pj4gSWYgc28sIGl0IHdpbGwgbmVlZCB0byBtb2RpZnkgcm12X2V2ZW50X2NhbGxiYWNrIGJ5IG5v dCBpbnZva2UgdGhlDQo+ID4+IGRldGFjaGluZyBmdW5jIGFuZCBhZGQgc29tZSBkZXRhY2hpbmcg bG9naWMgdG8gaG90cGx1ZyBmcmFtZXdvcmsgaW4gZWFsLg0KPiA+Pg0KPiA+IHJtdl9ldmVudF9j YWxsYmFjayBpcyB1c2luZyBieSBvdGhlciBob3RwbHVnIG1lY2hhbmlzbSAoRVRIREVWIFJNVg0K PiBldmVudCksIHNvIHlvdSBuZWVkIHRvIHVzZSBhbm90aGVyIG9uZVwgYWRkIHBhcmFtZXRlciB0 byBpdC4NCj4gPiBBbmQgeWVzLCB5b3UgbmVlZCB0byBkZXRhY2ggdGhlIGRldmljZSBmcm9tIEVB TCwgc2hvdWxkIGJlIHNpbXBsZS4NCj4gDQo+IA0KPiBJIHRoaW5rIHJtdl9ldmVudF9jYWxsYmFj ayBpcyBvcmlnaW5hbCB1c2UgZm9yIG90aGVyIGhvdHBsdWcgZXZlbnQgKEVUSERFVg0KPiBSTVYg ZXZlbnQpLCBidXQgaXQgc3RpbGwgdXNlIHRoZSBjb21tb24gaG90cGx1ZyBtZWNoYW5pc20oYXBw IGNhbGxiYWNrIGFuZA0KPiBhcHAgZGV0YWNoKSwNCj4gDQo+IHNvIGkgdGhpbmsgaXQgd2lsbCBz dGlsbCBuZWVkIHRvIGZhY2UgdGhpcyBjYWxsYmFjayBpc3N1ZSBhbmQgeW91IGNvdWxkIGNoZWNr IHRoYXQNCj4gZXRoX2V2ZW50X2NhbGxiYWNrIGFsc28gdXNlIHRoZSBydGUgYWxhcm0gdG8gZGV0 YWNoIGRldmljZS4NCg0KVGhlIEVUSERFViBsYXllciBjYW5ub3Qga25vdyBpZiBtb3JlIHRoYW4g b25lIGV0aGRldiBwb3J0IGlzIGFzc29jaWF0ZWQgdG8gdGhlIHJ0ZV9kZXZpY2UsDQpTbywgaXQg aXMgbm90IGNvcnJlY3QgdG8gZGV0YWNoIGEgcnRlX2RldmljZSBieSB0aGUgRVRIREVWIGxheWVy LiBIZW5jZSwgdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBkZWNpZGUgaW4gdGhlIEVUSERFViBldmVu dCBjYXNlLg0KDQpCdXQsIGluIHRoZSBFQUwgZXZlbnQgY2FzZSB0aGlzIGlzIGRpZmZlcmVudCBh cyBJIGV4cGxhaW5lZCBiZWZvcmUuDQoNCk1vcmVvdmVyLCBJIHRoaW5rIHRoYXQgdGhlIGV0aGRl diBSTVYgZXZlbnQgc2hvdWxkIGJlIGRlcHJlY2F0ZWQgb25lIGRheSwgYWZ0ZXIgdGhlIEVBTCBo b3QtcGx1ZyBtZWNoYW5pc20gd2lsbCBiZSBzdGFibGUuIA0KDQo+IA0KPiBzbyBteSBzdWdnZXN0 aW9uIGlzIHRoYXQsIHlvdSBtYXliZSBwcm9wb3NlIGEgZ29vZCBpZGVhIGJ1dCBsZXQgd2Uga2Vl cCBvbg0KPiBjdXJyZW50IG1lY2hhbmlzbSB1bnRpbCB3ZSBjb21lIHRvIGEgZmluYWwgZ29vZCBz b2x1dGlvbiBhZ3JlZW1lbnQsIGJlZm9yZQ0KPiB0aGF0LCBqdXN0IGxldA0KPiANCj4gaXQgZnVu Y3Rpb25hbC4NCj4gDQoNCkkgc3RpbGwgc3VnZ2VzdCB0byBmaXggdGhlIGlzc3VlIGJ5IGFuIEVB TCBkZXRhY2hpbmcuDQoNCj4gDQo+ID4+IEl0IGlzIGhhcmRseSBzYXkgYmV0dGVyIG9yIHdvcnNl IGJ1dCB0aGlzIG5ldyBwcm9wb3NlIG5lZWQgdG8gZGlzY3Vzcw0KPiA+PiBtb3JlIGluIHB1Ymxp Yy4gQW5kIGl0IG1pZ2h0IGJlIGJldHRlciB0byB1c2UgYW5vdGhlciBzcGVjaWZpYyBwYXRjaCB0 bw0KPiBoYW5kbGVyIGl0Lg0KPiA+PiBXaGF0IGRvIHlvdSBvciBvdGhlciBndXlzIHRoaW5rIHNv Pw0KPiA+IFNpbmNlIHlvdSBhcmUgZml4aW5nIGlzc3VlIGhlcmUsIGl0IGNhbiBiZSBkb25lIGJ5 IGEgZml4IHNlcmllcy4NCj4gPg0KPiA+IE90aGVyIGZlZWRiYWNrcyBhcmUgd2VsY29tZSBhbGwg dGhlIHRpbWUg8J+Yig0KPiA+DQo+ID4+DQo+ID4+Pj4+PiBJdCBpcyBhbHNvIHVuY2xlYXIgdG8g bWUgbXkgd2UgbmVlZCBhbiBhbGFybSBoZXJlLg0KPiA+Pj4+Pj4gRmlyc3QgKHByb2JhYmx5IHdy b25nKSBpbXByZXNzaW9uIHdlIGp1c3QgdHJ5IHRvIGhpZGUgc29tZQ0KPiA+Pj4+Pj4gc3luY2hy b25pemF0aW9uIFByb2JsZW0gYnkgaW50cm9kdWNpbmcgZGVsYXkuDQo+ID4+Pj4+IExvb2tzIGxp a2UsIHRoZSBpc3N1ZSBpcyB0aGF0IHRoZSBjYWxsYmFjayBmdW5jdGlvbiBtZW1vcnkgd2lsbCBi ZQ0KPiA+Pj4+PiByZW1vdmVkDQo+ID4+Pj4gZnJvbSB0aGUgZnVuY3Rpb24gaXRzZWxmIChieSB0 aGUgZGV0YWNoIGNhbGwpLCBubz8NCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4gQW5zd2VyIGhlcmUg Zm9yIGJvdGggS29uc3RhbnRpbiBhbmQgTWF0YW4uDQo+ID4+Pj4NCj4gPj4+PiBZZXMsIGkgdGhp bmsgbWF0YW4gaXMgcmlnaHQsIHRoZSBpbnRlcnJ1cHQgY2FsbGJhY2sgd2lsbCBiZSBkZXN0cm95 DQo+ID4+Pj4gaW4gdGhlIGFwcCBjYWxsYmFjayBpdHNlbGYsIHRoZSBzZXF1ZW5jZSBpcyB0aGF0 IGFzIGJlbG93DQo+ID4+Pj4NCj4gPj4+PiBob3QtdW5wbHVnIGludGVycnVwdCAtPiBpbnRlcnJ1 cHQgY2FsbGJhY2sgLT4gYXBwIGNhbGxiYWNrKHJldHVybg0KPiA+Pj4+IHRvIGZpbmlzaCBpbnRl cnJ1cHQgY2FsbGJhY2ssIGRlbGF5IGRldGFjaGluZykgLT4gZGV0YWNoDQo+ID4+Pj4gZGV2aWNl KHVucmVnaXN0ZXIgaW50ZXJydXB0DQo+ID4+Pj4gY2FsbGJhY2spDQo+ID4+Pj4NCj4gPj4+Pg0K PiA+Pj4+Pj4gS29uc3RhbnRpbg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+PiBTZWNvbmRseSwgdGhlIHZm aW8gaXMgZGlmZmVyZW50IHdpdGggaWdiX3VpbyBmb3IgaG90LXVucGx1ZywgaXQNCj4gPj4+Pj4+ PiByZWdpc3Rlci91bnJlZ2lzdGVyIGhvdHBsdWcgaW50ZXJydXB0IGNhbGxiYWNrIGZvciBlYWNo IGRldmljZSwNCj4gPj4+Pj4+PiBzbyBuZWVkIHRvIG1ha2XCoCB0aGUgY2FsbGJhY2sgZG9uZSBi ZWZvcmUgdW5yZWdpc3RlciB0aGUgY2FsbGJhY2suDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBTbyBJ IHRoaW5rIGl0IHNob3VsZCBiZSBjb25zaWRlcmF0ZSBhcyBhbiB3b3JrYXJvdW5kIGhlcmUsDQo+ ID4+Pj4+Pj4gYmVmb3JlIHdlIGZpbmQgYSBiZXR0ZXIgd2F5Lg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+ Pj4NCj4gPj4+Pj4+Pj4+IHJlbW92YWxcbiIpOw0KPiA+Pj4+Pj4+Pj4gICAgICAJCWJyZWFrOw0K PiA+Pj4+Pj4+Pj4gICAgICAJY2FzZSBSVEVfREVWX0VWRU5UX0FERDoNCj4gPj4+Pj4+Pj4+ICAg ICAgCQlSVEVfTE9HKEVSUiwgRUFMLCAiVGhlIGRldmljZTogJXMgaGFzIGJlZW4NCj4gPj4+PiBh ZGRlZCFcbiIsDQo+ID4+Pj4+Pj4+PiAtLQ0KPiA+Pj4+Pj4+Pj4gMi43LjQNCg==