From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 69A6BB0B2 for ; Fri, 13 Jun 2014 20:33:52 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP; 13 Jun 2014 11:29:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.01,472,1400050800"; d="scan'208";a="547681219" Received: from irsmsx103.ger.corp.intel.com ([163.33.3.157]) by fmsmga001.fm.intel.com with ESMTP; 13 Jun 2014 11:34:05 -0700 Received: from irsmsx152.ger.corp.intel.com (163.33.192.66) by IRSMSX103.ger.corp.intel.com (163.33.3.157) with Microsoft SMTP Server (TLS) id 14.3.123.3; Fri, 13 Jun 2014 19:34:04 +0100 Received: from irsmsx101.ger.corp.intel.com ([169.254.1.245]) by IRSMSX152.ger.corp.intel.com ([169.254.6.197]) with mapi id 14.03.0123.003; Fri, 13 Jun 2014 19:34:04 +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: AQHPhw9UDbCX0RLyzEKWoGkHkQn555tvJHGAgAAnc6A= Date: Fri, 13 Jun 2014 18:34:04 +0000 Message-ID: <345C63BAECC1AD42A2EC8C63AFFC3ADC13D38EE9@IRSMSX101.ger.corp.intel.com> References: <258914f35917ae07dddc991ac9726542964dce44.1402662300.git.declan.doherty@intel.com> <20140613160807.GD22451@hmsreliant.think-freely.org> In-Reply-To: <20140613160807.GD22451@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.180] 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: Fri, 13 Jun 2014 18:33:53 -0000 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBOZWlsIEhvcm1hbiBbbWFpbHRv Om5ob3JtYW5AdHV4ZHJpdmVyLmNvbV0NCj4gU2VudDogRnJpZGF5LCBKdW5lIDEzLCAyMDE0IDU6 MDggUE0NCj4gVG86IERvaGVydHksIERlY2xhbg0KPiBDYzogZGV2QGRwZGsub3JnDQo+IFN1Ympl Y3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MyAyLzVdIExpbmsgQm9uZGluZyBQTUQgTGlicmFy eQ0KPiAobGlicnRlX2VhbC9saWJydGVfZXRoZXIgbGluayBib25kaW5nIHN1cHBvcnQgY2hhbmdl cykNCj4gDQo+IE9uIEZyaSwgSnVuIDEzLCAyMDE0IGF0IDAzOjQxOjU5UE0gKzAxMDAsIERlY2xh biBEb2hlcnR5IHdyb3RlOg0KPiA+IFVwZGF0aW5nIGZ1bmN0aW9uYWxpdHkgaW4gRUFMIHRvIHN1 cHBvcnQgYWRkaW5nIGxpbmsgYm9uZGluZw0KPiA+IGRldmljZXMgdmlhIOKAk3ZkZXYgb3B0aW9u LiBMaW5rIGJvbmRpbmcgZGV2aWNlcyB3aWxsIGJlDQo+ID4gaW5pdGlhbGl6ZWQgYWZ0ZXIgYWxs IHBoeXNpY2FsIGRldmljZXMgaGF2ZSBiZWVuIHByb2JlZCBhbmQNCj4gPiBpbml0aWFsaXplZC4N Cj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IERlY2xhbiBEb2hlcnR5IDxkZWNsYW4uZG9oZXJ0eUBp bnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIGxpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jICAgICAgfCA2Ng0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKystLQ0KPiA+ICBs aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9wY2kuYyAgICAgIHwgIDYgKysrDQo+ID4g IGxpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2VhbF9wcml2YXRlLmggfCAgNyArKysNCj4g PiAgbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvcnRlX2Rldi5oICAgICB8ICAxICsNCj4g PiAgbGliL2xpYnJ0ZV9ldGhlci9ydGVfZXRoZGV2LmMgICAgICAgICAgICAgICB8IDM0ICsrKysr KysrKysrKystLQ0KPiA+ICBsaWIvbGlicnRlX2V0aGVyL3J0ZV9ldGhkZXYuaCAgICAgICAgICAg ICAgIHwgIDcgKystDQo+ID4gIGxpYi9saWJydGVfcG1kX3BjYXAvcnRlX2V0aF9wY2FwLmMgICAg ICAgICAgfCAyMiArKysrKy0tLS0tDQo+ID4gIGxpYi9saWJydGVfcG1kX3JpbmcvcnRlX2V0aF9y aW5nLmMgICAgICAgICAgfCAzMiArKysrKysrLS0tLS0tLQ0KPiA+ICBsaWIvbGlicnRlX3BtZF9y aW5nL3J0ZV9ldGhfcmluZy5oICAgICAgICAgIHwgIDMgKy0NCj4gPiAgbGliL2xpYnJ0ZV9wbWRf eGVudmlydC9ydGVfZXRoX3hlbnZpcnQuYyAgICB8ICAyICstDQo+ID4gIDEwIGZpbGVzIGNoYW5n ZWQsIDE0NCBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1n aXQgYS9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYw0KPiBiL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jDQo+ID4gaW5kZXggZWFlNTY1Ni4uYjUwYzkw OCAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYu Yw0KPiA+ICsrKyBiL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jDQo+ID4g QEAgLTc1LDE0ICs3NSwyOCBAQCBydGVfZWFsX2Rldl9pbml0KHZvaWQpDQo+ID4NCj4gPiAgCS8q IGNhbGwgdGhlIGluaXQgZnVuY3Rpb24gZm9yIGVhY2ggdmlydHVhbCBkZXZpY2UgKi8NCj4gPiAg CVRBSUxRX0ZPUkVBQ0goZGV2YXJncywgJmRldmFyZ3NfbGlzdCwgbmV4dCkgew0KPiA+ICsJCXVp bnQ4X3QgYmRldiA9IDA7DQo+ID4NCj4gPiAgCQlpZiAoZGV2YXJncy0+dHlwZSAhPSBSVEVfREVW VFlQRV9WSVJUVUFMKQ0KPiA+ICAJCQljb250aW51ZTsNCj4gPg0KPiA+ICAJCVRBSUxRX0ZPUkVB Q0goZHJpdmVyLCAmZGV2X2RyaXZlcl9saXN0LCBuZXh0KSB7DQo+ID4gLQkJCWlmIChkcml2ZXIt PnR5cGUgIT0gUE1EX1ZERVYpDQo+ID4gKwkJCS8qIFJURV9ERVZUWVBFX1ZJUlRVQUwgY2FuIG9u bHkgYmUgYSB2aXJ0dWFsIG9yIGJvbmRlZA0KPiBkZXZpY2UqLw0KPiA+ICsJCQlpZiAoZHJpdmVy LT50eXBlICE9IFBNRF9WREVWICYmIGRyaXZlci0+dHlwZSAhPQ0KPiBQTURfQkRFVikNCj4gPiAg CQkJCWNvbnRpbnVlOw0KPiA+DQo+ID4gKwkJCS8qDQo+ID4gKwkJCSAqIEJvbmRlZCBkZXZpY2Vz IGFyZSBub3QgaW5pdGlhbGl6ZSBoZXJlLCB3ZSBkbyBpdCBsYXRlciBpbg0KPiA+ICsJCQkgKiBy dGVfZWFsX2JvbmRlZF9kZXZfaW5pdCgpIGFmdGVyIGFsbCBwaHlzaWNhbCBkZXZpY2VzDQo+IGhh dmUgYmVlbg0KPiA+ICsJCQkgKiBwcm9iZWQgYW5kIGluaXRpYWxpemVkDQo+ID4gKwkJCSAqLw0K PiA+ICsJCQlpZiAoZHJpdmVyLT50eXBlID09IFBNRF9CREVWICYmDQo+ID4gKwkJCQkJIXN0cm5j bXAoZHJpdmVyLT5uYW1lLCBkZXZhcmdzLQ0KPiA+dmlydHVhbC5kcnZfbmFtZSwNCj4gPiArCQkJ CQkJCXN0cmxlbihkcml2ZXItPm5hbWUpKSkgew0KPiA+ICsJCQkJYmRldiA9IDE7DQo+ID4gKwkJ CQlicmVhazsNCj4gPiArCQkJfQ0KPiA+ICsNCj4gSSByZWFsbHkgZG9uJ3QgdGhpbmsgeW91IG5l ZWQgdG8gYWRkIGEgbmV3IGRldmljZSB0eXBlIGZvciBib25kZWQgZGV2cy4gIEl0cyBnb3QNCj4g bm8gc3BlY2lmaWMgaGFyZHdhcmUgdGhhdCBpdCBkcml2ZXMsIGFuZCB5b3UgY29uZmlndXJlIGl0 IHdpdGggYSAtLXZkZXYgY29tbWFuZCwNCj4gc28gdHJlYXQgaXQgYXMgb25lIGhlcmUuICBJIHVu ZGVyc3RhbmQgdGhhdCB5b3UgbmVlZCB0byBwYXNzIGFkZGl0aW9uYWwNCj4gaW5mb3JtYXRpb24g YWJvdXQgc2xhdmVzIHRvIGEgYm9uZGVkIGRldmljZSwgd2hpY2ggaXMgZmluZSwgYnV0IHlvdSBj YW4gZG8gdGhhdA0KPiB3aXRoIGt2YXJncyBwcmV0dHkgZWFzaWx5LCBhdCB3aGljaCBwb2ludCBp dHMganVzdCBhbm90aGVyIHZkZXYuIFRoZSBvbmx5IG90aGVyDQo+IHJlcXVpcmVtZW50IGlzIHRo YXQgeW91IGluaXRpbGl6ZSB0aGUgYm9uZGVkIHZkZXYgYWZ0ZXIgdGhlIHNsYXZlIHZkZXZzIGhh dmUNCj4gYmVlbiBjcmVhdGVkLCB3aGljaCB5b3UgY2FuIGRvIGJ5IGFueSBvZiBzZXZlcmFsIG1l dGhvZHMgKGEgcHJpb3JpdHkgZmllbGQgdG8NCj4gaW5kaWNhdGUgdGhhdCBib25kZWQgZHJpdmVy cyBzaG91bGQgYmUgaW5pdGlsaXplZCBsYXN0L2xhdGVyLCBhIGRlZmVycmFsIHJldHVybg0KPiBj b2RlIGZyb20gdGhlIGluaXQgcm91dGluZSwgb3IgYnkgZGVhZCByZWNrb25pbmcgdmlhIHRoZSBj YXJlZnVsIGNvbnN0cnVjdGlvbiBvZg0KPiB0aGUgYXBwbGljYXRpb24gY29tbWFuZCBsaW5lIChw bGFjZWQgdGhlIGJvbmRlZCAtLXZkZXYgb3B0aW9uIGxhc3Qgb24gdGhlDQo+IGNvbW1hbmQgbGlu ZSBhcmd1bWVudCBsaXN0IGF0IHJ1biB0aW1lKS4NCj4gDQpJdCB3YXMgbXkgaW5pdGlhbCBpbnRl bnQgdG8gZG8gYXMgeW91IGhhdmUgZGVzY3JpYmUgYWJvdmUsIGJ1dCB0aGUgcGh5c2ljYWwgZGV2 aWNlcw0KY2F1c2UgYSByZWFsIGlzc3VlIGhlcmUsIHBoeXNpY2FsIGRldmljZXMgZG9uJ3QgY2Fs bCB0aHJvdWdoIHRvIHJ0ZV9ldGhfZGV2X2FsbG9jYXRlIHVudGlsIA0KZHVyaW5nIHJ0ZV9lYWxf cGNpX3Byb2JlIGNhbGwsIHNvIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGluaXRpYWxpemUgdGhlIGJv bmRlZCBkZXZpY2UgZnJvbQ0Kd2l0aGluIHJ0ZV9lYWxfZGV2X2luaXQgYXMgdGhlIHBoeXNpY2Fs IGRldmljZXMgaGF2ZSBub3QgYmVlbiBmdWxseSBpbml0aWFsaXplZCBhdCB0aGlzDQpwb2ludCwg YXMgYSBwb3J0X2lkIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQgYW5kIGNhbid0IGJlIGFkZGVkIGFz IGJvbmRpbmcgc2xhdmVzLiBJIGRvbid0IA0Kc2VlIGF3YXkgYXJvdW5kIHRoaXMgd2l0aG91dCBj aGFuZ2luZyB0aGUgRUFMIEFQSSwgd2hpY2ggSSd2ZSB0cmllZCB0byBhdm9pZCB3aXRoIHRoaXMg c29sdXRpb24uDQoNCk9yZGVyaW5nIGlzbid0IGFuIGlzc3VlLCBhbmQgY2FuIGVhc2lseSBiZSBz b2x2ZWQgaWYgdGhlIGFib3ZlIHByb2JsZW0gZGlkbid0IGV4aXN0LCBhbmQgYWx0aG91Z2gNCmEg bmV3IGRldmljZSB0eXBlIGlzbid0IHRlY2huaWNhbGx5IHJlcXVpcmVkLCBJIHRoaW5rIGl0J3Mg YSBjbGVhbmVyIHNvbHV0aW9uIHRoYW4gZG9pbmcNCnN0cmluZyBjb21wYXJpc29ucy4NCg0KPiAN Cj4gPiAgCQkJLyogc2VhcmNoIGEgZHJpdmVyIHByZWZpeCBpbiB2aXJ0dWFsIGRldmljZSBuYW1l ICovDQo+ID4gIAkJCWlmICghc3RybmNtcChkcml2ZXItPm5hbWUsIGRldmFyZ3MtPnZpcnR1YWwu ZHJ2X25hbWUsDQo+ID4gIAkJCQkJc3RybGVuKGRyaXZlci0+bmFtZSkpKSB7DQo+ID4gQEAgLTky LDkgKzEwNiw5IEBAIHJ0ZV9lYWxfZGV2X2luaXQodm9pZCkNCj4gPiAgCQkJfQ0KPiA+ICAJCX0N Cj4gPg0KPiA+IC0JCWlmIChkcml2ZXIgPT0gTlVMTCkgew0KPiA+IC0JCQlydGVfcGFuaWMoIm5v IGRyaXZlciBmb3VuZCBmb3IgJXNcbiIsDQo+ID4gLQkJCQkgIGRldmFyZ3MtPnZpcnR1YWwuZHJ2 X25hbWUpOw0KPiA+ICsJCWlmIChkcml2ZXIgPT0gTlVMTCAmJiAhYmRldikgew0KPiA+ICsJCQly dGVfcGFuaWMoIm5vIGRyaXZlciBmb3VuZCBmb3IgJXMgYW5kIGlzIG5vdCBhIGJvbmRlZA0KPiB2 ZGV2ICVkXG4iLA0KPiA+ICsJCQkJICBkZXZhcmdzLT52aXJ0dWFsLmRydl9uYW1lLCBiZGV2KTsN Cj4gPiAgCQl9DQo+ID4gIAl9DQo+ID4NCj4gPiBAQCAtMTA3LDMgKzEyMSw0NyBAQCBydGVfZWFs X2Rldl9pbml0KHZvaWQpDQo+ID4gIAl9DQo+ID4gIAlyZXR1cm4gMDsNCj4gPiAgfQ0KPiA+ICsN Cj4gPiArI2lmZGVmIFJURV9MSUJSVEVfUE1EX0JPTkQNCj4gPiAraW50DQo+ID4gK3J0ZV9lYWxf Ym9uZGVkX2Rldl9pbml0KHZvaWQpDQo+ID4gK3sNCj4gPiArCXN0cnVjdCBydGVfZGV2YXJncyAq ZGV2YXJnczsNCj4gPiArCXN0cnVjdCBydGVfZHJpdmVyICpkcml2ZXI7DQo+ID4gKw0KPiA+ICsJ VEFJTFFfRk9SRUFDSChkZXZhcmdzLCAmZGV2YXJnc19saXN0LCBuZXh0KSB7DQo+ID4gKwkJaW50 IHZkZXYgPSAwOw0KPiA+ICsNCj4gPiArCQlpZiAoZGV2YXJncy0+dHlwZSAhPSBSVEVfREVWVFlQ RV9WSVJUVUFMKQ0KPiA+ICsJCQljb250aW51ZTsNCj4gPiArDQo+ID4gKwkJVEFJTFFfRk9SRUFD SChkcml2ZXIsICZkZXZfZHJpdmVyX2xpc3QsIG5leHQpIHsNCj4gPiArCQkJaWYgKGRyaXZlci0+ dHlwZSAhPSBQTURfVkRFViAmJiBkcml2ZXItPnR5cGUgIT0NCj4gUE1EX0JERVYpDQo+ID4gKwkJ CQljb250aW51ZTsNCj4gPiArDQo+ID4gKwkJCS8qIFZpcnR1YWwgZGV2aWNlcyBoYXZlIGFscmVh ZHkgYmVlbiBpbml0aWFsaXplZCBzbyB3ZSBza2lwDQo+IHRoZW0NCj4gPiArCQkJICogaGVyZSov DQo+ID4gKwkJCWlmIChkcml2ZXItPnR5cGUgPT0gUE1EX1ZERVYgJiYNCj4gPiArCQkJCQkhc3Ry bmNtcChkcml2ZXItPm5hbWUsIGRldmFyZ3MtDQo+ID52aXJ0dWFsLmRydl9uYW1lLA0KPiA+ICsJ CQkJCQkJc3RybGVuKGRyaXZlci0+bmFtZSkpKSB7DQo+ID4gKwkJCQl2ZGV2ID0gMTsNCj4gPiAr CQkJCWJyZWFrOw0KPiA+ICsJCQl9DQo+ID4gKw0KPiA+ICsJCQkvKiBzZWFyY2ggYSBkcml2ZXIg cHJlZml4IGluIGJvbmRlZCBkZXZpY2UgbmFtZSAqLw0KPiA+ICsJCQlpZiAoIXN0cm5jbXAoZHJp dmVyLT5uYW1lLCBkZXZhcmdzLT52aXJ0dWFsLmRydl9uYW1lLA0KPiA+ICsJCQkJCXN0cmxlbihk cml2ZXItPm5hbWUpKSkgew0KPiA+ICsJCQkJZHJpdmVyLT5pbml0KGRldmFyZ3MtPnZpcnR1YWwu ZHJ2X25hbWUsIGRldmFyZ3MtDQo+ID5hcmdzKTsNCj4gPiArCQkJCWJyZWFrOw0KPiA+ICsJCQl9 DQo+ID4gKwkJfQ0KPiA+ICsNCj4gPiArCQlpZiAoZHJpdmVyID09IE5VTEwgJiYgIXZkZXYpIHsN Cj4gPiArCQkJcnRlX3BhbmljKCJubyBkcml2ZXIgZm91bmQgZm9yICVzXG4iLA0KPiA+ICsJCQkJ CWRldmFyZ3MtPnZpcnR1YWwuZHJ2X25hbWUpOw0KPiA+ICsJCX0NCj4gPiArCX0NCj4gPiArCXJl dHVybiAwOw0KPiA+ICt9DQo+ID4gKyNlbmRpZg0KPiA+ICsNCj4gSWYgeW91IHRyZWF0IGJvbmRl ZCBkZXZpY2VzIGFzIHZkZXZzLCB5b3UgY2FuIHJlbW92ZSB0aGlzIGZ1bmN0aW9uIGVudGlyZWx5 Lg0KDQpBZ3JlZWQgYnV0IG9ubHkgaWYgdGhlcmUgaXMgYSBzb2x1dGlvbiB0byB0aGUgaXNzdWVz IGRlc2NyaWJlZCBhYm92ZS4NCg0KPiANCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fcGNpLmMNCj4gYi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9wY2kuYw0KPiA+IGluZGV4IDRkODc3ZWEuLjliNTg0ZjUgMTAwNjQ0DQo+ID4gLS0tIGEv bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fcGNpLmMNCj4gPiArKysgYi9saWIvbGli cnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9wY2kuYw0KPiA+IEBAIC0xNjYsNyArMTY2LDEzIEBA IHJ0ZV9lYWxfcGNpX3Byb2JlKHZvaWQpDQo+ID4gIAkJCQkgZGV2LT5hZGRyLmRldmlkLCBkZXYt PmFkZHIuZnVuY3Rpb24pOw0KPiA+ICAJfQ0KPiA+DQo+ID4gKyNpZmRlZiBSVEVfTElCUlRFX1BN RF9CT05EDQo+ID4gKwkvKiBBZnRlciBhbGwgcGh5c2ljYWwgUENJIGRldmljZXMgaGF2ZSBiZWVu IHByb2JlZCBhbmQgaW5pdGlhbGl6ZWQgdGhlbiB3ZQ0KPiA+ICsJICogaW5pdGlhbGl6ZSB0aGUg Ym9uZGVkIGRldmljZXMgKi8NCj4gPiArCXJldHVybiBydGVfZWFsX2JvbmRlZF9kZXZfaW5pdCgp Ow0KPiA+ICsjZWxzZQ0KPiBUaGlzIGlzIHRoZSB3cm9uZyBwbGFjZSBmb3IgdGhpcywgYm9uZGVk IGRldmljZXMgYXJlIG5vdCBwY2kgZGV2aWNlcywgdGhpcw0KPiBkb2Vzbid0IGJlbG9uZyBpbiB0 aGUgcGNpIGRldmljZSBwcm9iZSBwYXRoLiAgSWYgeW91IHRyZWF0IHRoZSBib25kZWQgZGV2aWNl cyBhcw0KPiB2ZGV2cyBhbmQgaGFuZGxlIHRoZSBvcmRlcmluZyBhcyBkZXNjcmliZWQgYWJvdmUs IHlvdSB3b24ndCBuZWVkIHRoaXMgYW55d2F5Lg0KDQpTZWUgZmlyc3QgY29tbWVudCwgYnV0IHVu bGVzcyBhIG5ldyBBUEkgaXMgYWRkZWQgZm9yIGluaXRpYWxpemF0aW9uIG9mIHRoZSBib25kZWQg ZGV2aWNlcywgdGhlbg0Kc29tZSBzb3J0IHNpZ25hbC9jYWxsYmFjayBpcyByZXF1aXJlZCBoZXJl IHRvIG5vdGlmeSB0aGF0IGl0IGlzIG5vdyBzYWZlIHRvIGluaXRpYWxpemUgdGhlIGJvbmRlZA0K ZGV2aWNlcy4NCg0KPiANCj4gPiAgCXJldHVybiAwOw0KPiA+ICsjZW5kaWYNCj4gPiAgfQ0KPiA+ DQo+ID4gIC8qIGR1bXAgb25lIGRldmljZSAqLw0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRl X2VhbC9jb21tb24vaW5jbHVkZS9lYWxfcHJpdmF0ZS5oDQo+IGIvbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2luY2x1ZGUvZWFsX3ByaXZhdGUuaA0KPiA+IGluZGV4IDIzMmZjZWMuLmY2MDgxYmIgMTAw NjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2luY2x1ZGUvZWFsX3ByaXZhdGUu aA0KPiA+ICsrKyBiL2xpYi9saWJydGVfZWFsL2NvbW1vbi9pbmNsdWRlL2VhbF9wcml2YXRlLmgN Cj4gPiBAQCAtMjAzLDQgKzIwMywxMSBAQCBpbnQgcnRlX2VhbF9hbGFybV9pbml0KHZvaWQpOw0K PiA+ICAgKi8NCj4gPiAgaW50IHJ0ZV9lYWxfZGV2X2luaXQodm9pZCk7DQo+ID4NCj4gPiArI2lm ZGVmIFJURV9MSUJSVEVfUE1EX0JPTkQNCj4gPiArLyoqDQo+ID4gKyAqIEluaXRpYWxpemUgdGhl IGJvbmRlZCBkZXZpY2VzDQo+ID4gKyAqLw0KPiA+ICtpbnQgcnRlX2VhbF9ib25kZWRfZGV2X2lu aXQodm9pZCk7DQo+ID4gKyNlbmRpZg0KPiA+ICsNCj4gPiAgI2VuZGlmIC8qIF9FQUxfUFJJVkFU RV9IXyAqLw0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9y dGVfZGV2LmgNCj4gYi9saWIvbGlicnRlX2VhbC9jb21tb24vaW5jbHVkZS9ydGVfZGV2LmgNCj4g PiBpbmRleCBmN2UzYTEwLi5mMGE3ODBhIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVfZWFs L2NvbW1vbi9pbmNsdWRlL3J0ZV9kZXYuaA0KPiA+ICsrKyBiL2xpYi9saWJydGVfZWFsL2NvbW1v bi9pbmNsdWRlL3J0ZV9kZXYuaA0KPiA+IEBAIC02Miw2ICs2Miw3IEBAIHR5cGVkZWYgaW50IChy dGVfZGV2X2luaXRfdCkoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhcg0KPiAqYXJncyk7DQo+ ID4gIGVudW0gcG1kX3R5cGUgew0KPiA+ICAJUE1EX1ZERVYgPSAwLA0KPiA+ICAJUE1EX1BERVYg PSAxLA0KPiA+ICsJUE1EX0JERVYgPSAyLAkvKio8IFBvbGwgTW9kZSBEcml2ZXIgQm9uZGVkIERl dmljZSovDQo+ID4gIH07DQo+IENhbiBkcm9wIHRoaXMgYXMgbm90ZWQgYWJvdmUuDQo+IA0KPiA+ DQo+ID4gIC8qKg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX2V0aGVyL3J0ZV9ldGhkZXYu YyBiL2xpYi9saWJydGVfZXRoZXIvcnRlX2V0aGRldi5jDQo+ID4gaW5kZXggODAxMWI4Yi4uNGMy ZjFkMyAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRlX2V0aGVyL3J0ZV9ldGhkZXYuYw0KPiA+ ICsrKyBiL2xpYi9saWJydGVfZXRoZXIvcnRlX2V0aGRldi5jDQo+ID4gQEAgLTY0LDYgKzY0LDcg QEANCj4gPiAgI2luY2x1ZGUgPHJ0ZV9tYnVmLmg+DQo+ID4gICNpbmNsdWRlIDxydGVfZXJybm8u aD4NCj4gPiAgI2luY2x1ZGUgPHJ0ZV9zcGlubG9jay5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX3N0 cmluZ19mbnMuaD4NCj4gPg0KPiA+ICAjaW5jbHVkZSAicnRlX2V0aGVyLmgiDQo+ID4gICNpbmNs dWRlICJydGVfZXRoZGV2LmgiDQo+ID4gQEAgLTE1Miw4ICsxNTMsMjEgQEAgcnRlX2V0aF9kZXZf ZGF0YV9hbGxvYyh2b2lkKQ0KPiA+ICAJCQkJUlRFX01BWF9FVEhQT1JUUyAqDQo+IHNpemVvZigq cnRlX2V0aF9kZXZfZGF0YSkpOw0KPiA+ICB9DQo+ID4NCj4gPiArc3RhdGljIGludA0KPiA+ICty dGVfZXRoX2Rldl9uYW1lX3VuaXF1ZShjb25zdCBjaGFyKiBuYW1lKQ0KPiA+ICt7DQo+ID4gKwl1 bnNpZ25lZCBpOw0KPiA+ICsNCj4gPiArCWZvciAoaSA9IDA7IGkgPCBuYl9wb3J0czsgaSsrKSB7 DQo+ID4gKwkJaWYgKHN0cmNtcChydGVfZXRoX2RldmljZXNbaV0uZGF0YS0+bmFtZSwgbmFtZSkg PT0gMCkNCj4gPiArCQkJcmV0dXJuIC0xOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldHVybiAw Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICBzdHJ1Y3QgcnRlX2V0aF9kZXYgKg0KPiA+IC1ydGVfZXRo X2Rldl9hbGxvY2F0ZSh2b2lkKQ0KPiA+ICtydGVfZXRoX2Rldl9hbGxvY2F0ZShjb25zdCBjaGFy KiBuYW1lKQ0KPiA+ICB7DQo+ID4gIAlzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXY7DQo+ID4N Cj4gPiBAQCAtMTY1LDIzICsxNzksMzcgQEAgcnRlX2V0aF9kZXZfYWxsb2NhdGUodm9pZCkNCj4g PiAgCWlmIChydGVfZXRoX2Rldl9kYXRhID09IE5VTEwpDQo+ID4gIAkJcnRlX2V0aF9kZXZfZGF0 YV9hbGxvYygpOw0KPiA+DQo+ID4gKwlpZiAocnRlX2V0aF9kZXZfbmFtZV91bmlxdWUobmFtZSkp IHsNCj4gPiArCQlQTURfREVCVUdfVFJBQ0UoIkV0aGVybmV0IERldmljZSB3aXRoIG5hbWUgJXMg YWxyZWFkeQ0KPiBhbGxvY2F0ZWQhXG4iKTsNCj4gPiArCQlyZXR1cm4gTlVMTDsNCj4gPiArCX0N Cj4gPiArDQo+IFRoaXMgc2VlbXMgZmFpcmx5IHJhY3kgaWYgeW91IGFsbG93IGR5bmFtaWMgZGV2 aWNlIGNyZWF0aW9uIGF0IHJ1biB0aW1lIGZyb20gdGhlDQo+IGFwcGxpY2F0aW9uLCBpZiBtdWx0 aXBsZSB0aHJlYWRzIGF0dGVtcHQgdG8gY3JlYXRlIGJvbmRzIGluIHBhcmFsbGVsLg0KDQpUcnVl IGJ1dCBpZiB0aGlzIGlzIGFuIGlzc3VlIHRoZW4gdGhlcmUgcHJvYmFibHkgc2hvdWxkIGJlIHNv bWUgbG9ja2luZyBhcm91bmQgdGhpcyBhbGxvY2F0aW9uIGFueXdheS4NCj4gDQo+IA0KPiA+ICAJ ZXRoX2RldiA9ICZydGVfZXRoX2RldmljZXNbbmJfcG9ydHNdOw0KPiA+ICAJZXRoX2Rldi0+ZGF0 YSA9ICZydGVfZXRoX2Rldl9kYXRhW25iX3BvcnRzXTsNCj4gPiArCXJ0ZV9zbnByaW50ZihldGhf ZGV2LT5kYXRhLT5uYW1lICwgc2l6ZW9mKGV0aF9kZXYtPmRhdGEtPm5hbWUgKSwNCj4gPiArCQkJ IiVzIiwgbmFtZSk7DQo+ID4gIAlldGhfZGV2LT5kYXRhLT5wb3J0X2lkID0gbmJfcG9ydHMrKzsN Cj4gPiAgCXJldHVybiBldGhfZGV2Ow0KPiA+ICB9DQo+ID4NCj4gPiAgc3RhdGljIGludA0KPiA+ ICBydGVfZXRoX2Rldl9pbml0KHN0cnVjdCBydGVfcGNpX2RyaXZlciAqcGNpX2RydiwNCj4gPiAt CQkgc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KQ0KPiA+ICsJCXN0cnVjdCBydGVfcGNp X2RldmljZSAqcGNpX2RldikNCj4gPiAgew0KPiA+ICAJc3RydWN0IGV0aF9kcml2ZXIgICAgKmV0 aF9kcnY7DQo+ID4gIAlzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXY7DQo+ID4gKwljaGFyIGV0 aGRldl9uYW1lW1JURV9FVEhfTkFNRV9NQVhfTEVOXTsNCj4gPiArDQo+ID4gIAlpbnQgZGlhZzsN Cj4gPg0KPiA+ICAJZXRoX2RydiA9IChzdHJ1Y3QgZXRoX2RyaXZlciAqKXBjaV9kcnY7DQo+ID4N Cj4gPiAtCWV0aF9kZXYgPSBydGVfZXRoX2Rldl9hbGxvY2F0ZSgpOw0KPiA+ICsJLyogQ3JlYXRl IHVuaXF1ZSBldGhkZXYgbmFtZSBieSBjb25jYXRlbmF0aW5nIGRyaXZlIG5hbWUgYW5kIG51bWJl cg0KPiBvZg0KPiA+ICsJICogcG9ydHMgKi8NCj4gPiArCXJ0ZV9zbnByaW50ZihldGhkZXZfbmFt ZSwgUlRFX0VUSF9OQU1FX01BWF9MRU4sICIlZDolZC4lZCIsDQo+ID4gKwkJCXBjaV9kZXYtPmFk ZHIuYnVzLCBwY2lfZGV2LT5hZGRyLmRldmlkLCBwY2lfZGV2LQ0KPiA+YWRkci5mdW5jdGlvbik7 DQo+ID4gKw0KPiA+ICsJZXRoX2RldiA9IHJ0ZV9ldGhfZGV2X2FsbG9jYXRlKGV0aGRldl9uYW1l KTsNCj4gPiAgCWlmIChldGhfZGV2ID09IE5VTEwpDQo+ID4gIAkJcmV0dXJuIC1FTk9NRU07DQo+ ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldGhlci9ydGVfZXRoZGV2LmggYi9saWIv bGlicnRlX2V0aGVyL3J0ZV9ldGhkZXYuaA0KPiA+IGluZGV4IDY3ZWRhNTAuLjI3ZWQwYWIgMTAw NjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9ldGhlci9ydGVfZXRoZGV2LmgNCj4gPiArKysgYi9s aWIvbGlicnRlX2V0aGVyL3J0ZV9ldGhkZXYuaA0KPiA+IEBAIC0xMjMzLDYgKzEyMzMsOCBAQCBz dHJ1Y3QgcnRlX2V0aF9kZXZfc3Jpb3Ygew0KPiA+ICB9Ow0KPiA+ICAjZGVmaW5lIFJURV9FVEhf REVWX1NSSU9WKGRldikgICAgICAgICAoKGRldiktPmRhdGEtPnNyaW92KQ0KPiA+DQo+ID4gKyNk ZWZpbmUgUlRFX0VUSF9OQU1FX01BWF9MRU4gKDMyKQ0KPiA+ICsNCj4gPiAgLyoqDQo+ID4gICAq IEBpbnRlcm5hbA0KPiA+ICAgKiBUaGUgZGF0YSBwYXJ0LCB3aXRoIG5vIGZ1bmN0aW9uIHBvaW50 ZXJzLCBhc3NvY2lhdGVkIHdpdGggZWFjaCBldGhlcm5ldA0KPiBkZXZpY2UuDQo+ID4gQEAgLTEy NDEsNiArMTI0Myw4IEBAIHN0cnVjdCBydGVfZXRoX2Rldl9zcmlvdiB7DQo+ID4gICAqIHByb2Nl c3NlcyBpbiBhIG11bHRpLXByb2Nlc3MgY29uZmlndXJhdGlvbi4NCj4gPiAgICovDQo+ID4gIHN0 cnVjdCBydGVfZXRoX2Rldl9kYXRhIHsNCj4gPiArCWNoYXIgbmFtZVtSVEVfRVRIX05BTUVfTUFY X0xFTl07IC8qKjwgVW5pcXVlIGlkZW50aWZpZXIgbmFtZSAqLw0KPiA+ICsNCj4gPiAgCXZvaWQg KipyeF9xdWV1ZXM7IC8qKjwgQXJyYXkgb2YgcG9pbnRlcnMgdG8gUlggcXVldWVzLiAqLw0KPiA+ ICAJdm9pZCAqKnR4X3F1ZXVlczsgLyoqPCBBcnJheSBvZiBwb2ludGVycyB0byBUWCBxdWV1ZXMu ICovDQo+ID4gIAl1aW50MTZfdCBuYl9yeF9xdWV1ZXM7IC8qKjwgTnVtYmVyIG9mIFJYIHF1ZXVl cy4gKi8NCj4gPiBAQCAtMTI5MywxMCArMTI5NywxMSBAQCBleHRlcm4gdWludDhfdCBydGVfZXRo X2Rldl9jb3VudCh2b2lkKTsNCj4gPiAgICogQWxsb2NhdGVzIGEgbmV3IGV0aGRldiBzbG90IGZv ciBhbiBldGhlcm5ldCBkZXZpY2UgYW5kIHJldHVybnMgdGhlIHBvaW50ZXINCj4gPiAgICogdG8g dGhhdCBzbG90IGZvciB0aGUgZHJpdmVyIHRvIHVzZS4NCj4gPiAgICoNCj4gPiArICogQHBhcmFt CW5hbWUJVW5pcXVlIGlkZW50aWZpZXIgbmFtZSBmb3IgZWFjaCBFdGhlcm5ldCBkZXZpY2UNCj4g PiAgICogQHJldHVybg0KPiA+ICAgKiAgIC0gU2xvdCBpbiB0aGUgcnRlX2Rldl9kZXZpY2VzIGFy cmF5IGZvciBhIG5ldyBkZXZpY2U7DQo+ID4gICAqLw0KPiA+IC1zdHJ1Y3QgcnRlX2V0aF9kZXYg KnJ0ZV9ldGhfZGV2X2FsbG9jYXRlKHZvaWQpOw0KPiA+ICtzdHJ1Y3QgcnRlX2V0aF9kZXYgKnJ0 ZV9ldGhfZGV2X2FsbG9jYXRlKGNvbnN0IGNoYXIgKm5hbWUpOw0KPiA+DQo+ID4gIHN0cnVjdCBl dGhfZHJpdmVyOw0KPiANCj4gDQo+ID4gIC8qKg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRl X3BtZF9wY2FwL3J0ZV9ldGhfcGNhcC5jDQo+IGIvbGliL2xpYnJ0ZV9wbWRfcGNhcC9ydGVfZXRo X3BjYXAuYw0KPiBIbW0sIHdlJ3JlIG1vZGlmeWluZyBvdGhlciBwbWRzIGZvciB0aGUgbmFtaW5n IGZlYXR1cmUsIEkgdGhpbmsgaXQgd291bGQgYmUgYmVzdA0KPiBzcGxpdCBvdXQgaW50byBhIHNl cGFyYXRlIHBhdGNoLiAgU29tZXRoaW5nIGVudGl0bGVkICJzdXBwb3J0IHVuaXF1ZSBpbnRlcmZh Y2UNCj4gbmFtaW5nIGZvciB2aXJ0dWFsIHBtZHMiIG9yIHNvbWV0aGluZy4NCg0KVHJ1ZSwgYnV0 IGlmIEkgZG8gdGhhdCwgSSB3aWxsIG5lZWQgdG8gYnJlYWsgc3VwcG9ydCBmb3IgdmlydHVhbCBk ZXZpY2VzIGluIHRoaXMgcGF0Y2ggc2V0LCBhbmQNCkkgd291bGQgcHJlZmVyIHRvIGtlZXAgdGhp cyBmdW5jdGlvbmFsaXR5IHdvcmtpbmcgaW5pdGlhbCByZWxlYXNlIG9mIGxpbmsgYm9uZGluZy4g QWxzbyBhbm90aGVyDQpwYXRjaHNldCB3aWxsIGJlIHJlcXVpcmVkIGF0IHNvbWUgcG9pbnQgaW4g dGhlIG5lYXIgZnV0dXJlIHRvIHRpZHkgdXAvcmF0aW9uYWxpemUgdGhlIGN1cnJlbnQgDQpoYW5k bGluZyBvZiB2aXJ0dWFsIGRldmljZXMgaWRlbnRpZmljYXRpb24gYW5kIHRoZXNlIGNoYW5nZXMg ZG8gbm90IGNoYW5nZSBmdW5jdGlvbmFsbHkgaG93DQp0aGVzZSBkZXZpY2VzIHdvcmsuDQo=