From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 03E53A0662 for ; Mon, 18 Mar 2019 09:12:59 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 42596152A; Mon, 18 Mar 2019 09:12:58 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 5A90511A4 for ; Mon, 18 Mar 2019 09:12:56 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Mar 2019 01:12:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,493,1544515200"; d="scan'208";a="134924112" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga003.jf.intel.com with ESMTP; 18 Mar 2019 01:12:55 -0700 Received: from fmsmsx125.amr.corp.intel.com (10.18.125.40) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 18 Mar 2019 01:12:54 -0700 Received: from lcsmsx154.ger.corp.intel.com (10.186.165.229) by FMSMSX125.amr.corp.intel.com (10.18.125.40) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 18 Mar 2019 01:12:54 -0700 Received: from hasmsx111.ger.corp.intel.com ([169.254.5.74]) by LCSMSX154.ger.corp.intel.com ([169.254.7.167]) with mapi id 14.03.0415.000; Mon, 18 Mar 2019 10:12:51 +0200 From: "Jozwiak, TomaszX" To: Akhil Goyal , "dev@dpdk.org" , "Trahe, Fiona" Thread-Topic: [dpdk-dev] [PATCH v4 1/1] compress/qat: add dynamic sgl allocation Thread-Index: AQHU1N2ux/2WtTILIEqPTH2AcSyM0qYQC0eAgAEOqaA= Date: Mon, 18 Mar 2019 08:12:50 +0000 Message-ID: References: <1551439054-17658-1-git-send-email-tomaszx.jozwiak@intel.com> <1551960136-30358-1-git-send-email-tomaszx.jozwiak@intel.com> <1551960136-30358-2-git-send-email-tomaszx.jozwiak@intel.com> <7fff607f-1a5a-9dec-07e4-dc12e23b4bdf@nxp.com> In-Reply-To: <7fff607f-1a5a-9dec-07e4-dc12e23b4bdf@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiM2M1NzA3NWUtZjMxYy00YjRhLThmZmQtMmI0MWM5MzIxYmZhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiTkFtXC9EVXpNQkVhUnFzVkRoVWZrQ2lHVGFUbElRNjVkbldGY29CQ1FySG92XC92RmI3ckpcL3JhZ1wvcENEUjhSVVYifQ== x-originating-ip: [10.103.104.44] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v4 1/1] compress/qat: add dynamic sgl allocation 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190318081250.HzO4iiL6Zkf1wJE6_iP2CG04T-bHYtjaOCQhuZZy490@z> SGkgQWtoaWwsDQoNClBsZWFzZSB0YWtlIGEgbG9vayBhdCBjb3ZlciBsZXR0ZXIgKGh0dHBzOi8v cGF0Y2hlcy5kcGRrLm9yZy9jb3Zlci81MDkxOS8pDQoNCiBUaGVyZSdzIGRlcGVuZGVuY3kgb24g J21hbGxvYzogYWRkIHJ0ZV9yZWFsbG9jX3NvY2tldCBmdW5jdGlvbiBwYXRjaCcNCigxNTUxNDI5 OTc2LTE2Mjk3LTEtZ2l0LXNlbmQtZW1haWwtdG9tYXN6eC5qb3p3aWFrQGludGVsLmNvbSkNCndo aWNoIHNob3VsZCBiZSBhcHBsaWVkIGZpcnN0Lg0KDQpCciwgVG9tZWsNCg0KPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBa2hpbCBHb3lhbCBbbWFpbHRvOmFraGlsLmdveWFs QG54cC5jb21dDQo+IFNlbnQ6IFN1bmRheSwgTWFyY2ggMTcsIDIwMTkgNzowMCBQTQ0KPiBUbzog Sm96d2lhaywgVG9tYXN6WCA8dG9tYXN6eC5qb3p3aWFrQGludGVsLmNvbT47IGRldkBkcGRrLm9y ZzsgVHJhaGUsDQo+IEZpb25hIDxmaW9uYS50cmFoZUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJl OiBbZHBkay1kZXZdIFtQQVRDSCB2NCAxLzFdIGNvbXByZXNzL3FhdDogYWRkIGR5bmFtaWMgc2ds DQo+IGFsbG9jYXRpb24NCj4gDQo+IEhpIFRvbWFzeiwNCj4gDQo+IEkgY2FuIHNlZSBjb21waWxh dGlvbiBmYWlsdXJlIGluIHRoZSBwYXRjaHdvcmsgQ0kgdGVzdHMuDQo+IENvdWxkIHlvdSBwbGVh c2UgY2hlY2suDQo+IA0KPiBUaGFua3MuDQo+IA0KPiBPbiAzLzcvMjAxOSA1OjMyIFBNLCBUb21h c3ogSm96d2lhayB3cm90ZToNCj4gPiBUaGlzIHBhdGNoIGFkZHMgZHluYW1pYyBTR0wgYWxsb2Nh dGlvbiBpbnN0ZWFkIG9mIHN0YXRpYyBvbmUuDQo+ID4gVGhlIG51bWJlciBvZiBlbGVtZW50IGlu IFNHTCBjYW4gYmUgYWRqdXN0ZWQgaW4gZWFjaCBvcGVyYXRpb24gZGVwZW5kDQo+ID4gb2YgdGhl IHJlcXVlc3QuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBUb21hc3ogSm96d2lhayA8dG9tYXN6 eC5qb3p3aWFrQGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgIGNvbmZpZy9jb21tb25fYmFzZSAg ICAgICAgICAgICAgICAgICB8ICAxIC0NCj4gPiAgIGRvYy9ndWlkZXMvY29tcHJlc3NkZXZzL3Fh dF9jb21wLnJzdCB8ICAxIC0NCj4gPiAgIGRvYy9ndWlkZXMvY3J5cHRvZGV2cy9xYXQucnN0ICAg ICAgICB8ICA1IC0tLS0NCj4gPiAgIGRyaXZlcnMvY29tcHJlc3MvcWF0L3FhdF9jb21wLmMgICAg ICB8IDU4DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQ0KPiA+ICAgZHJp dmVycy9jb21wcmVzcy9xYXQvcWF0X2NvbXAuaCAgICAgIHwgMTMgKysrKy0tLS0NCj4gPiAgIGRy aXZlcnMvY29tcHJlc3MvcWF0L3FhdF9jb21wX3BtZC5jICB8IDQ5DQo+ICsrKysrKysrKysrKysr KysrKysrKysrKystLS0tLQ0KPiA+ICAgNiBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygr KSwgMjYgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvY29uZmlnL2NvbW1vbl9i YXNlIGIvY29uZmlnL2NvbW1vbl9iYXNlIGluZGV4DQo+ID4gMGIwOWE5My4uOTFjN2I3MyAxMDA2 NDQNCj4gPiAtLS0gYS9jb25maWcvY29tbW9uX2Jhc2UNCj4gPiArKysgYi9jb25maWcvY29tbW9u X2Jhc2UNCj4gPiBAQCAtNTQ5LDcgKzU0OSw2IEBAIENPTkZJR19SVEVfTElCUlRFX1BNRF9RQVRf U1lNPW4NCj4gPiAgICMgTWF4LiBudW1iZXIgb2YgUXVpY2tBc3Npc3QgZGV2aWNlcywgd2hpY2gg Y2FuIGJlIGRldGVjdGVkIGFuZA0KPiBhdHRhY2hlZA0KPiA+ICAgIw0KPiA+ICAgQ09ORklHX1JU RV9QTURfUUFUX01BWF9QQ0lfREVWSUNFUz00OA0KPiA+IC1DT05GSUdfUlRFX1BNRF9RQVRfQ09N UF9TR0xfTUFYX1NFR01FTlRTPTE2DQo+ID4gICBDT05GSUdfUlRFX1BNRF9RQVRfQ09NUF9JTV9C VUZGRVJfU0laRT02NTUzNg0KPiA+DQo+ID4gICAjDQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlk ZXMvY29tcHJlc3NkZXZzL3FhdF9jb21wLnJzdA0KPiA+IGIvZG9jL2d1aWRlcy9jb21wcmVzc2Rl dnMvcWF0X2NvbXAucnN0DQo+ID4gaW5kZXggNTYzMWNiMS4uNmY1ODNhNCAxMDA2NDQNCj4gPiAt LS0gYS9kb2MvZ3VpZGVzL2NvbXByZXNzZGV2cy9xYXRfY29tcC5yc3QNCj4gPiArKysgYi9kb2Mv Z3VpZGVzL2NvbXByZXNzZGV2cy9xYXRfY29tcC5yc3QNCj4gPiBAQCAtMzUsNyArMzUsNiBAQCBM aW1pdGF0aW9ucw0KPiA+ICAgKiBDb21wcmVzc2RldiBsZXZlbCAwLCBubyBjb21wcmVzc2lvbiwg aXMgbm90IHN1cHBvcnRlZC4NCj4gPiAgICogUXVldWUgcGFpcnMgYXJlIG5vdCB0aHJlYWQtc2Fm ZSAodGhhdCBpcywgd2l0aGluIGEgc2luZ2xlIHF1ZXVlIHBhaXIsIFJYDQo+IGFuZCBUWCBmcm9t IGRpZmZlcmVudCBsY29yZXMgaXMgbm90IHN1cHBvcnRlZCkuDQo+ID4gICAqIE5vIEJTRCBzdXBw b3J0IGFzIEJTRCBRQVQga2VybmVsIGRyaXZlciBub3QgYXZhaWxhYmxlLg0KPiA+IC0qIE51bWJl ciBvZiBzZWdtZW50cyBpbiBtYnVmIGNoYWlucyBpbiB0aGUgb3AgbXVzdCBiZSA8PQ0KPiBSVEVf UE1EX1FBVF9DT01QX1NHTF9NQVhfU0VHTUVOVFMgZnJvbSB0aGUgY29uZmlnIGZpbGUuDQo+ID4g ICAqIFdoZW4gdXNpbmcgRGVmbGF0ZSBkeW5hbWljIGh1ZmZtYW4gZW5jb2RpbmcgZm9yIGNvbXBy ZXNzaW9uLCB0aGUNCj4gaW5wdXQgc2l6ZSAob3Auc3JjLmxlbmd0aCkNCj4gPiAgICAgbXVzdCBi ZSA8IENPTkZJR19SVEVfUE1EX1FBVF9DT01QX0lNX0JVRkZFUl9TSVpFIGZyb20gdGhlDQo+IGNv bmZpZyBmaWxlLA0KPiA+ICAgICBzZWUgOnJlZjpgYnVpbGRpbmdfcWF0X2NvbmZpZ2AgZm9yIG1v cmUgZGV0YWlscy4NCj4gPiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9jcnlwdG9kZXZzL3FhdC5y c3QNCj4gPiBiL2RvYy9ndWlkZXMvY3J5cHRvZGV2cy9xYXQucnN0IGluZGV4IGI3ZWFjZTEuLjAz YmQwYzEgMTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRlcy9jcnlwdG9kZXZzL3FhdC5yc3QNCj4g PiArKysgYi9kb2MvZ3VpZGVzL2NyeXB0b2RldnMvcWF0LnJzdA0KPiA+IEBAIC0xNTYsNyArMTU2 LDYgQEAgVGhlc2UgYXJlIHRoZSBidWlsZCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYWZmZWN0aW5n DQo+IFFBVCwgYW5kIHRoZWlyIGRlZmF1bHQgdmFsdWUNCj4gPiAgIAlDT05GSUdfUlRFX0xJQlJU RV9QTURfUUFUPXkNCj4gPiAgIAlDT05GSUdfUlRFX0xJQlJURV9QTURfUUFUX1NZTT1uDQo+ID4g ICAJQ09ORklHX1JURV9QTURfUUFUX01BWF9QQ0lfREVWSUNFUz00OA0KPiA+IC0JQ09ORklHX1JU RV9QTURfUUFUX0NPTVBfU0dMX01BWF9TRUdNRU5UUz0xNg0KPiA+ICAgCUNPTkZJR19SVEVfUE1E X1FBVF9DT01QX0lNX0JVRkZFUl9TSVpFPTY1NTM2DQo+ID4NCj4gPiAgIENPTkZJR19SVEVfTElC UlRFX1BNRF9RQVQgbXVzdCBiZSBlbmFibGVkIGZvciBhbnkgUUFUIFBNRCB0byBiZQ0KPiBidWls dC4NCj4gPiBAQCAtMTc0LDEwICsxNzMsNiBAQCBOb3RlLCB0aGVyZSBhcmUgc2VwYXJhdGUgY29u ZmlnIGl0ZW1zIGZvciBtYXgNCj4gY3J5cHRvZGV2cyBDT05GSUdfUlRFX0NSWVBUT19NQVhfRA0K PiA+ICAgYW5kIG1heCBjb21wcmVzc2RldnMgQ09ORklHX1JURV9DT01QUkVTU19NQVhfREVWUywg aWYNCj4gbmVjZXNzYXJ5IHRoZXNlIHNob3VsZCBiZQ0KPiA+ICAgYWRqdXN0ZWQgdG8gaGFuZGxl IHRoZSB0b3RhbCBvZiBRQVQgYW5kIG90aGVyIGRldmljZXMgd2hpY2ggdGhlIHByb2Nlc3MNCj4g d2lsbCB1c2UuDQo+ID4NCj4gPiAtUUFUIGFsbG9jYXRlcyBpbnRlcm5hbCBzdHJ1Y3R1cmVzIHRv IGhhbmRsZSBTR0xzLiBGb3IgdGhlIGNvbXByZXNzaW9uDQo+ID4gc2VydmljZSAtQ09ORklHX1JU RV9QTURfUUFUX0NPTVBfU0dMX01BWF9TRUdNRU5UUyBjYW4gYmUNCj4gY2hhbmdlZCBpZiBtb3Jl IHNlZ21lbnRzIGFyZSBuZWVkZWQuDQo+ID4gLUFuIGV4dHJhIChtYXhfaW5mbGlnaHRfb3BzIHgg MTYpIGJ5dGVzIHBlciBxdWV1ZV9wYWlyIHdpbGwgYmUgdXNlZCBmb3INCj4gZXZlcnkgaW5jcmVt ZW50Lg0KPiA+IC0NCj4gPiAgIFFBVCBjb21wcmVzc2lvbiBQTUQgbmVlZHMgaW50ZXJtZWRpYXRl IGJ1ZmZlcnMgdG8gc3VwcG9ydCBEZWZsYXRlDQo+IGNvbXByZXNzaW9uDQo+ID4gICB3aXRoIER5 bmFtaWMgSHVmZm1hbiBlbmNvZGluZy4NCj4gQ09ORklHX1JURV9QTURfUUFUX0NPTVBfSU1fQlVG RkVSX1NJWkUNCj4gPiAgIHNwZWNpZmllcyB0aGUgc2l6ZSBvZiBhIHNpbmdsZSBidWZmZXIsIHRo ZSBQTUQgd2lsbCBhbGxvY2F0ZSBhDQo+ID4gbXVsdGlwbGUgb2YgdGhlc2UsIGRpZmYgLS1naXQg YS9kcml2ZXJzL2NvbXByZXNzL3FhdC9xYXRfY29tcC5jDQo+ID4gYi9kcml2ZXJzL2NvbXByZXNz L3FhdC9xYXRfY29tcC5jIGluZGV4IDMyY2E3NTMuLmMwMjFmNGEgMTAwNjQ0DQo+ID4gLS0tIGEv ZHJpdmVycy9jb21wcmVzcy9xYXQvcWF0X2NvbXAuYw0KPiA+ICsrKyBiL2RyaXZlcnMvY29tcHJl c3MvcWF0L3FhdF9jb21wLmMNCj4gPiBAQCAtMSw1ICsxLDUgQEANCj4gPiAgIC8qIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiAtICogQ29weXJpZ2h0KGMpIDIwMTgg SW50ZWwgQ29ycG9yYXRpb24NCj4gPiArICogQ29weXJpZ2h0KGMpIDIwMTgtMjAxOSBJbnRlbCBD b3Jwb3JhdGlvbg0KPiA+ICAgICovDQo+ID4NCj4gPiAgICNpbmNsdWRlIDxydGVfbWVtcG9vbC5o Pg0KPiA+IEBAIC01NSwyMiArNTUsNzAgQEAgcWF0X2NvbXBfYnVpbGRfcmVxdWVzdCh2b2lkICpp bl9vcCwgdWludDhfdA0KPiAqb3V0X21zZywNCj4gPiAgIAkJSUNQX1FBVF9GV19DT01OX1BUUl9U WVBFX1NFVChjb21wX3JlcS0NCj4gPmNvbW5faGRyLmNvbW5fcmVxX2ZsYWdzLA0KPiA+ICAgCQkJ CVFBVF9DT01OX1BUUl9UWVBFX1NHTCk7DQo+ID4NCj4gPiArCQlpZiAodW5saWtlbHkob3AtPm1f c3JjLT5uYl9zZWdzID4gY29va2llLT5zcmNfbmJfZWxlbXMpKSB7DQo+ID4gKwkJCS8qIHdlIG5l ZWQgdG8gYWxsb2NhdGUgbW9yZSBlbGVtZW50cyBpbiBTR0wqLw0KPiA+ICsJCQl2b2lkICp0bXA7 DQo+ID4gKw0KPiA+ICsJCQl0bXAgPSBydGVfcmVhbGxvY19zb2NrZXQoY29va2llLT5xYXRfc2ds X3NyY19kLA0KPiA+ICsJCQkJCSAgc2l6ZW9mKHN0cnVjdCBxYXRfc2dsKSArDQo+ID4gKwkJCQkJ ICBzaXplb2Yoc3RydWN0IHFhdF9mbGF0X2J1ZikgKg0KPiA+ICsJCQkJCSAgb3AtPm1fc3JjLT5u Yl9zZWdzLCA2NCwNCj4gPiArCQkJCQkgIHJ0ZV9zb2NrZXRfaWQoKSk7DQo+ID4gKw0KPiA+ICsJ CQlpZiAodW5saWtlbHkodG1wID09IE5VTEwpKSB7DQo+ID4gKwkJCQlRQVRfRFBfTE9HKEVSUiwg IlFBVCBQTUQgY2FuJ3QgYWxsb2NhdGUNCj4gbWVtb3J5Ig0KPiA+ICsJCQkJCSAgICIgZm9yICVk IGVsZW1lbnRzIG9mIFNHTCIsDQo+ID4gKwkJCQkJICAgb3AtPm1fc3JjLT5uYl9zZWdzKTsNCj4g PiArCQkJCW9wLT5zdGF0dXMgPQ0KPiBSVEVfQ09NUF9PUF9TVEFUVVNfSU5WQUxJRF9BUkdTOw0K PiA+ICsJCQkJcmV0dXJuIC1FTk9NRU07DQo+ID4gKwkJCX0NCj4gPiArCQkJLyogbmV3IFNHTCBp cyB2YWxpZCBub3cgKi8NCj4gPiArCQkJY29va2llLT5xYXRfc2dsX3NyY19kID0gKHN0cnVjdCBx YXRfc2dsICopdG1wOw0KPiA+ICsJCQljb29raWUtPnNyY19uYl9lbGVtcyA9IG9wLT5tX3NyYy0+ bmJfc2VnczsNCj4gPiArCQkJY29va2llLT5xYXRfc2dsX3NyY19waHlzX2FkZHIgPQ0KPiA+ICsJ CQkJcnRlX21hbGxvY192aXJ0MmlvdmEoY29va2llLT5xYXRfc2dsX3NyY19kKTsNCj4gPiArCQl9 DQo+ID4gKw0KPiA+ICAgCQlyZXQgPSBxYXRfc2dsX2ZpbGxfYXJyYXkob3AtPm1fc3JjLA0KPiA+ ICAgCQkJCW9wLT5zcmMub2Zmc2V0LA0KPiA+IC0JCQkJJmNvb2tpZS0+cWF0X3NnbF9zcmMsDQo+ ID4gKwkJCQljb29raWUtPnFhdF9zZ2xfc3JjX2QsDQo+ID4gICAJCQkJb3AtPnNyYy5sZW5ndGgs DQo+ID4gLQ0KPiAJUlRFX1BNRF9RQVRfQ09NUF9TR0xfTUFYX1NFR01FTlRTKTsNCj4gPiArCQkJ CShjb25zdCB1aW50MTZfdCljb29raWUtPnNyY19uYl9lbGVtcyk7DQo+ID4gICAJCWlmIChyZXQp IHsNCj4gPiAgIAkJCVFBVF9EUF9MT0coRVJSLCAiUUFUIFBNRCBDYW5ub3QgZmlsbCBzb3VyY2Ug c2dsDQo+IGFycmF5Iik7DQo+ID4gICAJCQlvcC0+c3RhdHVzID0NCj4gUlRFX0NPTVBfT1BfU1RB VFVTX0lOVkFMSURfQVJHUzsNCj4gPiAgIAkJCXJldHVybiByZXQ7DQo+ID4gICAJCX0NCj4gPg0K PiA+ICsJCWlmICh1bmxpa2VseShvcC0+bV9kc3QtPm5iX3NlZ3MgPiBjb29raWUtPmRzdF9uYl9l bGVtcykpIHsNCj4gPiArCQkJLyogd2UgbmVlZCB0byBhbGxvY2F0ZSBtb3JlIGVsZW1lbnRzIGlu IFNHTCovDQo+ID4gKwkJCXN0cnVjdCBxYXRfc2dsICp0bXA7DQo+ID4gKw0KPiA+ICsJCQl0bXAg PSBydGVfcmVhbGxvY19zb2NrZXQoY29va2llLT5xYXRfc2dsX2RzdF9kLA0KPiA+ICsJCQkJCSAg c2l6ZW9mKHN0cnVjdCBxYXRfc2dsKSArDQo+ID4gKwkJCQkJICBzaXplb2Yoc3RydWN0IHFhdF9m bGF0X2J1ZikgKg0KPiA+ICsJCQkJCSAgb3AtPm1fZHN0LT5uYl9zZWdzLCA2NCwNCj4gPiArCQkJ CQkgIHJ0ZV9zb2NrZXRfaWQoKSk7DQo+ID4gKw0KPiA+ICsJCQlpZiAodW5saWtlbHkodG1wID09 IE5VTEwpKSB7DQo+ID4gKwkJCQlRQVRfRFBfTE9HKEVSUiwgIlFBVCBQTUQgY2FuJ3QgYWxsb2Nh dGUNCj4gbWVtb3J5Ig0KPiA+ICsJCQkJCSAgICIgZm9yICVkIGVsZW1lbnRzIG9mIFNHTCIsDQo+ ID4gKwkJCQkJICAgb3AtPm1fZHN0LT5uYl9zZWdzKTsNCj4gPiArCQkJCW9wLT5zdGF0dXMgPQ0K PiBSVEVfQ09NUF9PUF9TVEFUVVNfSU5WQUxJRF9BUkdTOw0KPiA+ICsJCQkJcmV0dXJuIC1FSU5W QUw7DQo+ID4gKwkJCX0NCj4gPiArCQkJLyogbmV3IFNHTCBpcyB2YWxpZCBub3cgKi8NCj4gPiAr CQkJY29va2llLT5xYXRfc2dsX2RzdF9kID0gKHN0cnVjdCBxYXRfc2dsICopdG1wOw0KPiA+ICsJ CQljb29raWUtPmRzdF9uYl9lbGVtcyA9IG9wLT5tX2RzdC0+bmJfc2VnczsNCj4gPiArCQkJY29v a2llLT5xYXRfc2dsX2RzdF9waHlzX2FkZHIgPQ0KPiA+ICsJCQkJcnRlX21hbGxvY192aXJ0Mmlv dmEoY29va2llLQ0KPiA+cWF0X3NnbF9kc3RfZCk7DQo+ID4gKwkJfQ0KPiA+ICsNCj4gPiAgIAkJ cmV0ID0gcWF0X3NnbF9maWxsX2FycmF5KG9wLT5tX2RzdCwNCj4gPiAgIAkJCQlvcC0+ZHN0Lm9m ZnNldCwNCj4gPiAtCQkJCSZjb29raWUtPnFhdF9zZ2xfZHN0LA0KPiA+ICsJCQkJY29va2llLT5x YXRfc2dsX2RzdF9kLA0KPiA+ICAgCQkJCWNvbXBfcmVxLT5jb21wX3BhcnMub3V0X2J1ZmZlcl9z eiwNCj4gPiAtDQo+IAlSVEVfUE1EX1FBVF9DT01QX1NHTF9NQVhfU0VHTUVOVFMpOw0KPiA+ICsJ CQkJKGNvbnN0IHVpbnQxNl90KWNvb2tpZS0+ZHN0X25iX2VsZW1zKTsNCj4gPiAgIAkJaWYgKHJl dCkgew0KPiA+ICAgCQkJUUFUX0RQX0xPRyhFUlIsICJRQVQgUE1EIENhbm5vdCBmaWxsIGRlc3Qu IHNnbA0KPiBhcnJheSIpOw0KPiA+ICAgCQkJb3AtPnN0YXR1cyA9DQo+IFJURV9DT01QX09QX1NU QVRVU19JTlZBTElEX0FSR1M7IGRpZmYgLS1naXQNCj4gPiBhL2RyaXZlcnMvY29tcHJlc3MvcWF0 L3FhdF9jb21wLmggYi9kcml2ZXJzL2NvbXByZXNzL3FhdC9xYXRfY29tcC5oDQo+ID4gaW5kZXgg MTlmNDhkZi4uMjQ2NWYxMiAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2NvbXByZXNzL3FhdC9x YXRfY29tcC5oDQo+ID4gKysrIGIvZHJpdmVycy9jb21wcmVzcy9xYXQvcWF0X2NvbXAuaA0KPiA+ IEBAIC0xLDUgKzEsNSBAQA0KPiA+ICAgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0z LUNsYXVzZQ0KPiA+IC0gKiBDb3B5cmlnaHQoYykgMjAxNS0yMDE4IEludGVsIENvcnBvcmF0aW9u DQo+ID4gKyAqIENvcHlyaWdodChjKSAyMDE1LTIwMTkgSW50ZWwgQ29ycG9yYXRpb24NCj4gPiAg ICAqLw0KPiA+DQo+ID4gICAjaWZuZGVmIF9RQVRfQ09NUF9IXw0KPiA+IEBAIC0zNywxNiArMzcs MTUgQEAgc3RydWN0IHFhdF9pbnRlcl9zZ2wgew0KPiA+ICAgCXN0cnVjdCBxYXRfZmxhdF9idWYg YnVmZmVyc1tRQVRfTlVNX0JVRlNfSU5fSU1fU0dMXTsNCj4gPiAgIH0gX19ydGVfcGFja2VkIF9f cnRlX2NhY2hlX2FsaWduZWQ7DQo+ID4NCj4gPiAtc3RydWN0IHFhdF9jb21wX3NnbCB7DQo+ID4g LQlxYXRfc2dsX2hkcjsNCj4gPiAtCXN0cnVjdCBxYXRfZmxhdF9idWYNCj4gYnVmZmVyc1tSVEVf UE1EX1FBVF9DT01QX1NHTF9NQVhfU0VHTUVOVFNdOw0KPiA+IC19IF9fcnRlX3BhY2tlZCBfX3J0 ZV9jYWNoZV9hbGlnbmVkOw0KPiA+DQo+ID4gICBzdHJ1Y3QgcWF0X2NvbXBfb3BfY29va2llIHsN Cj4gPiAtCXN0cnVjdCBxYXRfY29tcF9zZ2wgcWF0X3NnbF9zcmM7DQo+ID4gLQlzdHJ1Y3QgcWF0 X2NvbXBfc2dsIHFhdF9zZ2xfZHN0Ow0KPiA+ICAgCXBoeXNfYWRkcl90IHFhdF9zZ2xfc3JjX3Bo eXNfYWRkcjsNCj4gPiAgIAlwaHlzX2FkZHJfdCBxYXRfc2dsX2RzdF9waHlzX2FkZHI7DQo+ID4g KwkvKiBkeW5hbWljYWxseSBjcmVhdGVkIFNHTHMgKi8NCj4gPiArCXVpbnQxNl90IHNyY19uYl9l bGVtczsNCj4gPiArCXVpbnQxNl90IGRzdF9uYl9lbGVtczsNCj4gPiArCXN0cnVjdCBxYXRfc2ds ICpxYXRfc2dsX3NyY19kOw0KPiA+ICsJc3RydWN0IHFhdF9zZ2wgKnFhdF9zZ2xfZHN0X2Q7DQo+ ID4gICB9Ow0KPiA+DQo+ID4gICBzdHJ1Y3QgcWF0X2NvbXBfeGZvcm0gew0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2NvbXByZXNzL3FhdC9xYXRfY29tcF9wbWQuYw0KPiA+IGIvZHJpdmVycy9j b21wcmVzcy9xYXQvcWF0X2NvbXBfcG1kLmMNCj4gPiBpbmRleCAyN2M4ODU2Li5mMDM0YTE5IDEw MDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvY29tcHJlc3MvcWF0L3FhdF9jb21wX3BtZC5jDQo+ID4g KysrIGIvZHJpdmVycy9jb21wcmVzcy9xYXQvcWF0X2NvbXBfcG1kLmMNCj4gPiBAQCAtMSwxMCAr MSwxNCBAQA0KPiA+ICAgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0K PiA+IC0gKiBDb3B5cmlnaHQoYykgMjAxNS0yMDE4IEludGVsIENvcnBvcmF0aW9uDQo+ID4gKyAq IENvcHlyaWdodChjKSAyMDE1LTIwMTkgSW50ZWwgQ29ycG9yYXRpb24NCj4gPiAgICAqLw0KPiA+ DQo+ID4gKyNpbmNsdWRlIDxydGVfbWFsbG9jLmg+DQo+ID4gKw0KPiA+ICAgI2luY2x1ZGUgInFh dF9jb21wLmgiDQo+ID4gICAjaW5jbHVkZSAicWF0X2NvbXBfcG1kLmgiDQo+ID4NCj4gPiArI2Rl ZmluZSBRQVRfUE1EX0NPTVBfU0dMX0RFRl9TRUdNRU5UUyAxNg0KPiA+ICsNCj4gPiAgIHN0YXRp YyBjb25zdCBzdHJ1Y3QgcnRlX2NvbXByZXNzZGV2X2NhcGFiaWxpdGllcw0KPiBxYXRfY29tcF9n ZW5fY2FwYWJpbGl0aWVzW10gPSB7DQo+ID4gICAJey8qIENPTVBSRVNTSU9OIC0gZGVmbGF0ZSAq Lw0KPiA+ICAgCSAuYWxnbyA9IFJURV9DT01QX0FMR09fREVGTEFURSwNCj4gPiBAQCAtNjAsNiAr NjQsMTAgQEAgc3RhdGljIGludA0KPiA+ICAgcWF0X2NvbXBfcXBfcmVsZWFzZShzdHJ1Y3QgcnRl X2NvbXByZXNzZGV2ICpkZXYsIHVpbnQxNl90DQo+IHF1ZXVlX3BhaXJfaWQpDQo+ID4gICB7DQo+ ID4gICAJc3RydWN0IHFhdF9jb21wX2Rldl9wcml2YXRlICpxYXRfcHJpdmF0ZSA9IGRldi0+ZGF0 YS0NCj4gPmRldl9wcml2YXRlOw0KPiA+ICsJc3RydWN0IHFhdF9xcCAqKnFwX2FkZHIgPQ0KPiA+ ICsJCShzdHJ1Y3QgcWF0X3FwICoqKSYoZGV2LT5kYXRhLQ0KPiA+cXVldWVfcGFpcnNbcXVldWVf cGFpcl9pZF0pOw0KPiA+ICsJc3RydWN0IHFhdF9xcCAqcXAgPSAoc3RydWN0IHFhdF9xcCAqKSpx cF9hZGRyOw0KPiA+ICsJdWludDMyX3QgaTsNCj4gPg0KPiA+ICAgCVFBVF9MT0coREVCVUcsICJS ZWxlYXNlIGNvbXAgcXAgJXUgb24gZGV2aWNlICVkIiwNCj4gPiAgIAkJCQlxdWV1ZV9wYWlyX2lk LCBkZXYtPmRhdGEtPmRldl9pZCk7IEBAIC0NCj4gNjcsNiArNzUsMTQgQEANCj4gPiBxYXRfY29t cF9xcF9yZWxlYXNlKHN0cnVjdCBydGVfY29tcHJlc3NkZXYgKmRldiwgdWludDE2X3QNCj4gcXVl dWVfcGFpcl9pZCkNCj4gPiAgIAlxYXRfcHJpdmF0ZS0+cWF0X2Rldi0NCj4gPnFwc19pbl91c2Vb UUFUX1NFUlZJQ0VfQ09NUFJFU1NJT05dW3F1ZXVlX3BhaXJfaWRdDQo+ID4gICAJCQkJCQk9IE5V TEw7DQo+ID4NCj4gPiArCWZvciAoaSA9IDA7IGkgPCBxcC0+bmJfZGVzY3JpcHRvcnM7IGkrKykg ew0KPiA+ICsNCj4gPiArCQlzdHJ1Y3QgcWF0X2NvbXBfb3BfY29va2llICpjb29raWUgPSBxcC0+ b3BfY29va2llc1tpXTsNCj4gPiArDQo+ID4gKwkJcnRlX2ZyZWUoY29va2llLT5xYXRfc2dsX3Ny Y19kKTsNCj4gPiArCQlydGVfZnJlZShjb29raWUtPnFhdF9zZ2xfZHN0X2QpOw0KPiA+ICsJfQ0K PiA+ICsNCj4gPiAgIAlyZXR1cm4gcWF0X3FwX3JlbGVhc2UoKHN0cnVjdCBxYXRfcXAgKiopDQo+ ID4gICAJCQkmKGRldi0+ZGF0YS0+cXVldWVfcGFpcnNbcXVldWVfcGFpcl9pZF0pKTsNCj4gPiAg IH0NCj4gPiBAQCAtMTIyLDE1ICsxMzgsMzQgQEAgcWF0X2NvbXBfcXBfc2V0dXAoc3RydWN0IHJ0 ZV9jb21wcmVzc2Rldg0KPiAqZGV2LCB1aW50MTZfdCBxcF9pZCwNCj4gPiAgIAkJc3RydWN0IHFh dF9jb21wX29wX2Nvb2tpZSAqY29va2llID0NCj4gPiAgIAkJCQlxcC0+b3BfY29va2llc1tpXTsN Cj4gPg0KPiA+ICsJCWNvb2tpZS0+cWF0X3NnbF9zcmNfZCA9IHJ0ZV96bWFsbG9jX3NvY2tldChO VUxMLA0KPiA+ICsJCQkJCXNpemVvZihzdHJ1Y3QgcWF0X3NnbCkgKw0KPiA+ICsJCQkJCXNpemVv ZihzdHJ1Y3QgcWF0X2ZsYXRfYnVmKSAqDQo+ID4gKw0KPiAJUUFUX1BNRF9DT01QX1NHTF9ERUZf U0VHTUVOVFMsDQo+ID4gKwkJCQkJNjQsIHNvY2tldF9pZCk7DQo+ID4gKw0KPiA+ICsJCWNvb2tp ZS0+cWF0X3NnbF9kc3RfZCA9IHJ0ZV96bWFsbG9jX3NvY2tldChOVUxMLA0KPiA+ICsJCQkJCXNp emVvZihzdHJ1Y3QgcWF0X3NnbCkgKw0KPiA+ICsJCQkJCXNpemVvZihzdHJ1Y3QgcWF0X2ZsYXRf YnVmKSAqDQo+ID4gKw0KPiAJUUFUX1BNRF9DT01QX1NHTF9ERUZfU0VHTUVOVFMsDQo+ID4gKwkJ CQkJNjQsIHNvY2tldF9pZCk7DQo+ID4gKw0KPiA+ICsJCWlmIChjb29raWUtPnFhdF9zZ2xfc3Jj X2QgPT0gTlVMTCB8fA0KPiA+ICsJCQkJY29va2llLT5xYXRfc2dsX2RzdF9kID09IE5VTEwpIHsN Cj4gPiArCQkJUUFUX0xPRyhFUlIsICJDYW4ndCBhbGxvY2F0ZSBTR0wiDQo+ID4gKwkJCQkgICAg ICIgZm9yIGRldmljZSAlcyIsDQo+ID4gKwkJCQkgICAgIHFhdF9wcml2YXRlLT5xYXRfZGV2LT5u YW1lKTsNCj4gPiArCQkJcmV0dXJuIC1FTk9NRU07DQo+ID4gKwkJfQ0KPiA+ICsNCj4gPiAgIAkJ Y29va2llLT5xYXRfc2dsX3NyY19waHlzX2FkZHIgPQ0KPiA+IC0JCQkJcnRlX21lbXBvb2xfdmly dDJpb3ZhKGNvb2tpZSkgKw0KPiA+IC0JCQkJb2Zmc2V0b2Yoc3RydWN0IHFhdF9jb21wX29wX2Nv b2tpZSwNCj4gPiAtCQkJCXFhdF9zZ2xfc3JjKTsNCj4gPiArCQkJCXJ0ZV9tYWxsb2NfdmlydDJp b3ZhKGNvb2tpZS0+cWF0X3NnbF9zcmNfZCk7DQo+ID4NCj4gPiAgIAkJY29va2llLT5xYXRfc2ds X2RzdF9waHlzX2FkZHIgPQ0KPiA+IC0JCQkJcnRlX21lbXBvb2xfdmlydDJpb3ZhKGNvb2tpZSkg Kw0KPiA+IC0JCQkJb2Zmc2V0b2Yoc3RydWN0IHFhdF9jb21wX29wX2Nvb2tpZSwNCj4gPiAtCQkJ CXFhdF9zZ2xfZHN0KTsNCj4gPiArCQkJCXJ0ZV9tYWxsb2NfdmlydDJpb3ZhKGNvb2tpZS0NCj4g PnFhdF9zZ2xfZHN0X2QpOw0KPiA+ICsNCj4gPiArCQljb29raWUtPmRzdF9uYl9lbGVtcyA9IGNv b2tpZS0+c3JjX25iX2VsZW1zID0NCj4gPiArCQkJCVFBVF9QTURfQ09NUF9TR0xfREVGX1NFR01F TlRTOw0KPiA+ICAgCX0NCj4gPg0KPiA+ICAgCXJldHVybiByZXQ7DQoNCg==