From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30062.outbound.protection.outlook.com [40.107.3.62]) by dpdk.org (Postfix) with ESMTP id B7D0EAAF4 for ; Mon, 16 Apr 2018 18:11:11 +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; bh=EzjCTm8Ohe/6Ey0ejqBt+k2ccsoJ7ooKojXR+Z8POGg=; b=sdGKGcuYPqADWUTfYTqd/MD1xIiSiP2hf8kz8l0WuL++yXU57aGZ2XgSGJxgodjOmIirwLKx3yo/Xdjgvu+7ZPUdLnA57mOMmL+ZtKNN7waj5pDXg+hPyM6zuE6lxIa1qmtMwB3A5O2735IxFyWD4VXXvt06Q2M7SZCIKxGSdrU= Received: from AM4PR0501MB2657.eurprd05.prod.outlook.com (10.172.215.19) by AM4PR0501MB2691.eurprd05.prod.outlook.com (10.172.215.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.675.10; Mon, 16 Apr 2018 16:11:10 +0000 Received: from AM4PR0501MB2657.eurprd05.prod.outlook.com ([fe80::6885:c169:afcb:37e6]) by AM4PR0501MB2657.eurprd05.prod.outlook.com ([fe80::6885:c169:afcb:37e6%9]) with mapi id 15.20.0675.015; Mon, 16 Apr 2018 16:11:10 +0000 From: Matan Azrad To: "Guo, Jia" , "Burakov, Anatoly" , Bruce Richardson , Thomas Monjalon CC: "dev@dpdk.org" , "pmatilai@redhat.com" , "david.marchand@6wind.com" , "konstantin.ananyev@intel.com" , "stephen@networkplumber.org" , "fbl@redhat.com" Thread-Topic: kernel binding of devices + hotplug Thread-Index: AQHT00ThIlNWXyeugUC+Eesfo2Tt3qP+5c0AgAAQxACAAasfUIACgbKAgABVHiA= Date: Mon, 16 Apr 2018 16:11:09 +0000 Message-ID: References: <2407757.yEAnF6RcS7@xps> <20180413164046.GD37024@bricha3-MOBL.ger.corp.intel.com> In-Reply-To: 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; AM4PR0501MB2691; 7:8dAcWaRom+5SAqbpaDnQKiTssTG2caLa57NiOb+YmXUPXkSQHQaYbzCqa6fjq+RZqZllxrybmv0WZRm8AzIdWfmDyBr5yHG5W6NAV5MhW1WTlm1+fRLSpHIYHcstvXJbnFdsHXhCWe+sGqimLdPGw6j8glcIUcXndrwjxmaI51igZbnheTHhb8Dst8jcsXIxiTC6SL9ODJqMIPn/8YurHOBWW06iWXaV73obY6hsqdTKA4Hc4fPgQy0UKXeuqgL1 x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020); SRVR:AM4PR0501MB2691; x-ms-traffictypediagnostic: AM4PR0501MB2691: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(278428928389397)(189930954265078)(45079756050767)(228905959029699)(17755550239193); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231232)(944501327)(52105095)(3002001)(10201501046)(6055026)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123558120)(20161123562045)(6072148)(201708071742011); SRVR:AM4PR0501MB2691; BCL:0; PCL:0; RULEID:; SRVR:AM4PR0501MB2691; x-forefront-prvs: 0644578634 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(39380400002)(376002)(39860400002)(366004)(396003)(53754006)(199004)(189003)(6506007)(3846002)(53546011)(45080400002)(54906003)(6116002)(26005)(5660300001)(106356001)(102836004)(4326008)(59450400001)(478600001)(186003)(76176011)(7696005)(99286004)(316002)(8936002)(110136005)(7416002)(446003)(25786009)(11346002)(305945005)(7736002)(6246003)(74316002)(86362001)(575784001)(81166006)(81156014)(93886005)(33656002)(6436002)(2900100001)(2906002)(9686003)(55016002)(229853002)(6306002)(105586002)(3660700001)(8676002)(97736004)(3280700002)(966005)(66066001)(5250100002)(476003)(14454004)(68736007)(53936002)(486006); DIR:OUT; SFP:1101; SCL:1; SRVR:AM4PR0501MB2691; H:AM4PR0501MB2657.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-microsoft-antispam-message-info: ybJhSR8a2gG2hM3lUpzWWPxcorbewlUwYl9OSnEo7gvlR7dE5Lu0WzAgo0Zh/my6/nzgGNZF5gbNzX5aPYoA9AYNdfiFWTtC2zWCUoW/HCygRvl0x++SUapHoHu3d3k9QYEkojtE2TIhpiMISnig2HknTlfuqLyax2l7g2m6uivtYoKzcy4hUhrPKfTKWk1+ spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 70d7e50e-5bfb-4d85-9d46-08d5a3b4aaf2 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70d7e50e-5bfb-4d85-9d46-08d5a3b4aaf2 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Apr 2018 16:11:09.8689 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0501MB2691 Subject: Re: [dpdk-dev] kernel binding of devices + hotplug 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: Mon, 16 Apr 2018 16:11:11 -0000 SGkgR3VvDQoNCkZyb206IEd1bywgSmlhLCBNb25kYXksIEFwcmlsIDE2LCAyMDE4IDEyOjI2IFBN DQo+IFRvOiBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFub3guY29tPjsgQnVyYWtvdiwgQW5hdG9s eQ0KPiA8YW5hdG9seS5idXJha292QGludGVsLmNvbT47IEJydWNlIFJpY2hhcmRzb24NCj4gPGJy dWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFs b24ubmV0Pg0KPiBDYzogZGV2QGRwZGsub3JnOyBwbWF0aWxhaUByZWRoYXQuY29tOyBkYXZpZC5t YXJjaGFuZEA2d2luZC5jb207DQo+IGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb207IHN0ZXBo ZW5AbmV0d29ya3BsdW1iZXIub3JnOw0KPiBmYmxAcmVkaGF0LmNvbQ0KPiBTdWJqZWN0OiBSZTog a2VybmVsIGJpbmRpbmcgb2YgZGV2aWNlcyArIGhvdHBsdWcNCj4gDQo+IGhpLCBhbGwNCj4gDQo+ IA0KPiBPbiA0LzE1LzIwMTggNDoxMCBBTSwgTWF0YW4gQXpyYWQgd3JvdGU6DQo+ID4gSGkgYWxs DQo+ID4NCj4gPiBGcm9tOiBCdXJha292LCBBbmF0b2x5LCBGcmlkYXksIEFwcmlsIDEzLCAyMDE4 IDg6NDEgUE0NCj4gPj4gVG86IEJydWNlIFJpY2hhcmRzb24gPGJydWNlLnJpY2hhcmRzb25AaW50 ZWwuY29tPjsgVGhvbWFzIE1vbmphbG9uDQo+ID4+IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiA+ PiBDYzogZGV2QGRwZGsub3JnOyBwbWF0aWxhaUByZWRoYXQuY29tOyBkYXZpZC5tYXJjaGFuZEA2 d2luZC5jb207DQo+ID4+IGppYS5ndW9AaW50ZWwuY29tOyBNYXRhbiBBenJhZCA8bWF0YW5AbWVs bGFub3guY29tPjsNCj4gPj4ga29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbTsgc3RlcGhlbkBu ZXR3b3JrcGx1bWJlci5vcmc7DQo+ID4+IGZibEByZWRoYXQuY29tDQo+ID4+IFN1YmplY3Q6IFJl OiBrZXJuZWwgYmluZGluZyBvZiBkZXZpY2VzICsgaG90cGx1Zw0KPiA+Pg0KPiA+PiBPbiAxMy1B cHItMTggNTo0MCBQTSwgQnJ1Y2UgUmljaGFyZHNvbiB3cm90ZToNCj4gPj4+IE9uIEZyaSwgQXBy IDEzLCAyMDE4IGF0IDA2OjMxOjIxUE0gKzAyMDAsIFRob21hcyBNb25qYWxvbiB3cm90ZToNCj4g Pj4+PiBJdCdzIHRpbWUgdG8gdGhpbmsgKGFnYWluKSBob3cgd2UgYmluZCBkZXZpY2VzIHdpdGgg a2VybmVsIG1vZHVsZXMuDQo+ID4+Pj4gV2UgbmVlZCB0byBkZWNpZGUgaG93IHdlIHdhbnQgdG8g bWFuYWdlIGhvdHBsdWdnZWQgZGV2aWNlcyB3aXRoDQo+ID4+IERQREsuDQo+ID4+Pj4gQSBiaXQg b2YgaGlzdG9yeSBmaXJzdC4NCj4gPj4+PiBUaGVyZSB3YXMgc29tZSBjb2RlIGluIERQREsgZm9y IGJpbmQvdW5iaW5kLCBidXQgaXQgaGFzIGJlZW4NCj4gPj4+PiByZW1vdmVkIGluIERQREsgMS43 IC0NCj4gPj4+Pg0KPiA+Pg0KPiBodHRwczovL2VtZWEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5v dXRsb29rLmNvbS8/dXJsPWh0dHAlM0ElMkYlMkZkcGQNCj4gPj4NCj4gay5vcmclMkZjb21taXQl MkY1ZDg3NTFiODMmZGF0YT0wMiU3QzAxJTdDbWF0YW4lNDBtZWxsYW5veC5jb20NCj4gPj4gJTdD NmVhNQ0KPiA+Pg0KPiA1Y2U5OTRmZjRiYjBkNjUyMDhkNWExNjViNDE3JTdDYTY1Mjk3MWM3ZDJl NGQ5YmE2YTRkMTQ5MjU2ZjQ2MWIlNw0KPiA+PiBDMCU3DQo+ID4+DQo+IEMwJTdDNjM2NTkyMzgw NTY1MDc4Njc1JnNkYXRhPXVMUkRBazY1aFl0Sll4akl2WTIwZGUzNzd5YXlDTjVEcmpDWg0KPiA+ PiB4OEgNCj4gPj4+PiBwNjFvJTNEJnJlc2VydmVkPTAgQ29weSBvZiB0aGUgY29tbWl0IG1lc3Nh Z2UgKGluIDIwMTQpOg0KPiA+Pj4+ICINCj4gPj4+PiAJVGhlIGJpbmQvdW5iaW5kIG9wZXJhdGlv bnMgc2hvdWxkIG5vdCBiZSBoYW5kbGVkIGJ5IHRoZSBlYWwuDQo+ID4+Pj4gCVRoZXNlIG9wZXJh dGlvbnMgc2hvdWxkIGJlIGVpdGhlciBkb25lIG91dHNpZGUgb2YgZHBkayBvcg0KPiA+Pj4+IAlp bnNpZGUgdGhlIFBNRHMgdGhlbXNlbHZlcyBhcyB0aGVzZSBhcmUgdGhlaXIgcHJvYmxlbXMuDQo+ ID4+Pj4gIg0KPiA+Pj4+DQo+ID4+Pj4gVGhlIHF1ZXN0aW9uIHJhaXNlZCBhdCB0aGlzIHRpbWUg KDQgeWVhcnMgYWdvKSBpcyBzdGlsbCB1bmRlciBkaXNjdXNzaW9uLg0KPiA+Pj4+IFNob3VsZCB3 ZSBtYW5hZ2UgYmluZGluZyBpbnNpZGUgb3Igb3V0c2lkZSBEUERLPw0KPiA+Pj4+IFNob3VsZCBp dCBiZSBjb250cm9sbGVkIGluIHRoZSBhcHBsaWNhdGlvbiBvciBpbiB0aGUgT1MgYmFzZT8NCj4g Pj4+Pg0KPiA+Pj4+IEFzIHlvdSBrbm93LCB3ZSB1c2UgZHBkay1kZXZiaW5kLnB5Lg0KPiA+Pj4+ IFRoaXMgdG9vbCBsYWNrcyB0d28gbWFqb3IgZmVhdHVyZXM6DQo+ID4+Pj4gCS0gcGVyc2lzdGVu dCBjb25maWd1cmF0aW9uDQo+ID4+Pj4gCS0gaG90cGx1Zw0KPiA+Pj4+DQo+ID4+Pj4gSWYgd2Ug Y29uc2lkZXIgdGhhdCB0aGUgRFBESyBhcHBsaWNhdGlvbnMgc2hvdWxkIGJlIGFibGUgdG8gYXBw bHkNCj4gPj4+PiBpdHMgb3duIHBvbGljeSB0byBjaG9vc2UgdGhlIGRldmljZXMgdG8gYmluZCwg dGhlbiB3ZSBuZWVkIHRvDQo+ID4+Pj4gaW1wbGVtZW50IGJpbmRpbmcgaW4gdGhlIFBNRCAod2l0 aCBFQUwgaGVscGVycykuDQo+ID4+Pj4NCj4gPj4+PiBPbiB0aGUgb3RoZXIgaGFuZCwgaWYgd2Ug Y29uc2lkZXIgdGhhdCBpdCBpcyB0aGUgc3lzdGVtDQo+ID4+Pj4gcmVzcG9uc2liaWxpdHksIHRo ZW4gd2UgY291bGQgY2hvb3NlIHN5c3RlbWQvdWRldiBhbmQgZHJpdmVyY3RsLg0KPiA+Pj4+DQo+ ID4+Pj4gVGhlIGRlYmF0ZSBpcyBsYXVuY2hlZCENCj4gPj4+Pg0KPiA+Pj4gQWxsb3cgbWUgdG8g bmFpbCBteSBjb2xvdXJzIHRvIHRoZSBtYXN0IGVhcmx5ISA6LSkNCj4gPj4+DQo+ID4+PiBJIGJl bGlldmUgaXQncyBzeXN0ZW0gbm90IGFwcGxpY2F0aW9uIHJlc3BvbnNpYmlsaXR5Lg0KPiA+Pj4g SSBhbHNvIGJlbGlldmUgSSBoYXZlIHByZXZpb3VzbHkgZXhwbGFpbmVkIG15IHJlYXNvbnMgZm9y IHRoYXQNCj4gPj4+IGNob2ljZSBpbiBzb21lIG9mIHRoZSBwcmV2aW91cyBlbWFpbCB0aHJlYWRz Lg0KPiA+PiBGb3Igd2hhdCBpdCdzIHdvcnRoLCBJIHRlbmQgdG8gYWdyZWUsIGlmIG9ubHkgYmVj YXVzZSB3cml0aW5nIGNvZGUNCj4gPj4gZm9yIHdoYXQgaXMgZXNzZW50aWFsbHkgYSBidW5jaCBv ZiByZWFkL3dyaXRlL2ZpbGVzeXN0ZW0gZW51bWVyYXRpb24NCj4gPj4gaW4gQyBpcyBleHRyZW1l bHkgZmlkZGx5IGFuZCBlcnJvciBwcm9uZSA6KSBJTU8gdGhpbmdzIGxpa2UgdGhpcyBhcmUNCj4g Pj4gYmV0dGVyIGhhbmRsZWQgZWl0aGVyIGJ5IHNjcmlwdHMsIG9yIGJ5IHRvb2xzIHdob3NlIHNv bGUgcHVycG9zZSBpcyBkb2luZw0KPiBleGFjdGx5IHRoYXQgKG9yIGJvdGgpLg0KPiA+Pg0KPiA+ PiBJIGxpa2UgaGF2aW5nIHNjcmlwdHMgbGlrZSBkZXZiaW5kIGluIERQREsgYmVjYXVzZSB3ZSBj YW4gdGFpbG9yIHRoZW0NCj4gPj4gdG8gb3VyIHVzZSBjYXNlcyBiZXR0ZXIsIGFuZCBoYXZpbmcg dGhlbSBpcyBhbWVuYWJsZSB0byBhdXRvbWF0aW9uLA0KPiA+PiBidXQgd2hpbGUgSSB3b3VsZG4n dCBiZSBvcHBvc2VkIHRvIHJlbW92aW5nIHRoZW0gYWx0b2dldGhlciBpbiBmYXZvcg0KPiA+PiBv ZiBzb21lIGV4dGVybmFsIHRvb2wgKHN5c3RlbWQvdWRldi9kcml2ZXJjdGwvd2hhdGV2ZXIpLCBp biBteSBodW1ibGUNCj4gPj4gb3BpbmlvbiBtb3ZpbmcgdGhlbSBiYWNrIGludG8gRUFMIG9yIGV2 ZW4gUE1EJ3Mgd291bGQgYmUgYSBtaXN0YWtlLg0KPiA+Pg0KPiA+IFNpbmNlIHRoZSBhcHBsaWNh dGlvbiBydW5zIGluIHRoZSBzeXN0ZW0gYnkgYSBjb21tYW5kIG9mIHRoZSBzeXN0ZW0gdXNlciBJ DQo+IHRoaW5rIHRoZSByZXNwb25zaWJpbGl0eSBpcyBmb3IgdGhlIHVzZXIuDQo+ID4gVGhlIERQ REsgdXNlciBmb3J3YXJkcyB0aGUgY29udHJvbCBvZiBzb21lIGRldmljZXMgdG8gdGhlIERQREsN Cj4gPiBhcHBsaWNhdGlvbiB1c2luZyB0aGUgRUFMIHdoaXRlbGlzdFxibGFja2xpc3QgbW9kZSB0 byBzcGVjaWZ5IHRoZQ0KPiA+IGRldmljZXMsIEFueSBEUERLIFBNRCBzaG91bGQga25vdyB3aGlj aCBiaW5kaW5nIGl0IG5lZWRzIHRvDQo+IHByb2JlXGNvbnRyb2wgdGhlIGRldmljZSBhbmQgY2Fu IGFwcGx5IGl0LCBTbywgaWYgdGhlIHVzZXIgYXNrcyB0byBjb250cm9sIG9uIGENCj4gZGV2aWNl IGJ5IERQREsgYXBwbGljYXRpb24gaXQgbWFrZXMgc2Vuc2UgdGhhdCB0aGUgYXBwbGljYXRpb24g d2lsbCBkbyB0aGUNCj4gY29ycmVjdCBiaW5kaW5nIHRvIHRoZSBkZXZpY2Ugc2luY2UgdGhlIHVz ZXIgd2FudHMgdG8gdXNlIGl0KG5vIG5lZWQgdG8gYXNrDQo+IG1vcmUgb3BlcmF0aW9uIG9mIHBy ZSBiaW5kaW5nIGZyb20gdGhlIHVzZXIpLg0KPiA+DQo+ID4gUmVnYXJkaW5nIHRoZSBjb25mbGlj dCBvZiBzeXN0ZW0gcnVsZXMgZm9yIGEgZGV2aWNlLCBpdCBpcyBhZ2FpbiB0aGUgdXNlcg0KPiBy ZXNwb25zaWJpbGl0eSwgd2hhdGV2ZXIgd2Ugd2lsbCBkZWNpZGUgZm9yIHRoZSBiaW5kaW5nIHBy b2NlZHVyZSBvZiBEUERLDQo+IGFwcGxpY2F0aW9uIHRoZSB1c2VyIG5lZWRzIHRvIHRha2UgaXQg aW50byBhY2NvdW50IGFuZCB0byBzb2x2ZSBzdWNoIGxpa2UNCj4gY29uZmxpY3RzLg0KPiA+IE9u ZSBvcHRpb24gaXMgdG8gcmVtb3ZlIGFueSBiaW5kaW5nIHJ1bGVzIG9mIGEgRFBESyBkZXZpY2Ug aW4gdGhlIERQREsNCj4gYXBwbGljYXRpb24gaW5pdGlhbGl6YXRpb24gYW5kIGFkanVzdCB0aGUg bmV3IHJ1bGVzIGJ5IHRoZSBQTURzLCB0aGVuIGFueQ0KPiBjb25mbGljdCBzaG91bGQgbm90IGRp c3R1cmIgdGhlIHVzZXIuDQo+ID4NCj4gPiBJbiBjdXJyZW50IGhvdC1wbHVnIGNhc2UgdGhlIGFw cGxpY2F0aW9uIHdpbGwgbmVlZCB0byBkbyBhIGxvdCBvZiB3b3JrIHRvDQo+IGJpbmRccmVtYXAg ZGV2aWNlcyBpbiBwbHVnLWluXHBsdWctb3V0IGV2ZW50cyB3aGlsZSB0aGUgUE1EIGNvdWxkIGhh dmUgYWxsDQo+IHRoZSBrbm93bGVkZ2UgdG8gZG8gaXQuDQo+ID4NCj4gPiBPbmUgbW9yZSBpc3N1 ZSB3aXRoIHRoZSBzY3JpcHQgaXMgdGhhdCB0aGUgdXNlciBzaG91bGQgZG8gZGlmZmVyZW50IGJp bmQgcGVyDQo+IGRldmljZSwgaW4gY2FzZSBvZiBQTUQgcmVzcG9uc2liaWxpdHkgdGhlIHVzZXIg Y2FuIGZvcmdldCBpdDoNCj4gPiBUaGluayBhYm91dCB0aGF0LCBhbnkgdGltZSB0aGUgdXNlciB3 YW50cyB0byBzd2l0Y2hcYWRkIG5ldyBzdXBwb3J0ZWQgbmljDQo+IGl0IHNob3VsZCB1cGRhdGUg dGhlIHNjcmlwdCB1c2FnZSBhbmQgdG8gZG8gcGVyIG5pYyBvcGVyYXRpb24gY29udHJhcnkgdG8g dGhlDQo+IERQREsgcHJpbmNpcGxlcy4NCj4gPg0KPiA+IE1hdGFuLg0KPiA+PiBUaGFua3MsDQo+ ID4+IEFuYXRvbHkNCj4gd2hlbiBkZXZpY2UgYXBwZWFyIHdoZW5ldmVyIGRwZGsgaXMgcnVubm5p bmcgb3Igbm90LCB0aGUgZGV2aWNlIHdpbGwNCj4gZGVmYXVsdCBiaW5kIHRvIEtlcm5lbCBkcml2 ZXIsDQoNClllcw0KDQo+IHVzZXIgb3Igc2F5IHN5c3RlbSBhZG1pbiBjb3VsZCB1c2UgdGhlIHNj cmlwdCBvcg0KPiB0b29scyB0byByZWJpbmQgYSBzcGVjaWZpYyBkcml2ZXIgd2hpY2ggYWNjb3Jk aW5nIHRoZWlyIHJlcXVlc3Qgc28gaSB0aGluayB1c2VyDQo+IHNwYWNlIHRvb2xzIHByb3ZpZGUg ZnVuY3Rpb25hbCBhbmQgdXNlciBoYXZlIHRoZSBiaW5kaW5nIHJlc3BvbnNpYmlsaXR5IHJhdGhl cg0KPiB0aGFuIHRoZSBhcHAgb3IgUE1ELg0KDQpUaGUgYXBwXFBNRCBpcyBydW5uaW5nIGJ5IHRo ZSB1c2VyLCBzbyBpdCBpcyBPSyh0aGUgdXNlciBqdXN0IG5lZWQgdG8ga25vdyB3aGF0IHRoZSBh cHAgZG9lcykuDQoNCj4gaSBkb24ndCB1bmRlcnN0YW5kIHdoeSBvdmVyIHJpZGUgdG8gb3RoZXIg ZHJpdmVyIGlzIHRoZQ0KPiBzY29wZSBvZiBhbiBzcGVjaWZpYyBQTUQuDQoNCkJlY2F1c2UgdGhl IFBNRCBjYW4ga25vdyB3aGF0IGJpbmRpbmcgaXQgbmVlZHMgZm9yIHVzaW5nIHRoZSBkZXZpY2Uu DQpBbGwgdGhlIG9wdGlvbnMgY2FuIGJlIGhhbmRsZWQgYnkgRUFMICAtIHRoZSBQTUQganVzdCBu ZWVkIHRvIHNheSB3aGF0IGlzIHRoZSBkcml2ZXIgdG8gYmluZC4NCg0KPiBBbmQgaWYgdGhlcmUg aXMgY29uZmxpY3QgYnkgcnVsZXMgLCB1c2VyIGNvdWxkIG92ZXINCj4gcmlkZSBpdCBhbmQgdGFr ZSB0aGUgY29udHJvbC4NCg0KV2UgY2FuIGRlZmluZSB0aGF0IGFsbCB0aGUgY29udHJvbCBvZiBh biBydGVfZGV2aWNlIGlzIGZvciBEUERLLg0KIA0KPiBQZXIgZHBkayBob3RwbHVnLCB0aGUgcHVy cG9zZSBpcyBmb3IgdGhlIGFwcCBmYWlsc2FmZSBhbmQgVk0gbGl2ZSBtaWdyYXRpb24sDQo+IGRy aXZlcmN0bCBpcyBmb2N1cyBkcml2ZXIgY29udHJvbCBhbmQgdWRldiBpcyBmb2N1cyBvbiBkZXZp Y2UgaG90cGx1ZyBidXQgbm8NCj4gdXNlcnNwYWNlIGZhaWx1cmUgaGFuZGxlICwgdGhlcmUgYXJl IHN0aWxsIG5vdCBhbiBjb21wbGV0ZSBob3RwbHVnIHNvbHV0aW9uIGZvcg0KPiBkcGRrIGFwcCwg IGV2ZW4gdGhlIHNjcmlwdCBoYXZlIGJpbmRpbmcsIGl0IGxvb2sgbGlrZSBhcyBhIG1pbmltYWwg InN5c3RlbQ0KPiBhZG1pbiB0b29scyIgZml0IGZvciBkcGRrLCBidXQgbm90IHBlcnNpc3RlbnQg YW5kIG5vdCBob3RwbHVnIGZ1bmN0aW9uYWwuDQoNCkkgc3VnZ2VzdGVkIGZ1bGwgc29sdXRpb24g d2l0aG91dCBhcHAgaW52b2x2ZW1lbnQ6DQpQbHVnLW91dCBkZXRlY3RlZCBieSBFQUwtPlBNRCBu b3RpZmljYXRpb24tPnJlbWFwIGJ5IHRoZSBQTUQtPmFwcCBub3RpZmljYXRpb24tPmp1c3Qgc3Rv cCB0byB1c2UgdGhlIGRldmljZS4NClBsdWctaW4gZGV0ZWN0ZWQgYnkgRUFMLT53aGl0ZWxpc3Rc YmxhY2tsaXN0IG1hdGNoLT5wcm9iZS0+YmluZCBieSBQTUQgLT4gYXBwIG5vdGlmaWNhdGlvbi0+ c3RhcnQgdG8gdXNlIHRoZSBkZXZpY2UuDQoNCj4gIHNvIGlmDQo+IHdlIGFpbSB0byBwcm92aWRl ciBhIHRvdGFsIGhvdHBsdWcgc2VydmljZSBhdCBkcGRrIGZyYW1ld29yaywgb2ZmbG9hZCB0aGVz ZQ0KPiB3b3JrcyBmcm9tIGFwcGxpY2F0aW9uIGFuZCB1c2VyIHRoYXQgaXMgbmVlZC4gSW4gbm9y bWFsIHVzZXIgdGFrZSB0aGUgZHJpdmVyDQo+IGNvbnRyb2wgYnkgdG9vbHMvc2NyaXB0KGJvdGgg b2sgaW4gbXkgb3Bpbmlvbikgb3B0aW9uYWwgYXQgaW5pdGlhbCAsIHdoaWxlIGluDQo+IGhvdHBs dWcgY2FzZSwgZmFpbHVyZSBvY2N1ciBvbiBydW50aW1lLCBkcGRrIHRha2UgdGhlIGNvbnRyb2wg b2YgZHJpdmVyIGZyb20NCj4gdXNlci4gY29tcGFyZSB3aXRoIGFwcCBhbmQgUE1ELCBkbyB5b3Ug YWdyZWUgZHBkayBiZXN0IHRvIHRha2UgdGhlIHJvbGUgb24NCj4gcnVudGltZT8NCg0KWWVzLCBi dXQgYnkgdGhlIFBNRCwgbm90IGJ5IHRoZSBhcHBcdXNlci4NClNvLCBFQUwgd2lsbCBwcm9iZSB0 aGUgZGV2aWNlIGlmIGl0IHdhcyBtYXRjaGVkIHdpdGggdGhlIHdoaXRlbGlzdFxibGFja2xpc3Qg cnVsZXMgYW5kIHRoZSBQTUQgd2lsbCBkbyB0aGUgY29ycmVjdCBiaW5kIGluIHRoZSBwcm9iZSBm dW5jdGlvbi4NClRoZSBhcHBsaWNhdGlvbiBqdXN0IHNob3VsZCBnZXQgbm90aWZpY2F0aW9uIG9m IHRoZSBwcm9iaW5nIGFuZCB0byBzdGFydCB0byBtYW5hZ2UgdGhlIGRldmljZS4NCg0KPiBpZiBv bmx5IHVzZXIgY291bGQgdGFrZSB0aGUgcm9sZSwgdGhlIFNSSU9WIGxpdmUgbWlncmF0aW9uIG9m IGRwZGsNCj4gd291bGQgaGFyZCB0byBiZSBtYWtlIHNlbnNlLg0KDQpTb3JyeSwgZG9uJ3QgdW5k ZXJzdGFuZCB5b3UgaGVyZS4NCg0KPiBpIGFncmVlIGxldCBhcHAgZG9uJ3QgY2FyZSBhYm91dCBh bnkgYmluZC9mYWlsdXJlIGhhbmRsZSwgaW4gY3VycmVudCBob3RwbHVnDQo+IHNvbHV0aW9uIGZh aWx1cmUgaGFuZGxlIGVtYmVkZGVkIGluIGRwZGsgYnV0IGJpbmRpbmcgaXMgZXhwb3NlZCB0byBh cHAsIGlmDQo+IGdvdCBhZ3JlZW1lbnQgdG8gZHBkayBiaW5kaW5nICwgaSBjb3VsZCBsZXQgZHBk ayBzZWxmIGRvIGl0Lg0KPiBpZiB2b3RlIHJlc3VsdCBpcyBub3QgbGV0IGRwZGsgY2hhcmdlIGl0 LCBpIHdpbGwgdGVtcG9yYXJ5IHJlbW92ZSB0aGUgYmluZGluZw0KPiBmdW5jdGlvbiB0byBzaHJp bmsgdGhlIGhvdHBsdWcgc2NvcGUuIHBvc3Rwb25lICBpdCB0byBmdXJ0aGVyIGZhaWxzYWZlIGFu ZCBsaXZlDQo+IG1pZ3JhdGUgdG9waWMuDQo+IA0KPiBiYXNpY2FsbHkgc3BlYWtpbmcsIGZvciBi aW5kaW5nLCBzY3JpcHQgdnMgdG9vbHMgdnMgUE1EIHZzIGRwZGssIGkgdm90ZSBkcGRrICwgYXQN Cj4gbGVzdCBydW4gdGltZSBjYXNlLg0KDQpBcyBJIHNhaWQgYWJvdmUgLSBJIHZvdGUgZm9yIGJv dGggRUFMXFBNRHMuDQoNCg0K