From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 919B81B799 for ; Thu, 12 Apr 2018 08:48:04 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Apr 2018 23:48:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,440,1517904000"; d="scan'208";a="36623934" Received: from kmsmsx156.gar.corp.intel.com ([172.21.138.133]) by fmsmga002.fm.intel.com with ESMTP; 11 Apr 2018 23:48:02 -0700 Received: from pgsmsx102.gar.corp.intel.com ([169.254.6.99]) by KMSMSX156.gar.corp.intel.com ([169.254.1.97]) with mapi id 14.03.0319.002; Thu, 12 Apr 2018 14:47:55 +0800 From: "Gujjar, Abhinandan S" To: Akhil Goyal , "jerin.jacob@caviumnetworks.com" , "hemant.agrawal@nxp.com" , "dev@dpdk.org" CC: "De Lara Guarch, Pablo" , "Doherty, Declan" , "Vangati, Narender" , "Rao, Nikhil" Thread-Topic: [dpdk-dev, v1, 1/5] eventdev: add caps API and PMD callbacks for crypto adapter Thread-Index: AQHT0LgUYCvmPQuraEC3+0gdvUdCaaP8sHFA Date: Thu, 12 Apr 2018 06:47:54 +0000 Message-ID: <5612CB344B05EE4F95FC5B729939F780706E38B0@PGSMSX102.gar.corp.intel.com> References: <1522824978-61568-1-git-send-email-abhinandan.gujjar@intel.com> <85da6811-fce9-37ea-3043-becc47de54bd@nxp.com> In-Reply-To: <85da6811-fce9-37ea-3043-becc47de54bd@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMTQ3ZmQzN2YtZGJhMi00YzA3LWEzMDItOGYwNzU5ODQ3ZjU5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6ImVBdW96SFhISWxlazhQWWVCRXhWMWtXSDBNaVUyRWg3ZG5MOTJCVDJjc0E9In0= dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-originating-ip: [172.30.20.206] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [dpdk-dev, v1, 1/5] eventdev: add caps API and PMD callbacks for crypto adapter 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: Thu, 12 Apr 2018 06:48:05 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQWtoaWwgR295YWwgW21h aWx0bzpha2hpbC5nb3lhbEBueHAuY29tXQ0KPiBTZW50OiBUdWVzZGF5LCBBcHJpbCAxMCwgMjAx OCA0OjA3IFBNDQo+IFRvOiBHdWpqYXIsIEFiaGluYW5kYW4gUyA8YWJoaW5hbmRhbi5ndWpqYXJA aW50ZWwuY29tPjsNCj4gamVyaW4uamFjb2JAY2F2aXVtbmV0d29ya3MuY29tOyBoZW1hbnQuYWdy YXdhbEBueHAuY29tOyBkZXZAZHBkay5vcmcNCj4gQ2M6IERlIExhcmEgR3VhcmNoLCBQYWJsbyA8 cGFibG8uZGUubGFyYS5ndWFyY2hAaW50ZWwuY29tPjsgRG9oZXJ0eSwgRGVjbGFuDQo+IDxkZWNs YW4uZG9oZXJ0eUBpbnRlbC5jb20+OyBWYW5nYXRpLCBOYXJlbmRlcg0KPiA8bmFyZW5kZXIudmFu Z2F0aUBpbnRlbC5jb20+OyBSYW8sIE5pa2hpbCA8bmlraGlsLnJhb0BpbnRlbC5jb20+DQo+IFN1 YmplY3Q6IFJlOiBbZHBkay1kZXYsIHYxLCAxLzVdIGV2ZW50ZGV2OiBhZGQgY2FwcyBBUEkgYW5k IFBNRCBjYWxsYmFja3MgZm9yDQo+IGNyeXB0byBhZGFwdGVyDQo+IA0KPiBJdCB3b3VsZCBiZSBn b29kIGlmIHdlIGhhdmUgYSBjb3ZlciBsZXR0ZXIgYW5kIGRlc2NyaXB0aW9uIGluIHRoZSBjb21t aXQNCj4gbWVzc2FnZS4NClN1cmUuLg0KPiANCj4gVGhlIHBhdGNoc2V0IGRvZXMgbm90IGFwcGx5 IG9uIGV2ZW50ZGV2IHN1YnRyZWUuIENvdWxkIHlvdSBwbGVhc2UgcmViYXNlLg0KQWxsIHRoZSBw YXRjaGVzIHdlcmUgYmFzZWQgb24gIiBkcGRrLW5leHQtZXZlbnRkZXYgIi4NCj4gDQo+IEkgdGhp bmsgdGhlcmUgaXMgYSBuZWVkIHRvIGFkZCBzdHJ1Y3QgcnRlX2NyeXB0b19vcCBpbiB0aGUgcnRl X2V2ZW50IHdvcmQgMSB1bmlvbg0KPiBhcyB5b3UgYXJlIGFkZGluZyBjcnlwdG8gZXZlbnQuIEFs bCBjcnlwdG8gZHJpdmVycyB3b3VsZCBwcm9jZXNzIGNyeXB0byBvcCBhbmQNCj4gbm90IG1idWYu DQpUaGUgIiBldmVudF9wdHIiIG9mICpydGVfZXZlbnQqIHdpbGwgcG9pbnQgdG8gKnJ0ZV9jcnlw dG9fb3AqIGZyb20gYXBwbGljYXRpb24gc2lkZS4NCkZyb20gYWRhcHRlciBzaWRlLCB0aGUgc2Ft ZSBpcyBleHRyYWN0ZWQgdXNpbmcgImNyeXB0b19vcCA9IGV2W2ldLmV2ZW50X3B0ciIuDQpQbGVh c2UgcmVmZXIgYWRhcHRlciBpbXBsZW1lbnRhdGlvbiBhbmQgdGVzdC90ZXN0Ly5jIGZpbGVzICYg cmV2aWV3IHRoZW0gdG9vLg0KDQo+IA0KPiBBbHNvLCBJIGd1ZXNzIHRoZSBwYXRjaHNldCBpcyBk ZXBlbmRlbnQgb24gYW5vdGhlciBwYXRjaHNldC4gUGxlYXNlIG1lbnRpb24NCj4gdGhhdCBhbHNv IGluIHRoZSBjb3ZlciBsZXR0ZXIuDQpZb3UgbWVhbiBjcnlwdG9kZXY/IElmIHllcywgc3VyZS4u DQoNCj4gDQo+IE9uIDQvNC8yMDE4IDEyOjI2IFBNLCBBYmhpbmFuZGFuIEd1amphciB3cm90ZToN Cj4gPiBTaWduZWQtb2ZmLWJ5OiBBYmhpbmFuZGFuIEd1amphciA8YWJoaW5hbmRhbi5ndWpqYXJA aW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICAgbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRk ZXYuYyAgICAgfCAgMjUgKysrKysNCj4gPiAgIGxpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50 ZGV2LmggICAgIHwgIDM1ICsrKysrKysNCj4gPiAgIGxpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2 ZW50ZGV2X3BtZC5oIHwgMTc2DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K PiA+ICAgMyBmaWxlcyBjaGFuZ2VkLCAyMzYgaW5zZXJ0aW9ucygrKQ0KPiA+DQo+ID4gZGlmZiAt LWdpdCBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4gPiBiL2xpYi9saWJy dGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4gPiBpbmRleCAyZGU4ZDlhLi4zZDI0ZThmIDEw MDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmMNCj4gPiAr KysgYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldi5jDQo+ID4gQEAgLTI5LDYgKzI5 LDggQEANCj4gPiAgICNpbmNsdWRlIDxydGVfbWFsbG9jLmg+DQo+ID4gICAjaW5jbHVkZSA8cnRl X2Vycm5vLmg+DQo+ID4gICAjaW5jbHVkZSA8cnRlX2V0aGRldi5oPg0KPiA+ICsjaW5jbHVkZSA8 cnRlX2NyeXB0b2Rldi5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2NyeXB0b2Rldl9wbWQuaD4NCj4g Pg0KPiA+ICAgI2luY2x1ZGUgInJ0ZV9ldmVudGRldi5oIg0KPiA+ICAgI2luY2x1ZGUgInJ0ZV9l dmVudGRldl9wbWQuaCINCj4gPiBAQCAtMTIzLDYgKzEyNSwyOSBAQA0KPiA+ICAgCQkJCTogMDsN Cj4gPiAgIH0NCj4gPg0KPiA+ICtpbnQgX19ydGVfZXhwZXJpbWVudGFsDQo+ID4gK3J0ZV9ldmVu dF9jcnlwdG9fYWRhcHRlcl9jYXBzX2dldCh1aW50OF90IGRldl9pZCwgdWludDhfdCBjZGV2X2lk LA0KPiA+ICsJCQkJICB1aW50MzJfdCAqY2FwcykNCj4gPiArew0KPiA+ICsJc3RydWN0IHJ0ZV9l dmVudGRldiAqZGV2Ow0KPiA+ICsJc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmNkZXY7DQo+ID4gKw0K PiA+ICsJUlRFX0VWRU5UREVWX1ZBTElEX0RFVklEX09SX0VSUl9SRVQoZGV2X2lkLCAtRUlOVkFM KTsNCj4gPiArCWlmICghcnRlX2NyeXB0b2Rldl9wbWRfaXNfdmFsaWRfZGV2KGNkZXZfaWQpKQ0K PiA+ICsJCXJldHVybiAtRUlOVkFMOw0KPiA+ICsNCj4gPiArCWRldiA9ICZydGVfZXZlbnRkZXZz W2Rldl9pZF07DQo+ID4gKwljZGV2ID0gcnRlX2NyeXB0b2Rldl9wbWRfZ2V0X2RldihjZGV2X2lk KTsNCj4gPiArDQo+ID4gKwlpZiAoY2FwcyA9PSBOVUxMKQ0KPiA+ICsJCXJldHVybiAtRUlOVkFM Ow0KPiBJdCBpcyBleHBlY3RlZCB0aGF0IGNhcHMgbWVtb3J5IGlzIGluaXRpYWxpemVkIGJ5IHRo ZSBjYWxsZXIuIFRoaXMgc2hvdWxkIGJlDQo+IG1lbnRpb25lZCBpbiB0aGUgZGVzY3JpcHRpb24g b2YgdGhlIEFQSS4NCk9rDQo+ID4gKwkqY2FwcyA9IDA7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIGRl di0+ZGV2X29wcy0+Y3J5cHRvX2FkYXB0ZXJfY2Fwc19nZXQgPw0KPiA+ICsJCSgqZGV2LT5kZXZf b3BzLT5jcnlwdG9fYWRhcHRlcl9jYXBzX2dldCkNCj4gPiArCQkoZGV2LCBjZGV2LCBjYXBzKSA6 IDA7DQo+IA0KPiBJdCBzaG91bGQgYmUgLUVOT1RTVVAgaW5zdGVhZCBvZiAwLiBJIHRoaW5rIHNh bWUgbmVlZHMgdG8gYmUgY29ycmVjdGVkIGZvciBldGgNCj4gcnggYWRhcHRlci4NCk9rLiBJIHdp bGwgdXBkYXRlIHRoaXMgaW4gdGhlIGNyeXB0byBjYXBzIEFQSS4NCj4gDQo+ID4gK30NCj4gPiAr DQo+ID4gICBzdGF0aWMgaW5saW5lIGludA0KPiA+ICAgcnRlX2V2ZW50X2Rldl9xdWV1ZV9jb25m aWcoc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LCB1aW50OF90IG5iX3F1ZXVlcykNCj4gPiAgIHsN Cj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPiA+ IGIvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXYuaA0KPiA+IGluZGV4IGEyMDA3N2Mu LjQ5YTcxZDEgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRk ZXYuaA0KPiA+ICsrKyBiL2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2LmgNCj4gPiBA QCAtMzUsNiArMzUsOCBAQA0KPiA+ICAgI2lmbmRlZiBfUlRFX0VWRU5UREVWX0hfDQo+ID4gICAj ZGVmaW5lIF9SVEVfRVZFTlRERVZfSF8NCj4gPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2NvbXBhdC5o Pg0KPiA+ICsNCj4gPiAgIC8qKg0KPiA+ICAgICogQGZpbGUNCj4gPiAgICAqDQo+ID4gQEAgLTEx NDIsNiArMTE0NCwzOSBAQCBzdHJ1Y3QgcnRlX2V2ZW50IHsNCj4gPiAgIHJ0ZV9ldmVudF9ldGhf cnhfYWRhcHRlcl9jYXBzX2dldCh1aW50OF90IGRldl9pZCwgdWludDhfdCBldGhfcG9ydF9pZCwN Cj4gPiAgIAkJCQl1aW50MzJfdCAqY2Fwcyk7DQo+ID4NCj4gPiArDQo+ID4gKy8qIENyeXB0byBh ZGFwdGVyIGNhcGFiaWxpdHkgYml0bWFwIGZsYWcgKi8NCj4gPiArI2RlZmluZSBSVEVfRVZFTlRf Q1JZUFRPX0FEQVBURVJfQ0FQX0lOVEVSTkFMX1BPUlQJMHgxDQo+ID4gKy8qKjwgRmxhZyBpbmRp Y2F0ZXMgSFcgaXMgY2FwYWJsZSBvZiBnZW5lcmF0aW5nIGV2ZW50cy4NCj4gPiArICogQ3J5cHRv ZGV2IGNhbiBzZW5kIHBhY2tldHMgdG8gdGhlIGV2ZW50IGRldmljZSB1c2luZyBhbiBpbnRlcm5h bCBldmVudA0KPiBwb3J0Lg0KPiA+ICsgKi8NCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBAd2Fy bmluZw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91 dCBwcmlvciBub3RpY2UNCj4gPiArICoNCj4gPiArICogUmV0cmlldmUgdGhlIGV2ZW50IGRldmlj ZSdzIGNyeXB0byBhZGFwdGVyIGNhcGFiaWxpdGllcyBmb3IgdGhlDQo+ID4gKyAqIHNwZWNpZmll ZCBjcnlwdG9kZXYgZGV2aWNlDQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJhbSBkZXZfaWQNCj4gPiAr ICogICBUaGUgaWRlbnRpZmllciBvZiB0aGUgZGV2aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFy YW0gY2Rldl9pZA0KPiA+ICsgKiAgIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBjcnlwdG9kZXYgZGV2 aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW1bb3V0XSBjYXBzDQo+ID4gKyAqICAgQSBwb2lu dGVyIHRvIG1lbW9yeSBmaWxsZWQgd2l0aCBldmVudCBhZGFwdGVyIGNhcGFiaWxpdGllcy4NCj4g PiArICoNCj4gPiArICogQHJldHVybg0KPiA+ICsgKiAgIC0gMDogU3VjY2VzcywgZHJpdmVyIHBy b3ZpZGVzIGV2ZW50IGFkYXB0ZXIgY2FwYWJpbGl0aWVzIGZvciB0aGUNCj4gPiArICoJY3J5cHRv ZGV2IGRldmljZS4NCj4gPiArICogICAtIDwwOiBFcnJvciBjb2RlIHJldHVybmVkIGJ5IHRoZSBk cml2ZXIgZnVuY3Rpb24uDQo+ID4gKyAqDQo+ID4gKyAqLw0KPiA+ICtpbnQgX19ydGVfZXhwZXJp bWVudGFsDQo+ID4gK3J0ZV9ldmVudF9jcnlwdG9fYWRhcHRlcl9jYXBzX2dldCh1aW50OF90IGRl dl9pZCwgdWludDhfdCBjZGV2X2lkLA0KPiA+ICsJCQkJICB1aW50MzJfdCAqY2Fwcyk7DQo+ID4g Kw0KPiA+ICAgc3RydWN0IHJ0ZV9ldmVudGRldl9kcml2ZXI7DQo+ID4gICBzdHJ1Y3QgcnRlX2V2 ZW50ZGV2X29wczsNCj4gPiAgIHN0cnVjdCBydGVfZXZlbnRkZXY7DQo+ID4gZGlmZiAtLWdpdCBh L2xpYi9saWJydGVfZXZlbnRkZXYvcnRlX2V2ZW50ZGV2X3BtZC5oDQo+ID4gYi9saWIvbGlicnRl X2V2ZW50ZGV2L3J0ZV9ldmVudGRldl9wbWQuaA0KPiA+IGluZGV4IDNhOGRkZDcuLjY1NmQxNjAg MTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRkZXZfcG1kLmgN Cj4gPiArKysgYi9saWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldl9wbWQuaA0KPiA+IEBA IC01ODUsNiArNTg1LDE2NyBAQCB0eXBlZGVmIGludA0KPiAoKmV2ZW50ZGV2X2V0aF9yeF9hZGFw dGVyX3N0YXRzX3Jlc2V0KQ0KPiA+ICAgICovDQo+ID4gICB0eXBlZGVmIGludCAoKmV2ZW50ZGV2 X3NlbGZ0ZXN0KSh2b2lkKTsNCj4gPg0KPiA+ICsNCj4gPiArc3RydWN0IHJ0ZV9jcnlwdG9kZXY7 DQo+ID4gKy8qKg0KPiA+ICsgKiBUaGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90 aWNlDQo+ID4gKyAqDQo+ID4gKyAqIFJldHJpZXZlIHRoZSBldmVudCBkZXZpY2UncyBjcnlwdG8g YWRhcHRlciBjYXBhYmlsaXRpZXMgZm9yIHRoZQ0KPiA+ICsgKiBzcGVjaWZpZWQgY3J5cHRvZGV2 DQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJhbSBkZXYNCj4gPiArICogICBFdmVudCBkZXZpY2UgcG9p bnRlcg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gY2Rldg0KPiA+ICsgKiAgIGNyeXB0b2RldiBw b2ludGVyDQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJhbVtvdXRdIGNhcHMNCj4gPiArICogICBBIHBv aW50ZXIgdG8gbWVtb3J5IGZpbGxlZCB3aXRoIGV2ZW50IGFkYXB0ZXIgY2FwYWJpbGl0aWVzLg0K PiA+ICsgKg0KPiA+ICsgKiBAcmV0dXJuDQo+ID4gKyAqICAgLSAwOiBTdWNjZXNzLCBkcml2ZXIg cHJvdmlkZXMgZXZlbnQgYWRhcHRlciBjYXBhYmlsaXRpZXMgZm9yIHRoZQ0KPiA+ICsgKgljcnlw dG9kZXYuDQo+ID4gKyAqICAgLSA8MDogRXJyb3IgY29kZSByZXR1cm5lZCBieSB0aGUgZHJpdmVy IGZ1bmN0aW9uLg0KPiA+ICsgKg0KPiA+ICsgKi8NCj4gPiArdHlwZWRlZiBpbnQgKCpldmVudGRl dl9jcnlwdG9fYWRhcHRlcl9jYXBzX2dldF90KQ0KPiA+ICsJCQkJCShjb25zdCBzdHJ1Y3QgcnRl X2V2ZW50ZGV2ICpkZXYsDQo+ID4gKwkJCQkJY29uc3Qgc3RydWN0IHJ0ZV9jcnlwdG9kZXYgKmNk ZXYsDQo+ID4gKwkJCQkJdWludDMyX3QgKmNhcHMpOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAq IFRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UNCj4gPiArICoNCj4gPiAr ICogQWRkIGNyeXB0byBxdWV1ZSBwYWlyIHRvIGV2ZW50IGRldmljZS4gVGhpcyBjYWxsYmFjayBp cyBpbnZva2VkIGlmDQo+ID4gKyAqIHRoZSBjYXBzIHJldHVybmVkIGZyb20gcnRlX2V2ZW50X2Ny eXB0b19hZGFwdGVyX2NhcHNfZ2V0KCwNCj4gPiArY2Rldl9pZCkNCj4gPiArICogaGFzIFJURV9F VkVOVF9DUllQVE9fQURBUFRFUl9DQVBfSU5URVJOQUxfUE9SVCBzZXQuDQo+ID4gKyAqDQo+ID4g KyAqIEBwYXJhbSBkZXYNCj4gPiArICogICBFdmVudCBkZXZpY2UgcG9pbnRlcg0KPiA+ICsgKg0K PiA+ICsgKiBAcGFyYW0gY2Rldg0KPiA+ICsgKiAgIGNyeXB0b2RldiBwb2ludGVyDQo+ID4gKyAq DQo+ID4gKyAqIEBwYXJhbVtvdXRdIHF1ZXVlX3BhaXJfaWQNCj4gPiArICogICBjcnlwdG9kZXYg cXVldWUgcGFpciBpbmRlbnRpZmllci4NCj4gc3BlbGwgY2hlY2suDQpPaw0KPiA+ICsgKg0KPiA+ ICsgKiBAcmV0dXJuDQo+ID4gKyAqICAgLSAwOiBTdWNjZXNzLCBjcnlwdG9kZXYgcXVldWUgcGFp ciBhZGRlZCBzdWNjZXNzZnVsbHkuDQo+ID4gKyAqICAgLSA8MDogRXJyb3IgY29kZSByZXR1cm5l ZCBieSB0aGUgZHJpdmVyIGZ1bmN0aW9uLg0KPiA+ICsgKg0KPiA+ICsgKi8NCj4gPiArdHlwZWRl ZiBpbnQgKCpldmVudGRldl9jcnlwdG9fYWRhcHRlcl9xdWV1ZV9wYWlyX2FkZF90KQ0KPiA+ICsJ CQkJCShjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ID4gKwkJCQkJY29uc3Qgc3Ry dWN0IHJ0ZV9jcnlwdG9kZXYgKmNkZXYsDQo+ID4gKwkJCQkJaW50MzJfdCBxdWV1ZV9wYWlyX2lk KTsNCj4gPiArDQo+ID4gKw0KPiA+ICsvKioNCj4gPiArICogVGhpcyBBUEkgbWF5IGNoYW5nZSB3 aXRob3V0IHByaW9yIG5vdGljZQ0KPiA+ICsgKg0KPiA+ICsgKiBEZWxldGUgY3J5cHRvIHF1ZXVl IHBhaXIgdG8gZXZlbnQgZGV2aWNlLiBUaGlzIGNhbGxiYWNrIGlzIGludm9rZWQNCj4gPiAraWYN Cj4gPiArICogdGhlIGNhcHMgcmV0dXJuZWQgZnJvbSBydGVfZXZlbnRfY3J5cHRvX2FkYXB0ZXJf Y2Fwc19nZXQoLA0KPiA+ICtjZGV2X2lkKQ0KPiA+ICsgKiBoYXMgUlRFX0VWRU5UX0NSWVBUT19B REFQVEVSX0NBUF9JTlRFUk5BTF9QT1JUIHNldC4NCj4gPiArICoNCj4gPiArICogQHBhcmFtIGRl dg0KPiA+ICsgKiAgIEV2ZW50IGRldmljZSBwb2ludGVyDQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJh bSBjZGV2DQo+ID4gKyAqICAgY3J5cHRvZGV2IHBvaW50ZXINCj4gPiArICoNCj4gPiArICogQHBh cmFtW291dF0gcXVldWVfcGFpcl9pZA0KPiA+ICsgKiAgIGNyeXB0b2RldiBxdWV1ZSBwYWlyIGlu ZGVudGlmaWVyLg0KPiBzcGVsbCBjaGVjaw0KT2sNCj4gPiArICoNCj4gPiArICogQHJldHVybg0K PiA+ICsgKiAgIC0gMDogU3VjY2VzcywgY3J5cHRvZGV2IHF1ZXVlIHBhaXIgZGVsZXRlZCBzdWNj ZXNzZnVsbHkuDQo+ID4gKyAqICAgLSA8MDogRXJyb3IgY29kZSByZXR1cm5lZCBieSB0aGUgZHJp dmVyIGZ1bmN0aW9uLg0KPiA+ICsgKg0KPiA+ICsgKi8NCj4gPiArdHlwZWRlZiBpbnQgKCpldmVu dGRldl9jcnlwdG9fYWRhcHRlcl9xdWV1ZV9wYWlyX2RlbF90KQ0KPiA+ICsJCQkJCShjb25zdCBz dHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ID4gKwkJCQkJY29uc3Qgc3RydWN0IHJ0ZV9jcnlw dG9kZXYgKmNkZXYsDQo+ID4gKwkJCQkJaW50MzJfdCBxdWV1ZV9wYWlyX2lkKTsNCj4gPiArDQo+ ID4gKy8qKg0KPiA+ICsgKiBTdGFydCBjcnlwdG8gYWRhcHRlci4gVGhpcyBjYWxsYmFjayBpcyBp bnZva2VkIGlmDQo+ID4gKyAqIHRoZSBjYXBzIHJldHVybmVkIGZyb20gcnRlX2V2ZW50X2NyeXB0 b19hZGFwdGVyX2NhcHNfZ2V0KC4uLA0KPiA+ICtjZGV2X2lkKQ0KPiA+ICsgKiBoYXMgUlRFX0VW RU5UX0NSWVBUT19BREFQVEVSX0NBUF9JTlRFUk5BTF9QT1JUIHNldCBhbmQgcXVldWUNCj4gcGFp cnMNCj4gPiArICogZnJvbSBjZGV2X2lkIGhhdmUgYmVlbiBhZGRlZCB0byB0aGUgZXZlbnQgZGV2 aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gZGV2DQo+ID4gKyAqICAgRXZlbnQgZGV2aWNl IHBvaW50ZXINCj4gPiArICoNCj4gPiArICogQHBhcmFtIGNkZXYNCj4gPiArICogICBDcnlwdG8g ZGV2aWNlIHBvaW50ZXINCj4gPiArICoNCj4gPiArICogQHJldHVybg0KPiA+ICsgKiAgIC0gMDog U3VjY2VzcywgY3J5cHRvIGFkYXB0ZXIgc3RhcnRlZCBzdWNjZXNzZnVsbHkuDQo+ID4gKyAqICAg LSA8MDogRXJyb3IgY29kZSByZXR1cm5lZCBieSB0aGUgZHJpdmVyIGZ1bmN0aW9uLg0KPiA+ICsg Ki8NCj4gPiArdHlwZWRlZiBpbnQgKCpldmVudGRldl9jcnlwdG9fYWRhcHRlcl9zdGFydF90KQ0K PiA+ICsJCQkJCShjb25zdCBzdHJ1Y3QgcnRlX2V2ZW50ZGV2ICpkZXYsDQo+ID4gKwkJCQkJIGNv bnN0IHN0cnVjdCBydGVfY3J5cHRvZGV2ICpjZGV2KTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsg KiBTdG9wIGNyeXB0byBhZGFwdGVyLiBUaGlzIGNhbGxiYWNrIGlzIGludm9rZWQgaWYNCj4gPiAr ICogdGhlIGNhcHMgcmV0dXJuZWQgZnJvbSBydGVfZXZlbnRfY3J5cHRvX2FkYXB0ZXJfY2Fwc19n ZXQoLi4sDQo+ID4gK2NkZXZfaWQpDQo+ID4gKyAqIGhhcyBSVEVfRVZFTlRfQ1JZUFRPX0FEQVBU RVJfQ0FQX0lOVEVSTkFMX1BPUlQgc2V0IGFuZCBxdWV1ZQ0KPiBwYWlycw0KPiA+ICsgKiBmcm9t IGNkZXZfaWQgaGF2ZSBiZWVuIGFkZGVkIHRvIHRoZSBldmVudCBkZXZpY2UuDQo+ID4gKyAqDQo+ ID4gKyAqIEBwYXJhbSBkZXYNCj4gPiArICogICBFdmVudCBkZXZpY2UgcG9pbnRlcg0KPiA+ICsg Kg0KPiA+ICsgKiBAcGFyYW0gY2Rldg0KPiA+ICsgKiAgIENyeXB0byBkZXZpY2UgcG9pbnRlcg0K PiA+ICsgKg0KPiA+ICsgKiBAcmV0dXJuDQo+ID4gKyAqICAgLSAwOiBTdWNjZXNzLCBjcnlwdG8g YWRhcHRlciBzdG9wcGVkIHN1Y2Nlc3NmdWxseS4NCj4gPiArICogICAtIDwwOiBFcnJvciBjb2Rl IHJldHVybmVkIGJ5IHRoZSBkcml2ZXIgZnVuY3Rpb24uDQo+ID4gKyAqLw0KPiA+ICt0eXBlZGVm IGludCAoKmV2ZW50ZGV2X2NyeXB0b19hZGFwdGVyX3N0b3BfdCkNCj4gPiArCQkJCQkoY29uc3Qg c3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiA+ICsJCQkJCSBjb25zdCBzdHJ1Y3QgcnRlX2Ny eXB0b2RldiAqY2Rldik7DQo+ID4gKw0KPiA+ICtzdHJ1Y3QgcnRlX2V2ZW50X2NyeXB0b19hZGFw dGVyX3N0YXRzOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAqIFJldHJpZXZlIGNyeXB0byBhZGFw dGVyIHN0YXRpc3RpY3MuDQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJhbSBkZXYNCj4gPiArICogICBF dmVudCBkZXZpY2UgcG9pbnRlcg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gY2Rldg0KPiA+ICsg KiAgIENyeXB0byBkZXZpY2UgcG9pbnRlcg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW1bb3V0XSBz dGF0cw0KPiA+ICsgKiAgIFBvaW50ZXIgdG8gc3RhdHMgc3RydWN0dXJlDQo+ID4gKyAqDQo+ID4g KyAqIEByZXR1cm4NCj4gPiArICogICBSZXR1cm4gMCBvbiBzdWNjZXNzLg0KPiA+ICsgKi8NCj4g PiArDQo+ID4gK3R5cGVkZWYgaW50ICgqZXZlbnRkZXZfY3J5cHRvX2FkYXB0ZXJfc3RhdHNfZ2V0 KQ0KPiA+ICsJCQkoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiA+ICsJCQljb25z dCBzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqY2RldiwNCj4gPiArCQkJc3RydWN0IHJ0ZV9ldmVudF9j cnlwdG9fYWRhcHRlcl9zdGF0cyAqc3RhdHMpOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAqIFJl c2V0IGNyeXB0byBhZGFwdGVyIHN0YXRpc3RpY3MuDQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJhbSBk ZXYNCj4gPiArICogICBFdmVudCBkZXZpY2UgcG9pbnRlcg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFy YW0gY2Rldg0KPiA+ICsgKiAgIENyeXB0byBkZXZpY2UgcG9pbnRlcg0KPiA+ICsgKg0KPiA+ICsg KiBAcmV0dXJuDQo+ID4gKyAqICAgUmV0dXJuIDAgb24gc3VjY2Vzcy4NCj4gPiArICovDQo+ID4g Kw0KPiA+ICt0eXBlZGVmIGludCAoKmV2ZW50ZGV2X2NyeXB0b19hZGFwdGVyX3N0YXRzX3Jlc2V0 KQ0KPiA+ICsJCQkoY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAqZGV2LA0KPiA+ICsJCQljb25z dCBzdHJ1Y3QgcnRlX2NyeXB0b2RldiAqY2Rldik7DQo+ID4gKw0KPiA+ICAgLyoqIEV2ZW50IGRl dmljZSBvcGVyYXRpb25zIGZ1bmN0aW9uIHBvaW50ZXIgdGFibGUgKi8NCj4gPiAgIHN0cnVjdCBy dGVfZXZlbnRkZXZfb3BzIHsNCj4gPiAgIAlldmVudGRldl9pbmZvX2dldF90IGRldl9pbmZvc19n ZXQ7CS8qKjwgR2V0IGRldmljZSBpbmZvLiAqLw0KPiA+IEBAIC02NDAsNiArODAxLDIxIEBAIHN0 cnVjdCBydGVfZXZlbnRkZXZfb3BzIHsNCj4gPiAgIAlldmVudGRldl9ldGhfcnhfYWRhcHRlcl9z dGF0c19yZXNldCBldGhfcnhfYWRhcHRlcl9zdGF0c19yZXNldDsNCj4gPiAgIAkvKio8IFJlc2V0 IGV0aGVybmV0IFJ4IHN0YXRzICovDQo+ID4NCj4gPiArCWV2ZW50ZGV2X2NyeXB0b19hZGFwdGVy X2NhcHNfZ2V0X3QgY3J5cHRvX2FkYXB0ZXJfY2Fwc19nZXQ7DQo+ID4gKwkvKio8IEdldCBjcnlw dG8gYWRhcHRlciBjYXBhYmlsaXRpZXMgKi8NCj4gPiArCWV2ZW50ZGV2X2NyeXB0b19hZGFwdGVy X3F1ZXVlX3BhaXJfYWRkX3QNCj4gY3J5cHRvX2FkYXB0ZXJfcXVldWVfcGFpcl9hZGQ7DQo+ID4g KwkvKio8IEFkZCBxdWV1ZSBwYWlyIHRvIGNyeXB0byBhZGFwdGVyICovDQo+ID4gKwlldmVudGRl dl9jcnlwdG9fYWRhcHRlcl9xdWV1ZV9wYWlyX2RlbF90DQo+IGNyeXB0b19hZGFwdGVyX3F1ZXVl X3BhaXJfZGVsOw0KPiA+ICsJLyoqPCBEZWxldGUgcXVldWUgcGFpciBmcm9tIGNyeXB0byBhZGFw dGVyICovDQo+ID4gKwlldmVudGRldl9jcnlwdG9fYWRhcHRlcl9zdGFydF90IGNyeXB0b19hZGFw dGVyX3N0YXJ0Ow0KPiA+ICsJLyoqPCBTdGFydCBjcnlwdG8gYWRhcHRlciAqLw0KPiA+ICsJZXZl bnRkZXZfY3J5cHRvX2FkYXB0ZXJfc3RvcF90IGNyeXB0b19hZGFwdGVyX3N0b3A7DQo+ID4gKwkv Kio8IFN0b3AgY3J5cHRvIGFkYXB0ZXIgKi8NCj4gPiArCWV2ZW50ZGV2X2NyeXB0b19hZGFwdGVy X3N0YXRzX2dldCBjcnlwdG9fYWRhcHRlcl9zdGF0c19nZXQ7DQo+ID4gKwkvKio8IEdldCBjcnlw dG8gc3RhdHMgKi8NCj4gPiArCWV2ZW50ZGV2X2NyeXB0b19hZGFwdGVyX3N0YXRzX3Jlc2V0IGNy eXB0b19hZGFwdGVyX3N0YXRzX3Jlc2V0Ow0KPiA+ICsJLyoqPCBSZXNldCBjcnlwdG8gc3RhdHMg Ki8NCj4gPiArDQo+ID4gICAJZXZlbnRkZXZfc2VsZnRlc3QgZGV2X3NlbGZ0ZXN0Ow0KPiA+ICAg CS8qKjwgU3RhcnQgZXZlbnRkZXYgU2VsZnRlc3QgKi8NCj4gPg0KPiA+DQoNCg==