From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 18440B588 for ; Fri, 20 Feb 2015 16:54:55 +0100 (CET) Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP; 20 Feb 2015 07:54:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.09,615,1418112000"; d="scan'208";a="680922872" Received: from irsmsx107.ger.corp.intel.com ([163.33.3.99]) by fmsmga002.fm.intel.com with ESMTP; 20 Feb 2015 07:54:52 -0800 Received: from irsmsx104.ger.corp.intel.com ([169.254.5.145]) by IRSMSX107.ger.corp.intel.com ([169.254.10.35]) with mapi id 14.03.0195.001; Fri, 20 Feb 2015 15:54:51 +0000 From: "Walukiewicz, Miroslaw" To: David Marchand , "Liu, Jijiang" Thread-Topic: [dpdk-dev] [PATCH 2/2] i40e:enable TSO support Thread-Index: AQHQRDJTejzgs5oBfka6QSupOU2EUJzoCDSAgBG48oA= Date: Fri, 20 Feb 2015 15:54:50 +0000 Message-ID: <7C4248CAE043B144B1CD242D275626532FE552F1@IRSMSX104.ger.corp.intel.com> References: <1423463570-12947-1-git-send-email-jijiang.liu@intel.com> <1423463570-12947-3-git-send-email-jijiang.liu@intel.com> In-Reply-To: Accept-Language: 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 2/2] i40e:enable TSO support 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, 20 Feb 2015 15:54:57 -0000 SGVsbG8sIA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldiBbbWFp bHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgRGF2aWQgTWFyY2hhbmQNCj4g U2VudDogTW9uZGF5LCBGZWJydWFyeSA5LCAyMDE1IDEwOjExIEFNDQo+IFRvOiBMaXUsIEppamlh bmcNCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0gg Mi8yXSBpNDBlOmVuYWJsZSBUU08gc3VwcG9ydA0KPiANCj4gSGVsbG8sDQo+IA0KPiBUaGlzIHBh dGNoIGRvZXMgdHdvIHRoaW5ncyBhdCB0aGUgc2FtZSB0aW1lLg0KPiBQbGVhc2Ugc3BsaXQgdGhp cyB0byBtYWtlIGl0IGVhc2llciB0byB1bmRlcnN0YW5kIChzZWUgY29tbWVudHMgYmVsb3cpLg0K PiANCj4gDQo+IE9uIE1vbiwgRmViIDksIDIwMTUgYXQgNzozMiBBTSwgSmlqaWFuZyBMaXUgPGpp amlhbmcubGl1QGludGVsLmNvbT4gd3JvdGU6DQo+IA0KPiA+IFRoaXMgcGF0Y2ggZW5hYmxlcyBp NDBlIFRTTyBmZWF0dXJlIGZvciBib3RoIG5vbi10dW5uZWxpbmcgcGFja2V0IGFuZA0KPiA+IHR1 bm5lbGluZyBwYWNrZXQuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBKaWppYW5nIExpdSA8amlq aWFuZy5saXVAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE1pcm9zbGF3IFdhbHVraWV3 aWN6IDxtaXJvc2xhdy53YWx1a2lld2ljekBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIGxpYi9s aWJydGVfcG1kX2k0MGUvaTQwZV9yeHR4LmMgfCAgIDk5DQo+ID4gKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tDQo+ID4gIGxpYi9saWJydGVfcG1kX2k0MGUvaTQwZV9yeHR4 LmggfCAgIDEzICsrKysrDQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwg MjcgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9wbWRfaTQw ZS9pNDBlX3J4dHguYw0KPiA+IGIvbGliL2xpYnJ0ZV9wbWRfaTQwZS9pNDBlX3J4dHguYw0KPiA+ IGluZGV4IDM0OWMxZTUuLjliOWJkY2QgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9wbWRf aTQwZS9pNDBlX3J4dHguYw0KPiA+ICsrKyBiL2xpYi9saWJydGVfcG1kX2k0MGUvaTQwZV9yeHR4 LmMNCj4gPiBAQCAtNDY1LDE2ICs0NjUsMTMgQEAgc3RhdGljIGlubGluZSB2b2lkDQo+ID4gIGk0 MGVfdHhkX2VuYWJsZV9jaGVja3N1bSh1aW50NjRfdCBvbF9mbGFncywNCj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCAqdGRfY21kLA0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90ICp0ZF9vZmZzZXQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgdWlu dDhfdCBsMl9sZW4sDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3QgbDNfbGVu LA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3Qgb3V0ZXJfbDJfbGVuLA0KPiA+ IC0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IG91dGVyX2wzX2xlbiwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICB1bmlvbiBpNDBlX3R4X29mZmxvYWQgdHhfb2ZmbG9hZCwNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqY2RfdHVubmVsaW5nKQ0KPiA+ICB7 DQo+ID4gICAgICAgICAvKiBVRFAgdHVubmVsaW5nIHBhY2tldCBUWCBjaGVja3N1bSBvZmZsb2Fk ICovDQo+ID4gICAgICAgICBpZiAodW5saWtlbHkob2xfZmxhZ3MgJiBQS1RfVFhfT1VURVJfSVBf Q0tTVU0pKSB7DQo+ID4NCj4gPiAtICAgICAgICAgICAgICAgKnRkX29mZnNldCB8PSAob3V0ZXJf bDJfbGVuID4+IDEpDQo+ID4gKyAgICAgICAgICAgICAgICp0ZF9vZmZzZXQgfD0gKHR4X29mZmxv YWQub3V0ZXJfbDJfbGVuID4+IDEpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8PCBJNDBFX1RYX0RFU0NfTEVOR1RIX01BQ0xFTl9TSElGVDsNCj4gPg0KPiA+ICAgICAgICAg ICAgICAgICBpZiAob2xfZmxhZ3MgJiBQS1RfVFhfT1VURVJfSVBfQ0tTVU0pDQo+ID4gQEAgLTQ4 NSwyNSArNDgyLDM1IEBAIGk0MGVfdHhkX2VuYWJsZV9jaGVja3N1bSh1aW50NjRfdCBvbF9mbGFn cywNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAqY2RfdHVubmVsaW5nIHw9IEk0MEVfVFhf Q1RYX0VYVF9JUF9JUFY2Ow0KPiA+DQo+ID4gICAgICAgICAgICAgICAgIC8qIE5vdyBzZXQgdGhl IGN0eCBkZXNjcmlwdG9yIGZpZWxkcyAqLw0KPiA+IC0gICAgICAgICAgICAgICAqY2RfdHVubmVs aW5nIHw9IChvdXRlcl9sM19sZW4gPj4gMikgPDwNCj4gPiArICAgICAgICAgICAgICAgKmNkX3R1 bm5lbGluZyB8PSAodHhfb2ZmbG9hZC5vdXRlcl9sM19sZW4gPj4gMikgPDwNCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEk0MEVfVFhEX0NUWF9RVzBfRVhUX0lQTEVOX1NISUZU IHwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsMl9sZW4gPj4gMSkgPDwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0eF9vZmZsb2FkLmwyX2xlbiA+ PiAxKSA8PA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSTQwRV9UWERfQ1RY X1FXMF9OQVRMRU5fU0hJRlQ7DQo+ID4NCj4gPiAgICAgICAgIH0gZWxzZQ0KPiA+IC0gICAgICAg ICAgICAgICAqdGRfb2Zmc2V0IHw9IChsMl9sZW4gPj4gMSkNCj4gPiArICAgICAgICAgICAgICAg KnRkX29mZnNldCB8PSAodHhfb2ZmbG9hZC5sMl9sZW4gPj4gMSkNCj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICA8PCBJNDBFX1RYX0RFU0NfTEVOR1RIX01BQ0xFTl9TSElGVDsNCj4gPg0KPiA+ ICAgICAgICAgLyogRW5hYmxlIEwzIGNoZWNrc3VtIG9mZmxvYWRzICovDQo+ID4gICAgICAgICBp ZiAob2xfZmxhZ3MgJiBQS1RfVFhfSVBfQ0tTVU0pIHsNCj4gPiAgICAgICAgICAgICAgICAgKnRk X2NtZCB8PSBJNDBFX1RYX0RFU0NfQ01EX0lJUFRfSVBWNF9DU1VNOw0KPiA+IC0gICAgICAgICAg ICAgICAqdGRfb2Zmc2V0IHw9IChsM19sZW4gPj4gMikgPDwNCj4gPiBJNDBFX1RYX0RFU0NfTEVO R1RIX0lQTEVOX1NISUZUOw0KPiA+ICsgICAgICAgICAgICAgICAqdGRfb2Zmc2V0IHw9ICh0eF9v ZmZsb2FkLmwzX2xlbiA+PiAyKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIDw8IEk0MEVf VFhfREVTQ19MRU5HVEhfSVBMRU5fU0hJRlQ7DQo+ID4gICAgICAgICB9IGVsc2UgaWYgKG9sX2Zs YWdzICYgUEtUX1RYX0lQVjQpIHsNCj4gPiAgICAgICAgICAgICAgICAgKnRkX2NtZCB8PSBJNDBF X1RYX0RFU0NfQ01EX0lJUFRfSVBWNDsNCj4gPiAtICAgICAgICAgICAgICAgKnRkX29mZnNldCB8 PSAobDNfbGVuID4+IDIpIDw8DQo+ID4gSTQwRV9UWF9ERVNDX0xFTkdUSF9JUExFTl9TSElGVDsN Cj4gPiArICAgICAgICAgICAgICAgKnRkX29mZnNldCB8PSAodHhfb2ZmbG9hZC5sM19sZW4gPj4g MikNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgPDwgSTQwRV9UWF9ERVNDX0xFTkdUSF9J UExFTl9TSElGVDsNCj4gPiAgICAgICAgIH0gZWxzZSBpZiAob2xfZmxhZ3MgJiBQS1RfVFhfSVBW Nikgew0KPiA+ICAgICAgICAgICAgICAgICAqdGRfY21kIHw9IEk0MEVfVFhfREVTQ19DTURfSUlQ VF9JUFY2Ow0KPiA+IC0gICAgICAgICAgICAgICAqdGRfb2Zmc2V0IHw9IChsM19sZW4gPj4gMikg PDwNCj4gPiBJNDBFX1RYX0RFU0NfTEVOR1RIX0lQTEVOX1NISUZUOw0KPiA+ICsgICAgICAgICAg ICAgICAqdGRfb2Zmc2V0IHw9ICh0eF9vZmZsb2FkLmwzX2xlbiA+PiAyKQ0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICA8PCBJNDBFX1RYX0RFU0NfTEVOR1RIX0lQTEVOX1NISUZUOw0KPiA+ ICsgICAgICAgfQ0KPiA+DQo+IA0KPiBUaGlzIGZpcnN0IHBhcnQgaXMgYSByZXdvcmsgdG8gbWUu DQo+IFBsZWFzZSBzcGxpdC4NCj4gDQo+IA0KPiANCj4gPiArDQo+ID4gKyAgICAgICBpZiAob2xf ZmxhZ3MgJiBQS1RfVFhfVENQX1NFRykgew0KPiA+ICsgICAgICAgICAgICAgICAqdGRfY21kIHw9 IEk0MEVfVFhfREVTQ19DTURfTDRUX0VPRlRfVENQOw0KPiA+ICsgICAgICAgICAgICAgICAqdGRf b2Zmc2V0IHw9ICh0eF9vZmZsb2FkLmw0X2xlbiA+PiAyKQ0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgIDw8IEk0MEVfVFhfREVTQ19MRU5HVEhfTDRfRkNfTEVOX1NISUZUOw0KPiA+ICsgICAg ICAgICAgICAgICByZXR1cm47DQo+ID4gICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgIC8qIEVu YWJsZSBMNCBjaGVja3N1bSBvZmZsb2FkcyAqLw0KPiA+IEBAIC0xMTU0LDcgKzExNjEsNyBAQCBp NDBlX2NhbGNfY29udGV4dF9kZXNjKHVpbnQ2NF90IGZsYWdzKQ0KPiA+ICB7DQo+ID4gICAgICAg ICB1aW50NjRfdCBtYXNrID0gMFVMTDsNCj4gPg0KPiA+IC0gICAgICAgbWFzayB8PSBQS1RfVFhf T1VURVJfSVBfQ0tTVU07DQo+ID4gKyAgICAgICBtYXNrIHw9IChQS1RfVFhfT1VURVJfSVBfQ0tT VU0gfCBQS1RfVFhfVENQX1NFRyk7DQo+ID4NCj4gDQo+IFlvdSBhcmUgYWRkaW5nIHRoaXMgb2Zm bG9hZCBmbGFnIGluIGFuIHVuY29uZGl0aW9uYWwgd2F5Lg0KPiBJcyB0aGlzIGludGVuZGVkID8N Cg0KSXQgaXMgaW50ZW5kZWQuIFRoZSBmdW5jdGlvbiBpNDBlX2NhbGNfY29udGV4dF9kZXNjIGRl Y2lkZXMgaWYgdGhlIGRyaXZlciBzaG91bGQgYWxsb2NhdGUgdGhlIGFkZGl0aW9uYWwgb2ZmbG9h ZCBkZXNjcmlwdG9yIGZvciBOSUMgb24gYmFzZSBvZiBvbF9mbGFncyBwcm92aWRlZCBieSBhcHBs aWNhdGlvbi4gDQoNCkZvciBwZXJmb3JtYW5jZSByZWFzb24gdGhlIGNvZGUgZG9lcyBub3QgY2hl Y2sgaWYgdGhlIGFwcGxpY2F0aW9uIHNldCB0aGUgZmxhZyANCmNvcnJlY3RseSAoZm9yIGV4YW1w bGUgVFNPIGlzIGVuYWJsZWQgaW4gZmxhZ3MgYnV0IG5vdCBpbiBOSUMpLg0KDQpUaGVyZSBpcyBh c3N1bXB0aW9uIHRoYXQgZmlyc3QgYXBwbGljYXRpb24gcmVhZHMgVFhfb2ZsbG9hZCBmbGFncyBm b3IgTklDIGFuZCBuZXh0IHNldCANCiAgb2xfZmxhZ3MgY29ycmVjdGx5IGluIHRoZSBydGVfbWJ1 Zi4gDQoNCg0KPiANCj4gDQo+ID4gICNpZmRlZiBSVEVfTElCUlRFX0lFRUUxNTg4DQo+ID4gICAg ICAgICBtYXNrIHw9IFBLVF9UWF9JRUVFMTU4OF9UTVNUOw0KPiA+IEBAIC0xMTY1LDYgKzExNzIs NDEgQEAgaTQwZV9jYWxjX2NvbnRleHRfZGVzYyh1aW50NjRfdCBmbGFncykNCj4gPiAgICAgICAg IHJldHVybiAwOw0KPiA+ICB9DQo+ID4NCj4gPiArLyogc2V0IGk0MGUgVFNPIGNvbnRleHQgZGVz Y3JpcHRvciAqLw0KPiA+ICtzdGF0aWMgaW5saW5lIHVpbnQ2NF90DQo+ID4gK2k0MGVfc2V0X3Rz b19jdHgoc3RydWN0IHJ0ZV9tYnVmICptYnVmLCB1bmlvbiBpNDBlX3R4X29mZmxvYWQNCj4gdHhf b2ZmbG9hZCkNCj4gPiArew0KPiA+ICsNCj4gPiArICAgICAgIHVpbnQ2NF90IGN0eF9kZXNjID0g MDsNCj4gPiArICAgICAgIHVpbnQzMl90IGNkX2NtZCwgaGRyX2xlbiwgY2RfdHNvX2xlbjsNCj4g PiArDQo+ID4gKw0KPiA+ICsgICAgICAgaWYgKCF0eF9vZmZsb2FkLmw0X2xlbikgew0KPiA+ICsg ICAgICAgICAgICAgICBQTURfRFJWX0xPRyhERUJVRywgIkw0IGxlbmd0aCBzZXQgdG8gMCIpOw0K PiA+ICsgICAgICAgICAgICAgICByZXR1cm4gY3R4X2Rlc2M7DQo+ID4gKyAgICAgICB9DQo+ID4g Kw0KPiA+ICsgICAgICAgLyoqDQo+ID4gKyAgICAgICAgKiBpbiBjYXNlIG9mIHR1bm5lbGluZyBw YWNrZXQsIHRoZSBvdXRlcl9sMl9sZW4gYW5kDQo+ID4gKyAgICAgICAgKiBvdXRlcl9sM19sZW4g bXVzdCBiZSAwLg0KPiA+ICsgICAgICAgICovDQo+ID4gKyAgICAgICBoZHJfbGVuID0gdHhfb2Zm bG9hZC5vdXRlcl9sMl9sZW4gKw0KPiA+ICsgICAgICAgICAgICAgICB0eF9vZmZsb2FkLm91dGVy X2wzX2xlbiArDQo+ID4gKyAgICAgICAgICAgICAgIHR4X29mZmxvYWQubDJfbGVuICsNCj4gPiAr ICAgICAgICAgICAgICAgdHhfb2ZmbG9hZC5sM19sZW4gKw0KPiA+ICsgICAgICAgICAgICAgICB0 eF9vZmZsb2FkLmw0X2xlbjsNCj4gPiArDQo+ID4gKyAgICAgICBjZF9jbWQgPSBJNDBFX1RYX0NU WF9ERVNDX1RTTzsNCj4gPiArICAgICAgIGNkX3Rzb19sZW4gPSBtYnVmLT5wa3RfbGVuIC0gaGRy X2xlbjsNCj4gPiArICAgICAgIGN0eF9kZXNjIHw9ICgodWludDY0X3QpY2RfY21kIDw8IEk0MEVf VFhEX0NUWF9RVzFfQ01EX1NISUZUKQ0KPiB8DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoKHVpbnQ2NF90KWNkX3Rzb19sZW4gPDwNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJNDBFX1RYRF9DVFhfUVcxX1RTT19MRU5fU0hJRlQpIHwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDY0X3QpbWJ1Zi0+dHNvX3NlZ3N6IDw8 DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJNDBFX1RYRF9DVFhfUVcxX01T U19TSElGVCk7DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0dXJuIGN0eF9kZXNjOw0KPiA+ICt9DQo+ ID4gKw0KPiA+DQo+IA0KPiANCj4gDQo+ID4gIHVpbnQxNl90DQo+ID4gIGk0MGVfeG1pdF9wa3Rz KHZvaWQgKnR4X3F1ZXVlLCBzdHJ1Y3QgcnRlX21idWYgKip0eF9wa3RzLCB1aW50MTZfdA0KPiA+ IG5iX3BrdHMpDQo+ID4gIHsNCj4gPiBAQCAtMTE4MywxNSArMTIyNSwxMiBAQCBpNDBlX3htaXRf cGt0cyh2b2lkICp0eF9xdWV1ZSwgc3RydWN0DQo+IHJ0ZV9tYnVmDQo+ID4gKip0eF9wa3RzLCB1 aW50MTZfdCBuYl9wa3RzKQ0KPiA+ICAgICAgICAgdWludDMyX3QgdHhfZmxhZ3M7DQo+ID4gICAg ICAgICB1aW50MzJfdCB0ZF90YWc7DQo+ID4gICAgICAgICB1aW50NjRfdCBvbF9mbGFnczsNCj4g PiAtICAgICAgIHVpbnQ4X3QgbDJfbGVuOw0KPiA+IC0gICAgICAgdWludDE2X3QgbDNfbGVuOw0K PiA+IC0gICAgICAgdWludDhfdCBvdXRlcl9sMl9sZW47DQo+ID4gLSAgICAgICB1aW50MTZfdCBv dXRlcl9sM19sZW47DQo+ID4gICAgICAgICB1aW50MTZfdCBuYl91c2VkOw0KPiA+ICAgICAgICAg dWludDE2X3QgbmJfY3R4Ow0KPiA+ICAgICAgICAgdWludDE2X3QgdHhfbGFzdDsNCj4gPiAgICAg ICAgIHVpbnQxNl90IHNsZW47DQo+ID4gICAgICAgICB1aW50NjRfdCBidWZfZG1hX2FkZHI7DQo+ ID4gKyAgICAgICB1bmlvbiBpNDBlX3R4X29mZmxvYWQgdHhfb2ZmbG9hZCA9IHsgLmRhdGEgPSAw IH07DQo+ID4NCj4gPiAgICAgICAgIHR4cSA9IHR4X3F1ZXVlOw0KPiA+ICAgICAgICAgc3dfcmlu ZyA9IHR4cS0+c3dfcmluZzsNCj4gPiBAQCAtMTIxMywxMCArMTI1MiwxMiBAQCBpNDBlX3htaXRf cGt0cyh2b2lkICp0eF9xdWV1ZSwgc3RydWN0DQo+IHJ0ZV9tYnVmDQo+ID4gKip0eF9wa3RzLCB1 aW50MTZfdCBuYl9wa3RzKQ0KPiA+ICAgICAgICAgICAgICAgICBSVEVfTUJVRl9QUkVGRVRDSF9U T19GUkVFKHR4ZS0+bWJ1Zik7DQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgb2xfZmxhZ3MgPSB0 eF9wa3QtPm9sX2ZsYWdzOw0KPiA+IC0gICAgICAgICAgICAgICBsMl9sZW4gPSB0eF9wa3QtPmwy X2xlbjsNCj4gPiAtICAgICAgICAgICAgICAgbDNfbGVuID0gdHhfcGt0LT5sM19sZW47DQo+ID4g LSAgICAgICAgICAgICAgIG91dGVyX2wyX2xlbiA9IHR4X3BrdC0+b3V0ZXJfbDJfbGVuOw0KPiA+ IC0gICAgICAgICAgICAgICBvdXRlcl9sM19sZW4gPSB0eF9wa3QtPm91dGVyX2wzX2xlbjsNCj4g PiArICAgICAgICAgICAgICAgdHhfb2ZmbG9hZC5sMl9sZW4gPSB0eF9wa3QtPmwyX2xlbjsNCj4g PiArICAgICAgICAgICAgICAgdHhfb2ZmbG9hZC5sM19sZW4gPSB0eF9wa3QtPmwzX2xlbjsNCj4g PiArICAgICAgICAgICAgICAgdHhfb2ZmbG9hZC5sNF9sZW4gPSB0eF9wa3QtPmw0X2xlbjsNCj4g PiArICAgICAgICAgICAgICAgdHhfb2ZmbG9hZC50c29fc2Vnc3ogPSB0eF9wa3QtPnRzb19zZWdz ejsNCj4gPiArICAgICAgICAgICAgICAgdHhfb2ZmbG9hZC5vdXRlcl9sMl9sZW4gPSB0eF9wa3Qt Pm91dGVyX2wyX2xlbjsNCj4gPiArICAgICAgICAgICAgICAgdHhfb2ZmbG9hZC5vdXRlcl9sM19s ZW4gPSB0eF9wa3QtPm91dGVyX2wzX2xlbjsNCj4gPg0KPiANCj4gDQo+IElkZW0sIHdpdGggdGhl IHNwbGl0IHN0dWZmLg0KPiANCj4gDQo+ID4NCj4gPiAgICAgICAgICAgICAgICAgLyogQ2FsY3Vs YXRlIHRoZSBudW1iZXIgb2YgY29udGV4dCBkZXNjcmlwdG9ycyBuZWVkZWQuICovDQo+ID4gICAg ICAgICAgICAgICAgIG5iX2N0eCA9IGk0MGVfY2FsY19jb250ZXh0X2Rlc2Mob2xfZmxhZ3MpOw0K PiA+IEBAIC0xMjY3LDkgKzEzMDgsNyBAQCBpNDBlX3htaXRfcGt0cyh2b2lkICp0eF9xdWV1ZSwg c3RydWN0IHJ0ZV9tYnVmDQo+ID4gKip0eF9wa3RzLCB1aW50MTZfdCBuYl9wa3RzKQ0KPiA+ICAg ICAgICAgICAgICAgICBjZF90dW5uZWxpbmdfcGFyYW1zID0gMDsNCj4gPiAgICAgICAgICAgICAg ICAgaWYgKG9sX2ZsYWdzICYgSTQwRV9UWF9DS1NVTV9PRkZMT0FEX01BU0spIHsNCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgICBpNDBlX3R4ZF9lbmFibGVfY2hlY2tzdW0ob2xfZmxhZ3MsICZ0 ZF9jbWQsDQo+ID4gJnRkX29mZnNldCwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGwyX2xlbiwgbDNfbGVuLCBvdXRlcl9sMl9sZW4sDQo+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvdXRlcl9sM19sZW4sDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmY2RfdHVubmVsaW5nX3BhcmFtcyk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0eF9vZmZsb2FkLCAmY2RfdHVubmVsaW5nX3BhcmFtcyk7DQo+ID4gICAgICAg ICAgICAgICAgIH0NCj4gPg0KPiA+ICAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkobmJfY3R4 KSkgew0KPiA+DQo+IA0KPiBJZGVtLg0KPiANCj4gDQo+ID4gQEAgLTEyODcsMTIgKzEzMjYsMTgg QEAgaTQwZV94bWl0X3BrdHModm9pZCAqdHhfcXVldWUsIHN0cnVjdA0KPiBydGVfbWJ1Zg0KPiA+ ICoqdHhfcGt0cywgdWludDE2X3QgbmJfcGt0cykNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJ0ZV9wa3RtYnVmX2ZyZWVfc2VnKHR4ZS0+bWJ1Zik7DQo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0eGUtPm1idWYgPSBOVUxMOw0KPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCj4gPiAtI2lmZGVmIFJURV9MSUJSVEVfSUVFRTE1ODgNCj4gPiAtICAg ICAgICAgICAgICAgICAgICAgICBpZiAob2xfZmxhZ3MgJiBQS1RfVFhfSUVFRTE1ODhfVE1TVCkN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAvKiBUU08gZW5hYmxlZCBtZWFucyBubyB0aW1l c3RhbXAgKi8NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAob2xfZmxhZ3MgJiBQS1Rf VFhfVENQX1NFRykgew0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RfdHlw ZV9jbWRfdHNvX21zcyB8PQ0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoKHVpbnQ2NF90KUk0MEVfVFhfQ1RYX0RFU0NfVFNZTiA8PA0KPiA+IC0NCj4gPiAgSTQw RV9UWERfQ1RYX1FXMV9DTURfU0hJRlQpOw0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpNDBlX3NldF90c29fY3R4KHR4X3BrdCwNCj4gPiB0eF9vZmZsb2FkKTsN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPiA+ICsjaWZkZWYgUlRFX0xJ QlJURV9JRUVFMTU4OA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9s X2ZsYWdzICYgUEtUX1RYX0lFRUUxNTg4X1RNU1QpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNkX3R5cGVfY21kX3Rzb19tc3MgfD0NCj4gPiArDQo+ID4gICgo dWludDY0X3QpSTQwRV9UWF9DVFhfREVTQ19UU1lOIDw8DQo+ID4gKw0KPiA+ICBJNDBFX1RYRF9D VFhfUVcxX0NNRF9TSElGVCk7DQo+ID4gICNlbmRpZg0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgIH0NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBjdHhfdHhkLT50dW5uZWxpbmdfcGFy YW1zID0NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9jcHVfdG9fbGVf MzIoY2RfdHVubmVsaW5nX3BhcmFtcyk7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgY3R4 X3R4ZC0+bDJ0YWcyID0gcnRlX2NwdV90b19sZV8xNihjZF9sMnRhZzIpOw0KPiA+IGRpZmYgLS1n aXQgYS9saWIvbGlicnRlX3BtZF9pNDBlL2k0MGVfcnh0eC5oDQo+ID4gYi9saWIvbGlicnRlX3Bt ZF9pNDBlL2k0MGVfcnh0eC5oDQo+ID4gaW5kZXggYWY5MzJlMy4uZjEwMzNlZiAxMDA2NDQNCj4g PiAtLS0gYS9saWIvbGlicnRlX3BtZF9pNDBlL2k0MGVfcnh0eC5oDQo+ID4gKysrIGIvbGliL2xp YnJ0ZV9wbWRfaTQwZS9pNDBlX3J4dHguaA0KPiA+IEBAIC0xNTQsNiArMTU0LDE5IEBAIHN0cnVj dCBpNDBlX3R4X3F1ZXVlIHsNCj4gPiAgICAgICAgIGJvb2wgdHhfZGVmZXJyZWRfc3RhcnQ7IC8q KjwgZG9uJ3Qgc3RhcnQgdGhpcyBxdWV1ZSBpbiBkZXYgc3RhcnQgKi8NCj4gPiAgfTsNCj4gPg0K PiA+ICsvKiogT2ZmbG9hZCBmZWF0dXJlcyAqLw0KPiA+ICt1bmlvbiBpNDBlX3R4X29mZmxvYWQg ew0KPiA+ICsgICAgICAgdWludDY0X3QgZGF0YTsNCj4gPiArICAgICAgIHN0cnVjdCB7DQo+ID4g KyAgICAgICAgICAgICAgIHVpbnQ2NF90IGwyX2xlbjo3OyAvKio8IEwyIChNQUMpIEhlYWRlciBM ZW5ndGguICovDQo+ID4gKyAgICAgICAgICAgICAgIHVpbnQ2NF90IGwzX2xlbjo5OyAvKio8IEwz IChJUCkgSGVhZGVyIExlbmd0aC4gKi8NCj4gPiArICAgICAgICAgICAgICAgdWludDY0X3QgbDRf bGVuOjg7IC8qKjwgTDQgKFRDUC9VRFApIEhlYWRlciBMZW5ndGguICovDQo+ID4gKyAgICAgICAg ICAgICAgIHVpbnQ2NF90IHRzb19zZWdzejoxNjsgLyoqPCBUQ1AgVFNPIHNlZ21lbnQgc2l6ZSAq Lw0KPiA+ICsgICAgICAgICAgICAgICB1aW50NjRfdCBvdXRlcl9sMl9sZW46ODsgLyoqPCBMMiBv dXRlciBIZWFkZXIgTGVuZ3RoICovDQo+ID4gKyAgICAgICAgICAgICAgIHVpbnQ2NF90IG91dGVy X2wzX2xlbjoxNjsgLyoqPCBMMyBvdXRlciBIZWFkZXIgTGVuZ3RoICovDQo+ID4gKyAgICAgICB9 Ow0KPiA+ICt9Ow0KPiA+ICsNCj4gPg0KPiANCj4gSWRlbS4NCj4gDQo+IA0KPiANCj4gLS0NCj4g RGF2aWQgTWFyY2hhbmQNCg==