From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <wenzhuo.lu@intel.com>
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by dpdk.org (Postfix) with ESMTP id 9881C548B
 for <dev@dpdk.org>; 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" <wenzhuo.lu@intel.com>
To: Thomas Monjalon <thomas@monjalon.net>, "dev@dpdk.org" <dev@dpdk.org>
CC: "Yigit, Ferruh" <ferruh.yigit@intel.com>, Andrew Rybchenko
 <arybchenko@solarflare.com>
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>
 <a69a0f72-bd23-301e-1494-92ab4fdb1b0e@solarflare.com>
 <d77baf55-a851-6268-b4f6-ad78062ba687@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 <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: 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