From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 9881C548B for ; Tue, 23 Oct 2018 03:26:51 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Oct 2018 18:26:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,414,1534834800"; d="scan'208";a="84757038" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga006.jf.intel.com with ESMTP; 22 Oct 2018 18:26:50 -0700 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct 2018 18:26:49 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct 2018 18:26:49 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.8]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.131]) with mapi id 14.03.0319.002; Tue, 23 Oct 2018 09:25:10 +0800 From: "Lu, Wenzhuo" To: Thomas Monjalon , "dev@dpdk.org" CC: "Yigit, Ferruh" , Andrew Rybchenko Thread-Topic: [dpdk-dev] [PATCH v2] ethdev: fix device info getting Thread-Index: AQHUGlLisUPGzQjFW0iGQryp1Pu4oqSMRQ4AgATGUqCAAAwUgIAZiJ8AgBKIVDD//97qgIABlPJAgA0a4ICAAQ0lgIBefuUAgAADQACAAV+nQA== Date: Tue, 23 Oct 2018 01:25:09 +0000 Message-ID: <6A0DE07E22DDAD4C9103DF62FEBC09093B86DE05@shsmsx102.ccr.corp.intel.com> References: <1531373220-42150-1-git-send-email-wenzhuo.lu@intel.com> <4821031.obJuSW6AGg@xps> In-Reply-To: <4821031.obJuSW6AGg@xps> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2] ethdev: fix device info getting 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: Tue, 23 Oct 2018 01:26:52 -0000 SGkgVGhvbWFzLCBGZXJydWgsIEFuZHJldywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiBGcm9tOiBUaG9tYXMgTW9uamFsb24gW21haWx0bzp0aG9tYXNAbW9uamFsb24ubmV0XQ0K PiBTZW50OiBNb25kYXksIE9jdG9iZXIgMjIsIDIwMTggODoxMyBQTQ0KPiBUbzogZGV2QGRwZGsu b3JnDQo+IENjOiBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgQW5kcmV3 IFJ5YmNoZW5rbw0KPiA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT47IEx1LCBXZW56aHVvIDx3 ZW56aHVvLmx1QGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYy XSBldGhkZXY6IGZpeCBkZXZpY2UgaW5mbyBnZXR0aW5nDQo+IA0KPiAyMi8xMC8yMDE4IDE0OjAx LCBGZXJydWggWWlnaXQ6DQo+ID4gT24gOC8yMy8yMDE4IDk6NTggQU0sIEFuZHJldyBSeWJjaGVu a28gd3JvdGU6DQo+ID4gPiBPbiAyMi4wOC4yMDE4IDE5OjU1LCBGZXJydWggWWlnaXQgd3JvdGU6 DQo+ID4gPj4gT24gOC8xNC8yMDE4IDE6NTcgQU0sIEx1LCBXZW56aHVvIHdyb3RlOg0KPiA+ID4+ PiBIaSBBbmRyZXcsDQo+ID4gPj4+DQo+ID4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiA+ID4+Pj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5rbyBbbWFpbHRvOmFyeWJjaGVua29Ac29s YXJmbGFyZS5jb21dDQo+ID4gPj4+PiBTZW50OiBNb25kYXksIEF1Z3VzdCAxMywgMjAxOCA0OjM5 IFBNDQo+ID4gPj4+PiBUbzogTHUsIFdlbnpodW8gPHdlbnpodW8ubHVAaW50ZWwuY29tPjsgVGhv bWFzIE1vbmphbG9uDQo+ID4gPj4+PiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFlpZ2l0LCBGZXJy dWggPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+ID4gPj4+PiBDYzogZGV2QGRwZGsub3JnDQo+ ID4gPj4+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggdjJdIGV0aGRldjogZml4IGRl dmljZSBpbmZvDQo+ID4gPj4+PiBnZXR0aW5nDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gT24gMTMuMDgu MjAxOCAwNTo1MCwgTHUsIFdlbnpodW8gd3JvdGU6DQo+ID4gPj4+Pj4gSGkgVGhvbWFzLA0KPiA+ ID4+Pj4+DQo+ID4gPj4+Pj4NCj4gPiA+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiA+Pj4+Pj4gRnJvbTogVGhvbWFzIE1vbmphbG9uIFttYWlsdG86dGhvbWFzQG1vbmphbG9u Lm5ldF0NCj4gPiA+Pj4+Pj4gU2VudDogV2VkbmVzZGF5LCBBdWd1c3QgMSwgMjAxOCAxMTozNyBQ TQ0KPiA+ID4+Pj4+PiBUbzogTHUsIFdlbnpodW8gPHdlbnpodW8ubHVAaW50ZWwuY29tPjsgQW5k cmV3IFJ5YmNoZW5rbw0KPiA+ID4+Pj4+PiA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT47IFlp Z2l0LCBGZXJydWgNCj4gPiA+Pj4+Pj4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+DQo+ID4gPj4+ Pj4+IENjOiBkZXZAZHBkay5vcmcNCj4gPiA+Pj4+Pj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0g W1BBVENIIHYyXSBldGhkZXY6IGZpeCBkZXZpY2UgaW5mbw0KPiA+ID4+Pj4+PiBnZXR0aW5nDQo+ ID4gPj4+Pj4+DQo+ID4gPj4+Pj4+IDE2LzA3LzIwMTggMDM6NTgsIEx1LCBXZW56aHVvOg0KPiA+ ID4+Pj4+Pj4gSGkgQW5kcmV3LA0KPiA+ID4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4+Pj4+Pj4+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3Vu Y2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgTHUsDQo+ID4gPj4+Pj4+Pj4gV2Vuemh1bw0KPiA+ ID4+Pj4+Pj4+IFNlbnQ6IE1vbmRheSwgSnVseSAxNiwgMjAxOCA5OjA4IEFNDQo+ID4gPj4+Pj4+ Pj4gVG86IEFuZHJldyBSeWJjaGVua28gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb20+Ow0KPiA+ ID4+Pj4+Pj4+IGRldkBkcGRrLm9yZw0KPiA+ID4+Pj4+Pj4+IENjOiBZaWdpdCwgRmVycnVoIDxm ZXJydWgueWlnaXRAaW50ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4gPj4+Pj4+Pj4gPHRo b21hc0Btb25qYWxvbi5uZXQ+DQo+ID4gPj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0g W1BBVENIIHYyXSBldGhkZXY6IGZpeCBkZXZpY2UgaW5mbw0KPiA+ID4+Pj4+Pj4+IGdldHRpbmcN Cj4gPiA+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+IEhpIEFuZHJldywNCj4gPiA+Pj4+Pj4+Pg0KPiA+ ID4+Pj4+Pj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4+Pj4+Pj4+PiBGcm9t OiBBbmRyZXcgUnliY2hlbmtvIFttYWlsdG86YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbV0NCj4g PiA+Pj4+Pj4+Pj4gU2VudDogRnJpZGF5LCBKdWx5IDEzLCAyMDE4IDQ6MDMgUE0NCj4gPiA+Pj4+ Pj4+Pj4gVG86IEx1LCBXZW56aHVvIDx3ZW56aHVvLmx1QGludGVsLmNvbT47IGRldkBkcGRrLm9y Zw0KPiA+ID4+Pj4+Pj4+PiBDYzogWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNv bT47IFRob21hcyBNb25qYWxvbg0KPiA+ID4+Pj4+Pj4+PiA8dGhvbWFzQG1vbmphbG9uLm5ldD4N Cj4gPiA+Pj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYyXSBldGhkZXY6 IGZpeCBkZXZpY2UgaW5mbw0KPiA+ID4+Pj4+Pj4+PiBnZXR0aW5nDQo+ID4gPj4+Pj4+Pj4+DQo+ ID4gPj4+Pj4+Pj4+IEhpLCBXZW56aHVvLA0KPiA+ID4+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+PiBJ J20gc29ycnksIGJ1dCBJIGhhdmUgbW9yZSBldmVuIGhhcmRlciBxdWVzdGlvbnMgdGhhbiB0aGUN Cj4gPiA+Pj4+Pj4+Pj4gcHJldmlvdXMNCj4gPiA+Pj4+IG9uZS4NCj4gPiA+Pj4+Pj4+Pj4gVGhp cyBxdWVzdGlvbnMgYXJlIHJhdGhlciBnZW5lcmljIGFuZCBtYWlubHkgdG8gZXRoZGV2DQo+IG1h aW50YWluZXJzLg0KPiA+ID4+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+PiBPbiAxMy4wNy4yMDE4IDA1 OjQyLCBXZW56aHVvIEx1IHdyb3RlOg0KPiA+ID4+Pj4+Pj4+Pj4gVGhlIGRldmljZSBpbmZvcm1h dGlvbiBjYW5ub3QgYmUgZ290dGVuIGNvcnJlY3RseSBiZWZvcmUNCj4gPiA+Pj4+Pj4+Pj4+IHRo ZSBjb25maWd1cmF0aW9uIGlzIHNldC4gQmVjYXVzZSBvbiBzb21lIE5JQ3MgdGhlDQo+ID4gPj4+ Pj4+Pj4+PiBpbmZvcm1hdGlvbiBoYXMgZGVwZW5kZW5jZSBvbiB0aGUgY29uZmlndXJhdGlvbi4N Cj4gPiA+Pj4+Pj4+Pj4gVGhpbmtpbmcgYWJvdXQgaXQgSSBoYXZlIHRoZSBmb2xsb3dpbmcgcXVl c3Rpb24uIElzIGl0IHZhbGlkDQo+ID4gPj4+Pj4+Pj4+IGJlaGF2aW91ciBvZiB0aGUgZGV2X2lu Zm8gaWYgaXQgY2hhbmdlcyBhZnRlciBjb25maWd1cmF0aW9uPw0KPiA+ID4+Pj4+Pj4+PiBJIGFs d2F5cyB0aG91Z2h0IHRoYXQgdGhlIHByaW1hcnkgZ29hbCBvZiB0aGUgZGV2X2luZm8gaXMgdG8N Cj4gPiA+Pj4+Pj4+Pj4gcHJvdmlkZSBpbmZvcm1hdGlvbiB0byBhcHAgYWJvdXQgZGV2aWNlIGNh cGFiaWxpdGllcyB0bw0KPiA+ID4+Pj4+Pj4+PiBhbGxvdyBhcHAgY29uZmlndXJlIGRldmljZSBh bmQgcXVldWVzIGNvcnJlY3RseS4gTm93IHdlIHNlZQ0KPiA+ID4+Pj4+Pj4+PiB0aGUgY2FzZSB3 aGVuIGRldl9pbmZvIGNoYW5nZXMgb24gY29uZmlndXJlLiBNYXkgYmUgaXQgaXMNCj4gPiA+Pj4+ Pj4+Pj4gYWNjZXB0YWJsZSwgYnV0IGl0IGlzIHJlYWxseSBzdXNwaWNpb3VzLiBJZiB3ZSBhY2Nl cHQgaXQsIGl0IHNob3VsZA0KPiBiZSBkb2N1bWVudGVkLg0KPiA+ID4+Pj4+Pj4+PiBNYXkgYmUg ZGV2X2luZm8gc2hvdWxkIGJlIHNwbGl0IGludG8gcGFydHM6IHBhcnQgd2hpY2ggaXMNCj4gPiA+ Pj4+Pj4+Pj4gcGVyc2lzdGVudCBhbmQgcGFydCB3aGljaCBtYXkgZGVwZW5kIG9uIGRldmljZSBj b25maWd1cmF0aW9uLg0KPiA+ID4+Pj4+Pj4+IEFzIEkgcmVtZW1iZXIsIHRoZSBzaW1pbGFyIGRp c2N1c3Npb24gaGFzIGhhcHBlbmVkIDopIEkndmUNCj4gPiA+Pj4+Pj4+PiByYWlzZWQgdGhlIHNp bWlsYXIgc3VnZ2VzdGlvbiBsaWtlIHRoaXMuIEJ1dCB3ZSBkb27igJl0IG1ha2UgaXQNCj4gaGFw cGVuLg0KPiA+ID4+Pj4+Pj4+IFRoZSByZWFzb24gaXMsIHlvdSBzZWUsIHRoaXMgaXMgdGhlIHJ0 ZSBsYXllcidzIGJlaGF2aW9yLiBTbw0KPiA+ID4+Pj4+Pj4+IHRoZSB1c2VyIGRvZXNuJ3QgaGF2 ZSB0byBrbm93IGl0LiBGcm9tIEFQUCdzIFBvViwgaXQgaW5wdXRzDQo+ID4gPj4+Pj4+Pj4gdGhl IGNvbmZpZ3VyYXRpb24sIGl0IGNhbGxzIHRoaXMgQVBJICJydGVfZXRoX2Rldl9jb25maWd1cmUi Lg0KPiA+ID4+Pj4+Pj4+IEl0IGRvZXNuJ3Qga25vdyAgdGhlIGNvbmZpZ3VyYXRpb24gaXMgY29w aWVkIGJlZm9yZSBnZXR0aW5nIHRoZQ0KPiBpbmZvIG9yIG5vdC4NCj4gPiA+Pj4+Pj4+PiBTbywg dG8gbXkgb3Bpbmlvbiwgd2UgY2FuIHN0aWxsIGtlZXAgdGhlIGJlaGF2aW9yLiBXZSBvbmx5DQo+ ID4gPj4+Pj4+Pj4gbmVlZCB0byBzcGxpdCBpdCBpbnRvIHBhcnRzIHdoZW4gd2UgZG8gc2VlIHRo ZSBjYXNlIHRoYXQgY2Fubm90DQo+IG1ha2UgaXQuDQo+ID4gPj4+Pj4+PiBNYXliZSBJIHRhbGtl ZCB0b28gbXVjaCBhYm91dCB0aGUgcGF0Y2guIFRoaW5rIGFib3V0IGl0IGFnYWluLg0KPiA+ID4+ Pj4+Pj4gWW91ciBjb21tZW50cyBpcyBhYm91dCBob3cgdG8gdXNlIHRoZSBBUElzLA0KPiA+ID4+ Pj4+Pj4gcnRlX2V0aF9kZXZfaW5mb19nZXQsDQo+ID4gPj4+Pj4+IHJ0ZV9ldGhfZGV2X2NvbmZp Z3VyZS4gVG8gbXkgb3BpbmlvbiwgcnRlX2V0aF9kZXZfaW5mb19nZXQgaXMNCj4gPiA+Pj4+Pj4g anVzdCB0byBnZXQgdGhlIGluZm8uIEl0IGNhbiBiZSBjYWxsZWQgYW55d2hlcmUsIGJlZm9yZQ0K PiA+ID4+Pj4+PiBjb25maWd1cmF0aW9uIG9yIGFmdGVyLiBJdCdzIHJlYXNvbmFibGUgdGhlIGlu Zm8gY2hhbmdlcyB3aXRoIHRoZQ0KPiBjb25maWd1cmF0aW9uIGNoYW5naW5nLg0KPiA+ID4+Pj4+ Pj4gQnV0IHdlIGRvIGhhdmUgc29tZXRoaW5nIG1pc3NpbmcsIGxpa2UsDQo+ID4gPj4+Pj4+PiBy dGVfZXRoX2Rldl9jYXBhYmlsaXR5X2dldCB3aGljaA0KPiA+ID4+Pj4+PiBzaG91bGQgYmUgc3Rh YmxlLiBBUFAgY2FuIHVzZSB0aGlzIEFQSSB0byBnZXQgdGhlIG5lY2Vzc2FyeQ0KPiA+ID4+Pj4+ PiBpbmZvIGJlZm9yZSBjb25maWd1cmF0aW9uLg0KPiA+ID4+Pj4+Pj4gQSBxdWVzdGlvbiwgbWF5 YmUgYSBsaXR0bGUgZGl2ZXJnZW50IHRoaW5raW5nLCB0aGF0IEFQUCBzaG91bGQNCj4gPiA+Pj4+ Pj4+IGhhdmUgc29tZQ0KPiA+ID4+Pj4+PiBpbnRlbGxpZ2VuY2UgdG8gaGFuZGxlIHRoZSBjYXBh YmlsaXR5IGF1dG9tYXRpY2FsbHkuIFNvIGdldHRpbmcNCj4gPiA+Pj4+Pj4gdGhlIGNhcGFiaWxp dHkgaXMgbm90IHNvIGdvb2QgYW5kIGVmZmVjdGl2ZSwgbG9va3MgbGlrZSB3ZQ0KPiA+ID4+Pj4+ PiBzdGlsbCBuZWVkIHRoZSBodW1hbg0KPiA+ID4+Pj4gaW52b2x2ZW1lbnQuDQo+ID4gPj4+Pj4+ IE1heWJlIHRoYXQgdGhlIHJlYXNvbiBjdXJyZW50bHkgd2Ugc3VwcG9zZSBBUFAga25vdyB0aGUN Cj4gPiA+Pj4+Pj4gY2FwYWJpbGl0eSBmcm9tIHRoZSBwYXBlciBjb3BpZXMsIGV4YW1wbGVzLi4u DQo+ID4gPj4+Pj4+DQo+ID4gPj4+Pj4+IEkgYW0gbm90IHN1cmUgdG8gdW5kZXJzdGFuZCBhbGwg dGhlIHNlbnRlbmNlcy4NCj4gPiA+Pj4+Pj4gQnV0IEkgYWdyZWUgdGhhdCB3ZSBzaG91bGQgdGFr ZSBhIGRlY2lzaW9uIGFib3V0IHRoZSBzdGFiaWxpdHkNCj4gPiA+Pj4+Pj4gb2YgdGhlc2UNCj4g PiA+Pj4+IGluZm9zLg0KPiA+ID4+Pj4+PiBFaXRoZXIgaW5mb3MgY2Fubm90IGNoYW5nZSBhZnRl ciBwcm9iaW5nLCBvciB3ZSBtdXN0IGRvY3VtZW50DQo+ID4gPj4+Pj4+IHRoYXQgdGhlIGFwcCBt dXN0IHJlcXVlc3QgaW5mb3MgcmVndWxhcmx5ICh3aGVuPykuDQo+ID4gPj4+Pj4gU29ycnksIEkg bWlzc2VkIHRoaXMgbWFpbC4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IEkgaGF2ZSB0aGUgY29uY2Vy biB0aGF0IGRpZmZlcmVudCBOSUNzIGhhdmUgZGlmZmVyZW50IGJlaGF2aW9yLg0KPiA+ID4+Pj4+ IE9uZSBpbmZvDQo+ID4gPj4+PiBjYW4gYmUgc3RhYmxlIG9uIGEgTklDIGJ1dCBkeW5hbWljIG9u IGFub3RoZXIuIENvbnNpZGVyaW5nIHRoaXMsDQo+ID4gPj4+PiB3ZSBtYXkgYmV0dGVyIG5vdCBz cGxpdHRpbmcgdGhlIHJ0ZV9ldGhfZGV2X2luZm9fZ2V0IHRvIDIgQVBJcy4NCj4gPiA+Pj4+IEFu ZCBjb21wYXJpbmcgd2l0aCBoYW5kbGluZyB0aGlzIGluIHJ0ZSBsYXllciwgbWF5YmUgd2UgY2Fu IGxldCBldmVyeQ0KPiBOSUMgaGFzIGl0cyBvd24gZGVjaXNpb24uDQo+ID4gPj4+Pj4gSSBoYXZl IGFuIGlkZWEuIE1heWJlIHdlIGNhbiBhZGQgYSBwYXJhbWV0ZXIgZm9yIHBvdGVudGlhbA0KPiA+ ID4+Pj4+IGR5bmFtaWMgZmllbGRzLiBMaWtlLCBDaGFuZ2luZyB1aW50MTZfdCBuYl9yeF9xdWV1 ZXM7IHRvIHN0cnVjdA0KPiA+ID4+Pj4+IG5iX3J4X3F1ZXVlcyB7IHVpbnQxNl90IHZhbHVlOyBi b29sIHN0YWJsZTsgfQ0KPiA+ID4+Pj4gTWF5IGJlIGl0IGlzIGp1c3QgdmVyeSBiYWQgZXhhbXBs ZSwgYnV0IGFzIEkgdW5kZXJzdGFuZA0KPiA+ID4+Pj4gbmJfcnhfcXVldWVzIGlzIG1haW5seSBy ZXF1aXJlZCB0byBjb25maWd1cmUgdGhlIGRldmljZSBwcm9wZXJseS4NCj4gPiA+Pj4+IE9yIHNo b3VsZCBhcHAgY29uZmlndXJlLCBnZXQgbmV3IHZhbHVlLCByZWNvbmZpZ3VyZSBhZ2FpbiwgZ2V0 DQo+ID4gPj4+PiBuZXcgdmFsdWUgYW5kIHNvIG9uIGFuZCBzdG9wIHdoZW4gcHJldmlvdXMgaXMg ZXF1YWwgdG8gdGhlIG5ldyBvbmUuDQo+IFllcywgSSBkcmFtYXRpc2UgYW5kIGl0IHNvdW5kcyBy ZWFsbHkgYmFkLg0KPiA+ID4+Pj4gSW4gYW55IGNhc2UgaXQgd291bGQgb3Zlci1jb21wbGljYXRl IGludGVyZmFjZSBhbmQgbm8gc2luZ2xlIGFwcA0KPiA+ID4+Pj4gd2lsbCBkbyBpdCBjb3JyZWN0 bHkuDQo+ID4gPj4+IEkgIHRoaW5rIHlvdSdyZSB0YWxraW5nIGFib3V0IG1heF9yeF9xdWV1ZXMu IEFQUCBjYW4gZ2V0IHRoYXQgaW5mbw0KPiBiZWZvcmUgY29uZmlndXJhdGlvbi4gVGhlbiBjb25m aWd1cmUgcnggcXVldWUgbnVtYmVyIHdoaWNoIGlzIG5vdCBsYXJnZXINCj4gdGhhbiBpdC4gVGhh dCdzIGVub3VnaC4NCj4gPiA+Pj4gbmJfcnhfcXVldWVzIHNob3VsZCBiZSB0aGUgbnVtYmVyIHdo aWNoIGlzIGNvbmZpZ3VyZWQgYnkgQVBQIGFuZA0KPiBob3cgbWFueSBxdWV1ZXMgYXJlIGFjdHVh bGx5IHVzZWQuIFRvIG15IG9waW5pb24sIGl0J3MgbWFpbmx5IHVzZWQgYnkgdGhlDQo+IEdVSSB0 byBzaG93IHRoZSB2YWx1ZSB0byBodW1hbiBiZWluZy4NCj4gPiA+Pj4NCj4gPiA+Pj4gQlRXLCBt YXhfcnhfcXVldWVzIGNvdWxkIGJlIGFuIGdvb2QgZXhhbXBsZSB0aGF0IHNob3dzIHRoYXQNCj4g c29tZSBwYXJhbWV0ZXJzIGFyZSBzdGFibGUgb24gc29tZSBOSUNzIGJ1dCBub3Qgb24gb3RoZXIg TklDcy4NCj4gPiA+Pj4gVGFrZSBJbnRlbCBOSUNzIGZvciBleGFtcGxlIChJIGRvbuKAmXQgZmFt aWxpYXIgd2l0aCBvdGhlcnMuKSwgbm9ybWFsbHkNCj4gbWF4X3J4X3F1ZXVlcyBpcyBzdGFibGUg b24gUEYuIEJ1dCBvbiBWRiwgYXMgdGhlIG1heCBudW1iZXIgaXMgZGVjaWRlZCBieQ0KPiBQRiwg aXQgY291bGQgYmUgZHluYW1pYy4gV2hlbiBWRiBzdGFydHMsIGl0IGNhbiBnZXQgYW4gZGVmYXVs dCB2YWx1ZSBmcm9tIFBGLg0KPiBJZiBpdCBub3QgZW5vdWdoLCBpdCBjYW4gcmVxdWVzdCBhIGxh cmdlciBvbmUgZnJvbSBQRi4gSWYgdGhlIG51bWJlciB3b3JrcywgVkYNCj4gY2FuIGdldCBhIG5l dyBudW1iZXIuDQo+ID4gPj4gInN0cnVjdCBydGVfZXRoX2Rldl9pbmZvIiBpcyBhIGxpdHRsZSBv dmVybG9hZGVkLCBpdCBoYXM6DQo+ID4gPj4gLSBzdGF0aWMgaW5mbywgbGlrZSAqZGV2aWNlDQo+ ID4gPj4gLSBkZXZpY2UgbGltaXRhdGlvbnMsIG1heF8qLCAqX2xpbQ0KPiA+ID4+IC0gZGV2aWNl IGNhcGFiaWxpdGllcywgKl9jYXBhDQo+ID4gPj4gLSBzdWdnZXN0ZWQgY29uZmlndXJhdGlvbnMs IGRlZmF1bHRfKmNvbmYNCj4gPiA+PiAtIGRldmljZSBjb25maWd1cmF0aW9uLCBuYl9bci90XXhf cXVldWVzDQo+ID4gPj4gLSBvdGhlciwgc3dpdGNoX2luZm8NCj4gPiA+Pg0KPiA+ID4+IFRoZXJl IGlzIGEgY29uY2VybiB0aGF0IHNvbWUgdmFsdWVzIGFyZSBkeW5hbWljLCBidXQgdGhpcyBpcyBu b3QNCj4gPiA+PiBuZXcsIGZvciBleGFtcGxlIG5iX3J4L3R4X3F1ZXVlcyBjYW4gYmUgY2hhbmdl ZCBieQ0KPiA+ID4+IHJ0ZV9ldGhfZGV2X3J4L3R4X3F1ZXVlX2NvbmZpZygpIEFQSSBhbmQgcnRl X2V0aF9kZXZfaW5mbygpIG91dHB1dA0KPiB3aWxsIGJlIGNoYW5nZWQuDQo+ID4gPg0KPiA+ID4g VGhlIGV4YW1wbGUgbG9va3MgZGlmZmVyZW50IHRvIG1lLiBJdCBpcyBleHBsaWNpdCBjaGFuZ2Vz IGRpcmVjdGx5DQo+ID4gPiByZXF1ZXN0ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLiBTbywgaXQgaXMg bm90IGEgc3VycHJpc2UgdGhhdCBpdCBjaGFuZ2VzLg0KPiA+ID4NCj4gPiA+PiBGb3IgdGhpcyBw YXRjaCBzdWdnZXN0ZWQgY29uZmlndXJhdGlvbiBjaGFuZ2VzIGJhc2VkIG9uIHNvbWUgb3RoZXIN Cj4gPiA+PiBjb25maWcgdmFsdWVzIGxvb2tzIG9rIGFzIGNvbmNlcHQuDQo+ID4gPj4gU28gSSB0 aGluayB3ZSBjYW4gc2F5IGFmdGVyIGV2ZXJ5IGNvbmZpZ3VyYXRpb24gcmVsYXRlZCBBUEkgZGV2 DQo+ID4gPj4gaW5mbyBjYW4gYmUgY2hhbmdlZC4NCj4gPiA+DQo+ID4gPiBJIHRoaW5rIHRoYXQg c2F5aW5nIHRoYXQgYW55IGNvbmZpZ3VyYXRpb24gY2hhbmdlcyBtYXkgcmVzdWx0IGluIGFueQ0K PiA+ID4gY2hhbmdlcyBpbiBkZXZfaW5mbyBpcyBoYXJkbHkgaGVscGZ1bC4gSSdkIHN1Z2dlc3Qg dG8gYmUgbW9yZSBzcGVjaWZpYy4NCj4gPiA+IFllcywgaXQgaXMgaGFyZGVyIGFuZCB3aWxsIGhh dmUgYnVncywgYnV0IGF0IGxlYXN0IGl0IGlzIGhlbHBmdWwuDQo+ID4NCj4gPiBIaSBBbmRyZXcs IFdlbnpodW8sDQo+ID4NCj4gPiBCYWNrIHRvIHRoaXMgcGF0Y2gsIHdoaWNoIGZpeGVzIGFuIGFj dHVhbCBkZWZlY3QsDQo+ID4NCj4gPiBXaGF0IGRvIHlvdSB0aGluayBhYm91dDoNCj4gPiAxLSBL ZWVwIGV4aXN0aW5nIHBhdGNoIGJ1dCBleHRlbmQgaXQgYXMsIHNhdmUgdGhlIG9yaWdpbmFsICJk ZXYtPmRhdGEiDQo+ID4gYW5kIHJldmVydCBpdCBiYWNrIHRvIHRoaXMgb3JpZ2luYWwgZGF0YSBv biBhbGwgZXJyb3IgcGF0aC4NCj4gPiAyLSBVcGRhdGUgcnRlX2V0aF9kZXZfaW5mbygpIEFQSSBk b2N1bWVudCBhbmQgc2F5IGRlZmF1bHQNCj4gPiBjb25maWd1cmF0aW9uIGNhbiBiZSBjaGFuZ2Vk IGJhc2VkIG9uIG90aGVyIGNvbmZpZyBmaWVsZHMuIFNvIHRoaXMNCj4gPiByZWR1Y2VzIHRoZSBz Y29wZSBvZiB0aGluZ3MgY2FuIGNoYW5nZSBpbiBkZXZfaW5mby4NCj4gDQo+IEkgdGhpbmsgd2Ug YXJlIGRvaW5nIHRvbyBtdWNoIGp1Z2dsaW5nIHdpdGggZGF0YSBpbiBldGhkZXYgbGF5ZXIuDQo+ IEFsbCB0aGVzZSB0aGluZ3Mgc2hvdWxkIGJlIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgUE1E Lg0KPiBNeSByYWRpY2FsIHByb3Bvc2FsIHdvdWxkIGJlIHRvIHJlbW92ZSBydGVfZXRoX2Rldl9p bmZvIGFuZCBpbnRlZ3JhdGUgYWxsDQo+IHRoZSBkYXRhIGludG8gcnRlX2V0aF9kZXZfZGF0YS4N Cj4gDQpTb3JyeSBmb3IgbWlzc2luZyB0aGlzIGRpc2N1c3Npb24uIEl0J3MgYSBnb29kIGRpc2N1 c3Npb24gYWJvdXQgaG93IHRvIG9wdGltaXplIHRoZSBydGVfZXRoLg0KQnV0IEkgaGF2ZSB0byBz YXkgdGhhdCBhYm92ZSBkaXNjdXNzaW9uIGNhbiByZWFjaCBhIGh1Z2UgcmVjb25zaXR1dGlvbiBv ZiB0aGUgcnRlX2V0aCBhbmQgaW1wYWN0IGV2ZXJ5IFBNRC4gSXMgdGhhdCBmYWlyPyANClRoaXMg cGF0Y2ggaXMgb25seSB0cnkgdG8gcmV2ZXJ0IGEgYmFkIGNvbW1pdCBhcyB3ZSBhbHJlYWR5IGZp bmQgYnVnLiBBcyBJIHJlbWVtYmVyLCBhdCB0aGUgYmVnaW5uaW5nLCBBbmRyZXcgc2FpZCB0aGUg ZGlzY3Vzc2lvbiBtYXkgbm90IGFib3V0IHRoZSBwYXRjaCBidXQgZ2VuZXJpYy4gU28gY291bGQg d2UganVzdCB0ZWxsIGlmIHRoaXMgcGF0Y2ggaXRzZWxmIE9LIGF0IGZpcnN0PyAgVGhhbmtzLg0K