From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id CDA3AAE99 for ; Mon, 16 Jun 2014 11:00:22 +0200 (CEST) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga102.jf.intel.com with ESMTP; 16 Jun 2014 01:55:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.01,485,1400050800"; d="scan'208";a="529109268" Received: from irsmsx104.ger.corp.intel.com ([163.33.3.159]) by orsmga001.jf.intel.com with ESMTP; 16 Jun 2014 02:00:35 -0700 Received: from irsmsx151.ger.corp.intel.com (163.33.192.59) by IRSMSX104.ger.corp.intel.com (163.33.3.159) with Microsoft SMTP Server (TLS) id 14.3.123.3; Mon, 16 Jun 2014 09:59:26 +0100 Received: from irsmsx101.ger.corp.intel.com ([169.254.1.245]) by IRSMSX151.ger.corp.intel.com ([169.254.4.152]) with mapi id 14.03.0123.003; Mon, 16 Jun 2014 09:59:26 +0100 From: "Doherty, Declan" To: Neil Horman Thread-Topic: [dpdk-dev] [PATCH v3 2/5] Link Bonding PMD Library (librte_eal/librte_ether link bonding support changes) Thread-Index: AQHPhw9UDbCX0RLyzEKWoGkHkQn555tvJHGAgAAnc6CAABNDgIAEDPkw Date: Mon, 16 Jun 2014 08:59:25 +0000 Message-ID: <345C63BAECC1AD42A2EC8C63AFFC3ADC13D39383@IRSMSX101.ger.corp.intel.com> References: <258914f35917ae07dddc991ac9726542964dce44.1402662300.git.declan.doherty@intel.com> <20140613160807.GD22451@hmsreliant.think-freely.org> <345C63BAECC1AD42A2EC8C63AFFC3ADC13D38EE9@IRSMSX101.ger.corp.intel.com> <20140613193815.GE22451@hmsreliant.think-freely.org> In-Reply-To: <20140613193815.GE22451@hmsreliant.think-freely.org> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v3 2/5] Link Bonding PMD Library (librte_eal/librte_ether link bonding support changes) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jun 2014 09:00:23 -0000 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBOZWlsIEhvcm1hbiBbbWFpbHRv Om5ob3JtYW5AdHV4ZHJpdmVyLmNvbV0NCj4gU2VudDogRnJpZGF5LCBKdW5lIDEzLCAyMDE0IDg6 MzggUE0NCj4gVG86IERvaGVydHksIERlY2xhbg0KPiBDYzogZGV2QGRwZGsub3JnDQo+IFN1Ympl Y3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MyAyLzVdIExpbmsgQm9uZGluZyBQTUQgTGlicmFy eQ0KPiAobGlicnRlX2VhbC9saWJydGVfZXRoZXIgbGluayBib25kaW5nIHN1cHBvcnQgY2hhbmdl cykNCj4gDQo+IE9uIEZyaSwgSnVuIDEzLCAyMDE0IGF0IDA2OjM0OjA0UE0gKzAwMDAsIERvaGVy dHksIERlY2xhbiB3cm90ZToNCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g PiBGcm9tOiBOZWlsIEhvcm1hbiBbbWFpbHRvOm5ob3JtYW5AdHV4ZHJpdmVyLmNvbV0NCj4gPiA+ IFNlbnQ6IEZyaWRheSwgSnVuZSAxMywgMjAxNCA1OjA4IFBNDQo+ID4gPiBUbzogRG9oZXJ0eSwg RGVjbGFuDQo+ID4gPiBDYzogZGV2QGRwZGsub3JnDQo+ID4gPiBTdWJqZWN0OiBSZTogW2RwZGst ZGV2XSBbUEFUQ0ggdjMgMi81XSBMaW5rIEJvbmRpbmcgUE1EIExpYnJhcnkNCj4gPiA+IChsaWJy dGVfZWFsL2xpYnJ0ZV9ldGhlciBsaW5rIGJvbmRpbmcgc3VwcG9ydCBjaGFuZ2VzKQ0KPiA+ID4N Cj4gPiA+IE9uIEZyaSwgSnVuIDEzLCAyMDE0IGF0IDAzOjQxOjU5UE0gKzAxMDAsIERlY2xhbiBE b2hlcnR5IHdyb3RlOg0KPiA+ID4gPiBVcGRhdGluZyBmdW5jdGlvbmFsaXR5IGluIEVBTCB0byBz dXBwb3J0IGFkZGluZyBsaW5rIGJvbmRpbmcNCj4gPiA+ID4gZGV2aWNlcyB2aWEg4oCTdmRldiBv cHRpb24uIExpbmsgYm9uZGluZyBkZXZpY2VzIHdpbGwgYmUNCj4gPiA+ID4gaW5pdGlhbGl6ZWQg YWZ0ZXIgYWxsIHBoeXNpY2FsIGRldmljZXMgaGF2ZSBiZWVuIHByb2JlZCBhbmQNCj4gPiA+ID4g aW5pdGlhbGl6ZWQuDQo+ID4gPiA+DQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IERlY2xhbiBEb2hl cnR5IDxkZWNsYW4uZG9oZXJ0eUBpbnRlbC5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAgbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMgICAgICB8IDY2DQo+ID4gPiArKysr KysrKysrKysrKysrKysrKysrKysrKystLQ0KPiA+ID4gPiAgbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fcGNpLmMgICAgICB8ICA2ICsrKw0KPiA+ID4gPiAgbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2luY2x1ZGUvZWFsX3ByaXZhdGUuaCB8ICA3ICsrKw0KPiA+ID4gPiAgbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2Rldi5oICAgICB8ICAxICsNCj4gPiA+ID4gIGxpYi9s aWJydGVfZXRoZXIvcnRlX2V0aGRldi5jICAgICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysr LS0NCj4gPiA+ID4gIGxpYi9saWJydGVfZXRoZXIvcnRlX2V0aGRldi5oICAgICAgICAgICAgICAg fCAgNyArKy0NCj4gPiA+ID4gIGxpYi9saWJydGVfcG1kX3BjYXAvcnRlX2V0aF9wY2FwLmMgICAg ICAgICAgfCAyMiArKysrKy0tLS0tDQo+ID4gPiA+ICBsaWIvbGlicnRlX3BtZF9yaW5nL3J0ZV9l dGhfcmluZy5jICAgICAgICAgIHwgMzIgKysrKysrKy0tLS0tLS0NCj4gPiA+ID4gIGxpYi9saWJy dGVfcG1kX3JpbmcvcnRlX2V0aF9yaW5nLmggICAgICAgICAgfCAgMyArLQ0KPiA+ID4gPiAgbGli L2xpYnJ0ZV9wbWRfeGVudmlydC9ydGVfZXRoX3hlbnZpcnQuYyAgICB8ICAyICstDQo+ID4gPiA+ ICAxMCBmaWxlcyBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pDQo+ ID4gPiA+DQo+ID4gPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9kZXYuYw0KPiA+ID4gYi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYu Yw0KPiA+ID4gPiBpbmRleCBlYWU1NjU2Li5iNTBjOTA4IDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9s aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYw0KPiA+ID4gPiArKysgYi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYw0KPiA+ID4gPiBAQCAtNzUsMTQgKzc1 LDI4IEBAIHJ0ZV9lYWxfZGV2X2luaXQodm9pZCkNCj4gPiA+ID4NCj4gPiA+ID4gIAkvKiBjYWxs IHRoZSBpbml0IGZ1bmN0aW9uIGZvciBlYWNoIHZpcnR1YWwgZGV2aWNlICovDQo+ID4gPiA+ICAJ VEFJTFFfRk9SRUFDSChkZXZhcmdzLCAmZGV2YXJnc19saXN0LCBuZXh0KSB7DQo+ID4gPiA+ICsJ CXVpbnQ4X3QgYmRldiA9IDA7DQo+ID4gPiA+DQo+ID4gPiA+ICAJCWlmIChkZXZhcmdzLT50eXBl ICE9IFJURV9ERVZUWVBFX1ZJUlRVQUwpDQo+ID4gPiA+ICAJCQljb250aW51ZTsNCj4gPiA+ID4N Cj4gPiA+ID4gIAkJVEFJTFFfRk9SRUFDSChkcml2ZXIsICZkZXZfZHJpdmVyX2xpc3QsIG5leHQp IHsNCj4gPiA+ID4gLQkJCWlmIChkcml2ZXItPnR5cGUgIT0gUE1EX1ZERVYpDQo+ID4gPiA+ICsJ CQkvKiBSVEVfREVWVFlQRV9WSVJUVUFMIGNhbiBvbmx5IGJlIGEgdmlydHVhbCBvciBib25kZWQN Cj4gPiA+IGRldmljZSovDQo+ID4gPiA+ICsJCQlpZiAoZHJpdmVyLT50eXBlICE9IFBNRF9WREVW ICYmIGRyaXZlci0+dHlwZSAhPQ0KPiA+ID4gUE1EX0JERVYpDQo+ID4gPiA+ICAJCQkJY29udGlu dWU7DQo+ID4gPiA+DQo+ID4gPiA+ICsJCQkvKg0KPiA+ID4gPiArCQkJICogQm9uZGVkIGRldmlj ZXMgYXJlIG5vdCBpbml0aWFsaXplIGhlcmUsIHdlIGRvIGl0IGxhdGVyIGluDQo+ID4gPiA+ICsJ CQkgKiBydGVfZWFsX2JvbmRlZF9kZXZfaW5pdCgpIGFmdGVyIGFsbCBwaHlzaWNhbCBkZXZpY2Vz DQo+ID4gPiBoYXZlIGJlZW4NCj4gPiA+ID4gKwkJCSAqIHByb2JlZCBhbmQgaW5pdGlhbGl6ZWQN Cj4gPiA+ID4gKwkJCSAqLw0KPiA+ID4gPiArCQkJaWYgKGRyaXZlci0+dHlwZSA9PSBQTURfQkRF ViAmJg0KPiA+ID4gPiArCQkJCQkhc3RybmNtcChkcml2ZXItPm5hbWUsIGRldmFyZ3MtDQo+ID4g PiA+dmlydHVhbC5kcnZfbmFtZSwNCj4gPiA+ID4gKwkJCQkJCQlzdHJsZW4oZHJpdmVyLT5uYW1l KSkpIHsNCj4gPiA+ID4gKwkJCQliZGV2ID0gMTsNCj4gPiA+ID4gKwkJCQlicmVhazsNCj4gPiA+ ID4gKwkJCX0NCj4gPiA+ID4gKw0KPiA+ID4gSSByZWFsbHkgZG9uJ3QgdGhpbmsgeW91IG5lZWQg dG8gYWRkIGEgbmV3IGRldmljZSB0eXBlIGZvciBib25kZWQgZGV2cy4gIEl0cyBnb3QNCj4gPiA+ IG5vIHNwZWNpZmljIGhhcmR3YXJlIHRoYXQgaXQgZHJpdmVzLCBhbmQgeW91IGNvbmZpZ3VyZSBp dCB3aXRoIGEgLS12ZGV2DQo+IGNvbW1hbmQsDQo+ID4gPiBzbyB0cmVhdCBpdCBhcyBvbmUgaGVy ZS4gIEkgdW5kZXJzdGFuZCB0aGF0IHlvdSBuZWVkIHRvIHBhc3MgYWRkaXRpb25hbA0KPiA+ID4g aW5mb3JtYXRpb24gYWJvdXQgc2xhdmVzIHRvIGEgYm9uZGVkIGRldmljZSwgd2hpY2ggaXMgZmlu ZSwgYnV0IHlvdSBjYW4gZG8gdGhhdA0KPiA+ID4gd2l0aCBrdmFyZ3MgcHJldHR5IGVhc2lseSwg YXQgd2hpY2ggcG9pbnQgaXRzIGp1c3QgYW5vdGhlciB2ZGV2LiBUaGUgb25seSBvdGhlcg0KPiA+ ID4gcmVxdWlyZW1lbnQgaXMgdGhhdCB5b3UgaW5pdGlsaXplIHRoZSBib25kZWQgdmRldiBhZnRl ciB0aGUgc2xhdmUgdmRldnMgaGF2ZQ0KPiA+ID4gYmVlbiBjcmVhdGVkLCB3aGljaCB5b3UgY2Fu IGRvIGJ5IGFueSBvZiBzZXZlcmFsIG1ldGhvZHMgKGEgcHJpb3JpdHkgZmllbGQgdG8NCj4gPiA+ IGluZGljYXRlIHRoYXQgYm9uZGVkIGRyaXZlcnMgc2hvdWxkIGJlIGluaXRpbGl6ZWQgbGFzdC9s YXRlciwgYSBkZWZlcnJhbCByZXR1cm4NCj4gPiA+IGNvZGUgZnJvbSB0aGUgaW5pdCByb3V0aW5l LCBvciBieSBkZWFkIHJlY2tvbmluZyB2aWEgdGhlIGNhcmVmdWwgY29uc3RydWN0aW9uDQo+IG9m DQo+ID4gPiB0aGUgYXBwbGljYXRpb24gY29tbWFuZCBsaW5lIChwbGFjZWQgdGhlIGJvbmRlZCAt LXZkZXYgb3B0aW9uIGxhc3Qgb24gdGhlDQo+ID4gPiBjb21tYW5kIGxpbmUgYXJndW1lbnQgbGlz dCBhdCBydW4gdGltZSkuDQo+ID4gPg0KPiA+IEl0IHdhcyBteSBpbml0aWFsIGludGVudCB0byBk byBhcyB5b3UgaGF2ZSBkZXNjcmliZSBhYm92ZSwgYnV0IHRoZSBwaHlzaWNhbCBkZXZpY2VzDQo+ ID4gY2F1c2UgYSByZWFsIGlzc3VlIGhlcmUsIHBoeXNpY2FsIGRldmljZXMgZG9uJ3QgY2FsbCB0 aHJvdWdoIHRvDQo+IHJ0ZV9ldGhfZGV2X2FsbG9jYXRlIHVudGlsDQo+ID4gZHVyaW5nIHJ0ZV9l YWxfcGNpX3Byb2JlIGNhbGwsIHNvIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGluaXRpYWxpemUgdGhl IGJvbmRlZCBkZXZpY2UNCj4gZnJvbQ0KPiA+IHdpdGhpbiBydGVfZWFsX2Rldl9pbml0IGFzIHRo ZSBwaHlzaWNhbCBkZXZpY2VzIGhhdmUgbm90IGJlZW4gZnVsbHkgaW5pdGlhbGl6ZWQgYXQNCj4g dGhpcw0KPiA+IHBvaW50LCBhcyBhIHBvcnRfaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCBhbmQg Y2FuJ3QgYmUgYWRkZWQgYXMgYm9uZGluZyBzbGF2ZXMuIEkNCj4gZG9uJ3QNCj4gPiBzZWUgYXdh eSBhcm91bmQgdGhpcyB3aXRob3V0IGNoYW5naW5nIHRoZSBFQUwgQVBJLCB3aGljaCBJJ3ZlIHRy aWVkIHRvIGF2b2lkIHdpdGgNCj4gdGhpcyBzb2x1dGlvbi4NCj4gPg0KPiA+IE9yZGVyaW5nIGlz bid0IGFuIGlzc3VlLCBhbmQgY2FuIGVhc2lseSBiZSBzb2x2ZWQgaWYgdGhlIGFib3ZlIHByb2Js ZW0gZGlkbid0DQo+IGV4aXN0LCBhbmQgYWx0aG91Z2gNCj4gPiBhIG5ldyBkZXZpY2UgdHlwZSBp c24ndCB0ZWNobmljYWxseSByZXF1aXJlZCwgSSB0aGluayBpdCdzIGEgY2xlYW5lciBzb2x1dGlv biB0aGFuDQo+IGRvaW5nDQo+ID4gc3RyaW5nIGNvbXBhcmlzb25zLg0KPiA+DQo+IA0KPiANCj4g VWdoLCB5b3UncmUgcmlnaHQuIFRoYXQgc3RpbmtzLiAgV2Ugc3RpbGwgc2hvdWxkbid0IGp1c3Qg ZHJvcCB0aGUgaW5pdCBjb2RlIGluDQo+IHdpdGggdGhlIHBjaSBwcm9iZSBjb2RlIHRob3VnaCwg ZXNwZWNpYWxseSBpZiBkcGRrIHN0YXJ0cyBzdXBwb3J0aW5nIG1vcmUNCj4gc3RhY2tlZCBuZXR3 b3JrIGRldmljZXMuIEEgbm90aWZpY2F0aW9uIHN5c3RlbSBmb3IgaW50ZXJmYWNlIGNyZWF0aW9u IHRoYXQgeW91DQo+IGNvdWxkIG1vbml0b3IgZm9yIHBjaV9kZXZpY2UgYWRkcmVzc2VzIChCOkQ6 RiB0dXBwbGVzKSB3b3VsZCBiZSBuaWNlLCBidXQgbWlnaHQNCj4gYmUgb3ZlcmtpbGwgc2luY2Ug ZHBkayBkb2Vzbid0IHJlYWxseSBzdXBwb3J0IGRldmljZSBmcmVlaW5nIHlldC4gIHdoYXQgbWln aHQgYmUNCj4gdXNlZnVsIGlzIGEgZ2VuZXJpYyBvcmRlcmluZyBtZWNoYW5pc20gZm9yIHJ0ZV9l YWxfZGV2X2luaXQuICBJZiB5b3UgYWRkZWQgYQ0KPiBwcmlvcml0eSBmaWVsZCB0byB0aGUgcnRl X2RyaXZlciBzdHJ1Y3R1cmUsIHlvdSBjb3VsZCBjcmVhdGUgYW4gZW51bWVyYXRpb24gZm9yDQo+ IHRoZSBmaWVsZCB0byBkZWZpbmUgd2hlbiB0aGUgaW5pdCByb3V0aW5lIGZvciB0aGF0IGRyaXZl ciB3YXMgY2FsbGVkIHNvbWV0aGluZw0KPiBsaWtlOg0KPiB0eXBkZWYgZW51bSB7DQo+IAlQTURf SU5JVF9GSVJTVCA9IDAsDQo+IAlQTURfSU5JVF9QT1NUX1BST0JFID0gMSwNCj4gfQ0KPiANCj4g VGhlbiB5b3UgY291bGQgbWFrZSBtdWx0aXBsZSBjYWxscyB0byBydGVfZWFsX2Rldl9pbml0IGZy b20gcnRlX2VhbF9pbml0IGF0IHRoZQ0KPiBhcHByb3ByaWF0ZSBwbGFjZXMgaW4gdGhlIGluaXRh bGl6YXRpb24gcHJvY2VzcywgZWFjaCB0aW1lIHBhc3Npbmcgb25lIG9mIHRoZQ0KPiBhYm92ZSB2 YWx1ZXMuICBydGVfZWFsX2Rldl9pbml0IHdvdWxkIG9ubHkgaW5pdGFsaXplIHRob3NlIGRyaXZl cnMgd2hvcyBwcmlvcml0eQ0KPiBtYXRjaGVkIHRoZSBwYXNzZWQgaW4gcHJpb3JpdHkuICBUaGF0 IHdvdWxkIGJlIGhlbHBmdWwgZm9yIGludGVyZmFjZXMgbGlrZQ0KPiB2bGFucywgdnhsYW5zLCB0 dW5uZWxzLCBldGMuDQo+IA0KSSdtIG5vdCBzdXJlIEkgdW5kZXJzdGFuZCBob3cgeW91IGludGVu ZCB0aGlzIHRvIHdvcmssIGFyZSB5b3UgcHJvcG9zaW5nIHRoYXQgDQpydGVfZWFsX2Rldl9pbml0 IGlzIGNhbGwgbXVsdGlwbGUgdGltZXMgYnkgdGhlIHVzZXIgcHJlIGFuZCBwb3N0IHJ0ZV9lYWxf cGNpX3Byb2JlDQp0aGlzIGRvZXNuJ3Qgc2VlbSBsaWtlIGFuIGlkZWEgc29sdXRpb24gZWl0aGVy LiBJJ20gbm90IDEwMCUgY2xlYXIgd2h5IA0KcnRlX2VhbF9wY2lfcHJvYmUgaXMgY3VycmVudGx5 IGNhbGxlZCBieSAgdGhlIGFwcGxpY2F0aW9uIGNvZGUgYW5kIG5vdCBpbml0aWF0ZWQNCiBmcm9t IHdpdGhpbiBydGVfZWFsX2Rldl9pbml0LCBpZiB0aGlzIHdhcyB0aGUgY2FzZSB3ZSB3b3VsZCBi ZSBhYmxlIHRvIGZpZ3VyZSBvdXQgDQphIGRlcGVuZGVuY3kgdHJlZSBmb3IgaW5pdGlhbGl6YXRp b24gb2YgZGV2aWNlcywgYmFzZWQgb24gdGhlIHBhcnNlZCBpbnB1dCANCmFyZ3VtZW50cyB3aXRo b3V0IGhhdmluZyBleHRyYSB1c2VyIGlucHV0IHRvIG9yIG11bHRpcGxlIGNhbGxzIG9mIHJ0ZV9l YWxfZGV2X2luaXQuDQoNCkVpdGhlciB3YXkgSSBkb24ndCB0aGluayB0aGF0IGFueSBvZiB0aGVz ZSBzb2x1dGlvbiBhcmUgdHJpdmlhbCBhbmQgdGhleSB3b3VsZCANCm5lZWQgdG8gYmUgdGhvcm91 Z2hseSB0ZXN0ZWQsIHdoaWNoIEkgZG9uJ3QgdGhpbmsgd2lsbCBiZSBwb3NzaWJsZSBpbiB0aGUg dGltZQ0KZnJhbWUgZm9yIDEuNy4gSWYgbXkgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBjYWxsaW5n IHJ0ZV9lYWxfYm9uZGVkX2Rldl9pbml0DQpmcm9tIHdpdGhpbiBydGVfZWFsX3BjaV9wcm9iZSBp cyB1bmFjY2VwdGFibGUsIHRoZW4gSSBwcm9wb3NlIHRoYXQgSSByZW1vdmUgDQp0aGUgRUFMIGNo YW5nZXMgZm9yIC0tdmRldiBpbml0aWFsaXphdGlvbiBvZiBib25kaW5nIGRldmljZXMgZnJvbSB0 aGlzIHJlbGVhc2UgYW5kDQpvbmx5IHN1cHBvcnQgdGhlIEMgQVBJLCBhbmQgdGhhdCBhbiBvdmVy YWxsIHN0cmF0ZWd5IGlzIGRpc2N1c3NlZCBmb3Igc3RhdGljIGRldmljZQ0KIGluaXRpYWxpemF0 aW9uIHRoYXQgaXMgZGV2ZWxvcGVkIGZvciAxLjcuMSBvciAxLjguDQoNCj4gPiA+ID4NCj4gPiA+ ID4gK3N0YXRpYyBpbnQNCj4gPiA+ID4gK3J0ZV9ldGhfZGV2X25hbWVfdW5pcXVlKGNvbnN0IGNo YXIqIG5hbWUpDQo+ID4gPiA+ICt7DQo+ID4gPiA+ICsJdW5zaWduZWQgaTsNCj4gPiA+ID4gKw0K PiA+ID4gPiArCWZvciAoaSA9IDA7IGkgPCBuYl9wb3J0czsgaSsrKSB7DQo+ID4gPiA+ICsJCWlm IChzdHJjbXAocnRlX2V0aF9kZXZpY2VzW2ldLmRhdGEtPm5hbWUsIG5hbWUpID09IDApDQo+ID4g PiA+ICsJCQlyZXR1cm4gLTE7DQo+ID4gPiA+ICsJfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsJcmV0 dXJuIDA7DQo+ID4gPiA+ICt9DQo+ID4gPiA+ICsNCj4gPiA+ID4gIHN0cnVjdCBydGVfZXRoX2Rl diAqDQo+ID4gPiA+IC1ydGVfZXRoX2Rldl9hbGxvY2F0ZSh2b2lkKQ0KPiA+ID4gPiArcnRlX2V0 aF9kZXZfYWxsb2NhdGUoY29uc3QgY2hhciogbmFtZSkNCj4gPiA+ID4gIHsNCj4gPiA+ID4gIAlz dHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXY7DQo+ID4gPiA+DQo+ID4gPiA+IEBAIC0xNjUsMjMg KzE3OSwzNyBAQCBydGVfZXRoX2Rldl9hbGxvY2F0ZSh2b2lkKQ0KPiA+ID4gPiAgCWlmIChydGVf ZXRoX2Rldl9kYXRhID09IE5VTEwpDQo+ID4gPiA+ICAJCXJ0ZV9ldGhfZGV2X2RhdGFfYWxsb2Mo KTsNCj4gPiA+ID4NCj4gPiA+ID4gKwlpZiAocnRlX2V0aF9kZXZfbmFtZV91bmlxdWUobmFtZSkp IHsNCj4gPiA+ID4gKwkJUE1EX0RFQlVHX1RSQUNFKCJFdGhlcm5ldCBEZXZpY2Ugd2l0aCBuYW1l ICVzIGFscmVhZHkNCj4gPiA+IGFsbG9jYXRlZCFcbiIpOw0KPiA+ID4gPiArCQlyZXR1cm4gTlVM TDsNCj4gPiA+ID4gKwl9DQo+ID4gPiA+ICsNCj4gPiA+IFRoaXMgc2VlbXMgZmFpcmx5IHJhY3kg aWYgeW91IGFsbG93IGR5bmFtaWMgZGV2aWNlIGNyZWF0aW9uIGF0IHJ1biB0aW1lIGZyb20NCj4g dGhlDQo+ID4gPiBhcHBsaWNhdGlvbiwgaWYgbXVsdGlwbGUgdGhyZWFkcyBhdHRlbXB0IHRvIGNy ZWF0ZSBib25kcyBpbiBwYXJhbGxlbC4NCj4gPg0KPiA+IFRydWUgYnV0IGlmIHRoaXMgaXMgYW4g aXNzdWUgdGhlbiB0aGVyZSBwcm9iYWJseSBzaG91bGQgYmUgc29tZSBsb2NraW5nIGFyb3VuZA0K PiB0aGlzIGFsbG9jYXRpb24gYW55d2F5Lg0KPiBBZ3JlZWQgdGhlIGFsbG9jYXRpb24gb2YgdGhl IHBvcnQgaWQgaXMgYWxzbyByYWN5Lg0KPiANCj4gPiA+DQo+ID4gPiA+ICAvKioNCj4gPiA+ID4g ZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfcG1kX3BjYXAvcnRlX2V0aF9wY2FwLmMNCj4gPiA+IGIv bGliL2xpYnJ0ZV9wbWRfcGNhcC9ydGVfZXRoX3BjYXAuYw0KPiA+ID4gSG1tLCB3ZSdyZSBtb2Rp Znlpbmcgb3RoZXIgcG1kcyBmb3IgdGhlIG5hbWluZyBmZWF0dXJlLCBJIHRoaW5rIGl0IHdvdWxk IGJlDQo+IGJlc3QNCj4gPiA+IHNwbGl0IG91dCBpbnRvIGEgc2VwYXJhdGUgcGF0Y2guICBTb21l dGhpbmcgZW50aXRsZWQgInN1cHBvcnQgdW5pcXVlIGludGVyZmFjZQ0KPiA+ID4gbmFtaW5nIGZv ciB2aXJ0dWFsIHBtZHMiIG9yIHNvbWV0aGluZy4NCj4gPg0KPiA+IFRydWUsIGJ1dCBpZiBJIGRv IHRoYXQsIEkgd2lsbCBuZWVkIHRvIGJyZWFrIHN1cHBvcnQgZm9yIHZpcnR1YWwgZGV2aWNlcyBp biB0aGlzIHBhdGNoDQo+IHNldCwgYW5kDQo+ID4gSSB3b3VsZCBwcmVmZXIgdG8ga2VlcCB0aGlz IGZ1bmN0aW9uYWxpdHkgd29ya2luZyBpbml0aWFsIHJlbGVhc2Ugb2YgbGluayBib25kaW5nLg0K PiBBbHNvIGFub3RoZXINCj4gPiBwYXRjaHNldCB3aWxsIGJlIHJlcXVpcmVkIGF0IHNvbWUgcG9p bnQgaW4gdGhlIG5lYXIgZnV0dXJlIHRvIHRpZHkgdXAvcmF0aW9uYWxpemUNCj4gdGhlIGN1cnJl bnQNCj4gPiBoYW5kbGluZyBvZiB2aXJ0dWFsIGRldmljZXMgaWRlbnRpZmljYXRpb24gYW5kIHRo ZXNlIGNoYW5nZXMgZG8gbm90IGNoYW5nZQ0KPiBmdW5jdGlvbmFsbHkgaG93DQo+ID4gdGhlc2Ug ZGV2aWNlcyB3b3JrLg0KPiANCj4gSSdtIG5vdCBzdXJlIEknbSBmb2xsb3dpbmcgd2hhdCB5b3Un cmUgc2F5aW5nIGhlcmUuICBJZiB5b3Ugc3BsaXQgdGhpcyBpbnRvDQo+IGFub3RoZXIgcGF0Y2gg c2V0LCBhbmQgb3JkZXIgZWFybGllciBpbiB0aGlzIHNlcmllcywgdGhlbiB5b3Ugd29uJ3QgYnJl YWsNCj4gYW55dGhpbmcuICBJJ20gbm90IHN1Z2dlc3RpbmcgYSBmdW5jdGlvbmFsIGNoYW5nZSBo ZXJlLCBqdXN0IGEgb3JnYW5pemF0aW9uYWwNCj4gb25lLCBzbyB0aGF0IHRoaXMgY2hhbmdlIGRv ZXNuJ3QgZG8gbW9yZSB0aGFuIHRoZSBjaGFuZ2Vsb2cgaW5kaWNhdGVzLg0KPiANCg0KU29ycnkg SSBtaXN1bmRlcnN0b29kLCBJIHRob3VnaHQgdGhhdCB5b3Ugd2hlcmUgcHJvcG9zaW5nIHRoYXQg SSBjcmVhdGUgYSBjb21wbGV0ZWx5IG5ldyANCnBhdGNoc2V0IHNlcGFyYXRlIHRvIHRoZSBsaW5r IGJvbmRpbmcgcmVsZWFzZSBzZXQgZm9yIHRoZXNlIGNoYW5nZXMuDQoNCj4gTmVpbA0KDQpEZWNs YW4NCg==