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 418D71B3A8 for ; Mon, 16 Oct 2017 08:23:48 +0200 (CEST) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Oct 2017 23:23:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.43,385,1503385200"; d="scan'208";a="160888954" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga005.jf.intel.com with ESMTP; 15 Oct 2017 23:23:47 -0700 Received: from fmsmsx125.amr.corp.intel.com (10.18.125.40) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 15 Oct 2017 23:23:46 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX125.amr.corp.intel.com (10.18.125.40) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 15 Oct 2017 23:23:46 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.175]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.213]) with mapi id 14.03.0319.002; Mon, 16 Oct 2017 14:23:46 +0800 From: "Yao, Lei A" To: "Yao, Lei A" , 'Maxime Coquelin' , "'dev@dpdk.org'" , "Horton, Remy" , "Bie, Tiwei" , "'yliu@fridaylinux.org'" CC: "'mst@redhat.com'" , "'jfreiman@redhat.com'" , "'vkaplans@redhat.com'" , "'jasowang@redhat.com'" Thread-Topic: [dpdk-dev] [PATCH v3 15/19] vhost: postpone rings addresses translation Thread-Index: AQHTQ/W6Kobd20mIoEetykH84hGngqLhaOrAgASV2kCAAAeGgA== Date: Mon, 16 Oct 2017 06:23:45 +0000 Message-ID: <2DBBFF226F7CF64BAFCA79B681719D953A2B92F7@shsmsx102.ccr.corp.intel.com> References: <20171005083627.27828-1-maxime.coquelin@redhat.com> <20171005083627.27828-16-maxime.coquelin@redhat.com> <2DBBFF226F7CF64BAFCA79B681719D953A2A66FC@SHSMSX151.ccr.corp.intel.com> <1105ba3f-1f6f-d8f2-0299-2d26158790b8@redhat.com> <2DBBFF226F7CF64BAFCA79B681719D953A2ADA3F@SHSMSX151.ccr.corp.intel.com> <2DBBFF226F7CF64BAFCA79B681719D953A2B92CC@shsmsx102.ccr.corp.intel.com> In-Reply-To: <2DBBFF226F7CF64BAFCA79B681719D953A2B92CC@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZGU1ZWZlNTAtZTY2MS00OGVhLWE4YjEtYjY1OGMyZjBhYWE0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IkErcTVxZUUxZm5yZmQzMENuYTY4dEVKakRWM2JTOEQraWg5bG1KU3g5blk9In0= x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v3 15/19] vhost: postpone rings addresses translation 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: Mon, 16 Oct 2017 06:23:50 -0000 SGksIE1heGltZQ0KDQpBZGQgb25lIGNvbW1lbnQ6DQpUaGlzIGlzc3VlIHdpdGggdmlydGlvLW5l dCBvbmx5IG9jY3VyIHdoZW4gSSB1c2UgQ1BVIG9uIHNvY2tldCAxLg0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3Jn XSBPbiBCZWhhbGYgT2YgWWFvLCBMZWkgQQ0KPiBTZW50OiBNb25kYXksIE9jdG9iZXIgMTYsIDIw MTcgMjowMCBQTQ0KPiBUbzogJ01heGltZSBDb3F1ZWxpbicgPG1heGltZS5jb3F1ZWxpbkByZWRo YXQuY29tPjsgJ2RldkBkcGRrLm9yZycNCj4gPGRldkBkcGRrLm9yZz47IEhvcnRvbiwgUmVteSA8 cmVteS5ob3J0b25AaW50ZWwuY29tPjsgQmllLCBUaXdlaQ0KPiA8dGl3ZWkuYmllQGludGVsLmNv bT47ICd5bGl1QGZyaWRheWxpbnV4Lm9yZycgPHlsaXVAZnJpZGF5bGludXgub3JnPg0KPiBDYzog J21zdEByZWRoYXQuY29tJyA8bXN0QHJlZGhhdC5jb20+OyAnamZyZWltYW5AcmVkaGF0LmNvbScN Cj4gPGpmcmVpbWFuQHJlZGhhdC5jb20+OyAndmthcGxhbnNAcmVkaGF0LmNvbScgPHZrYXBsYW5z QHJlZGhhdC5jb20+Ow0KPiAnamFzb3dhbmdAcmVkaGF0LmNvbScgPGphc293YW5nQHJlZGhhdC5j b20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MyAxNS8xOV0gdmhvc3Q6IHBv c3Rwb25lIHJpbmdzIGFkZHJlc3Nlcw0KPiB0cmFuc2xhdGlvbg0KPiANCj4gSGksIE1heGltZQ0K PiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IFlhbywgTGVpIEEN Cj4gPiBTZW50OiBGcmlkYXksIE9jdG9iZXIgMTMsIDIwMTcgMzo1NSBQTQ0KPiA+IFRvOiBNYXhp bWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPjsgZGV2QGRwZGsub3JnOw0K PiA+IEhvcnRvbiwgUmVteSA8cmVteS5ob3J0b25AaW50ZWwuY29tPjsgQmllLCBUaXdlaSA8dGl3 ZWkuYmllQGludGVsLmNvbT47DQo+ID4geWxpdUBmcmlkYXlsaW51eC5vcmcNCj4gPiBDYzogbXN0 QHJlZGhhdC5jb207IGpmcmVpbWFuQHJlZGhhdC5jb207IHZrYXBsYW5zQHJlZGhhdC5jb207DQo+ ID4gamFzb3dhbmdAcmVkaGF0LmNvbQ0KPiA+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRD SCB2MyAxNS8xOV0gdmhvc3Q6IHBvc3Rwb25lIHJpbmdzIGFkZHJlc3Nlcw0KPiA+IHRyYW5zbGF0 aW9uDQo+ID4NCj4gPiBIaSwgTWF4aW1lDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4gPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gW21haWx0bzptYXhpbWUuY29xdWVs aW5AcmVkaGF0LmNvbV0NCj4gPiA+IFNlbnQ6IEZyaWRheSwgT2N0b2JlciAxMywgMjAxNyAzOjMy IFBNDQo+ID4gPiBUbzogWWFvLCBMZWkgQSA8bGVpLmEueWFvQGludGVsLmNvbT47IGRldkBkcGRr Lm9yZzsgSG9ydG9uLCBSZW15DQo+ID4gPiA8cmVteS5ob3J0b25AaW50ZWwuY29tPjsgQmllLCBU aXdlaSA8dGl3ZWkuYmllQGludGVsLmNvbT47DQo+ID4gPiB5bGl1QGZyaWRheWxpbnV4Lm9yZw0K PiA+ID4gQ2M6IG1zdEByZWRoYXQuY29tOyBqZnJlaW1hbkByZWRoYXQuY29tOyB2a2FwbGFuc0By ZWRoYXQuY29tOw0KPiA+ID4gamFzb3dhbmdAcmVkaGF0LmNvbQ0KPiA+ID4gU3ViamVjdDogUmU6 IFtkcGRrLWRldl0gW1BBVENIIHYzIDE1LzE5XSB2aG9zdDogcG9zdHBvbmUgcmluZ3MNCj4gYWRk cmVzc2VzDQo+ID4gPiB0cmFuc2xhdGlvbg0KPiA+ID4NCj4gPiA+IEhpIExlaSwNCj4gPiA+DQo+ ID4gPiBPbiAxMC8xMy8yMDE3IDAzOjQ3IEFNLCBZYW8sIExlaSBBIHdyb3RlOg0KPiA+ID4gPiBI aSwgTWF4aW1lDQo+ID4gPiA+DQo+ID4gPiA+IEFmdGVyIHRoaXMgY29tbWl0LCB2aG9zdC92aXJ0 aW8gbG9vcGJhY2sgdGVzdCB3aWxsIGZhaWwgd2hlbg0KPiA+ID4gPiB1c2UgdGhlIENQVSBvbiBz b2NrZXQgMS4NCj4gPiA+ID4gRXJyb3IgbWVzc2FnZSBsaWtlIGZvbGxvd2luZyBkdXJpbmcgaW5p dGlhbGl6ZToNCj4gPiA+ID4gVkhPU1RfQ09ORklHOiB2cmluZyBraWNrIGlkeDowIGZpbGU6MjAN Cj4gPiA+ID4gVkhPU1RfQ09ORklHOiByZWFsbG9jYXRlIHZxIGZyb20gMCB0byAxIG5vZGUNCj4g PiA+ID4gVkhPU1RfQ09ORklHOiByZWFsbG9jYXRlIGRldiBmcm9tIDAgdG8gMSBub2RlDQo+ID4g PiA+IFZIT1NUX0NPTkZJRzogKDApIGZhaWxlZCB0byBmaW5kIGF2YWlsIHJpbmcgYWRkcmVzcy4N Cj4gPiA+ID4gVkhPU1RfQ09ORklHOiByZWFkIG1lc3NhZ2UgVkhPU1RfVVNFUl9TRVRfVlJJTkdf TlVNDQo+ID4gPiA+IFZIT1NUX0NPTkZJRzogcmVhZCBtZXNzYWdlIFZIT1NUX1VTRVJfU0VUX1ZS SU5HX0JBU0UNCj4gPiA+ID4gVkhPU1RfQ09ORklHOiByZWFkIG1lc3NhZ2UgVkhPU1RfVVNFUl9T RVRfVlJJTkdfQUREUg0KPiA+ID4gPiBWSE9TVF9DT05GSUc6IHJlYWQgbWVzc2FnZSBWSE9TVF9V U0VSX1NFVF9WUklOR19LSUNLDQo+ID4gPiA+IFZIT1NUX0NPTkZJRzogdnJpbmcga2ljayBpZHg6 MSBmaWxlOjIxDQo+ID4gPiA+IFZIT1NUX0NPTkZJRzogcmVhbGxvY2F0ZSB2cSBmcm9tIDAgdG8g MSBub2RlDQo+ID4gPiA+IFZIT1NUX0NPTkZJRzogKDApIGZhaWxlZCB0byBmaW5kIGF2YWlsIHJp bmcgYWRkcmVzcy4NCj4gPiA+ID4NCj4gPiA+ID4gQnV0IGlmIHVzZSBDUFUgb24gc29ja2V0IDAu IEl0IHN0aWxsIGNhbiB3b3JrLiBDb3VsZCB5b3UgaGF2ZSBhIGNoZWNrIG9uDQo+ID4gPiA+IHRo aXM/IFRoYW5rcyBhIGxvdCENCj4gPiA+DQo+ID4gPiBUaGFua3MgZm9yIHJlcG9ydGluZyB0aGUg aXNzdWUuIEl0IHNlZW1zIGFkZHIgcG9pbnRlciBzdGlsbCBwb2ludHMgdG8NCj4gPiA+IHRoZSBv bGQgc3RydWN0dXJlIGFmdGVyIHRoZSByZWFsbG9jYXRpb24uIFRoaXMgcGF0Y2ggc2hvdWxkIGZp eCB0aGUNCj4gPiA+IGlzc3VlOg0KPiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfdmhvc3Qv dmhvc3RfdXNlci5jIGIvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmMNCj4gPiA+IGluZGV4 IDlhY2FjNjEyNS4uMjQxNmEwMDYxIDEwMDY0NA0KPiA+ID4gLS0tIGEvbGliL2xpYnJ0ZV92aG9z dC92aG9zdF91c2VyLmMNCj4gPiA+ICsrKyBiL2xpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNlci5j DQo+ID4gPiBAQCAtNDE3LDYgKzQxNyw3IEBAIHRyYW5zbGF0ZV9yaW5nX2FkZHJlc3NlcyhzdHJ1 Y3QgdmlydGlvX25ldCAqZGV2LA0KPiBpbnQNCj4gPiA+IHZxX2luZGV4KQ0KPiA+ID4NCj4gPiA+ ICAgICAgICAgIGRldiA9IG51bWFfcmVhbGxvYyhkZXYsIHZxX2luZGV4KTsNCj4gPiA+ICAgICAg ICAgIHZxID0gZGV2LT52aXJ0cXVldWVbdnFfaW5kZXhdOw0KPiA+ID4gKyAgICAgICBhZGRyID0g JnZxLT5yaW5nX2FkZHJzOw0KPiA+ID4NCj4gPiA+ICAgICAgICAgIHZxLT5hdmFpbCA9IChzdHJ1 Y3QgdnJpbmdfYXZhaWwgKikodWludHB0cl90KXJpbmdfYWRkcl90b192dmEoZGV2LA0KPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgIHZxLCBhZGRyLT5hdmFpbF91c2VyX2FkZHIsIHNpemVv ZihzdHJ1Y3QNCj4gPiA+IHZyaW5nX2F2YWlsKSk7DQo+ID4gPg0KPiA+ID4gSSBvbmx5IGhhdmUg YWNjZXNzIHRvIHNpbmdsZS1zb2NrZXQgbWFjaGluZXMgYXQgdGhlIG1vbWVudCwgc28gSSBjYW5u b3QNCj4gPiA+IHJlcHJvZHVjZSB0aGUgaXNzdWUuDQo+ID4gPiBDYW4geW91IGhhdmUgYSB0cnk/ DQo+ID4gV2l0aCB5b3VyIG5ldyBwYXRjaCwgaXQgY2FuIHdvcmsgb24gc29ja2V0IDEgbm93LiBU aGFua3MuDQo+ID4NCj4gSSBmaW5kIGFub3RoZXIgaXNzdWUgd2l0aCB0aGlzIHBhdGNoIHdoZW4g SSB1c2UgVjE3LjExLXJjMS4NCj4gSXQgd2lsbCBicmVhayB0aGUgY29ubmVjdGlvbiBiZXR3ZWVu IHZob3N0IGFuZCB2aXJ0aW8tbmV0IGluIFZNLg0KPiBUaGUgbGluayBzdGF0dXMgb2Ygdmhvc3Qt dXNlciBwb3J0IGlzIGFsd2F5cyBkb3duLg0KPiBCdXQgdmlydGlvLXBtZCBkcml2ZXIgaXMgc3Rp bGwgb2suDQo+IA0KPiBNeSBxZW11IHZlcnNpb246IDIuNQ0KPiBHdWVzdCBPUzogVWJ1bnR1IDE2 LjA0DQo+IEd1ZXN0IGtlcm5lbDogNC40LjANCj4gDQo+IENvdWxkIHlvdSBoYXZlIGEgY2hlY2sg b24gdGhpcyBpc3N1ZT8gVGhhbmtzIGEgbG90IQ0KPiANCj4gQlJzDQo+IExlaQ0KPiANCj4gPiA+ DQo+ID4gPiBUaGFua3MsDQo+ID4gPiBNYXhpbWUNCj4gPiA+DQo+ID4gPiA+IEZvbGxvd2luZyBp cyBteSBjbWQ6DQo+ID4gPiA+IFZob3N0OiB0ZXN0cG1kIC1uIDQgLWMgMHgzMDAwMDAwIC0tc29j a2V0LW1lbSAxMDI0LDEwMjQgLS1maWxlLQ0KPiA+ID4gcHJlZml4PXZob3N0IFwNCj4gPiA+ID4g ICAgICAgICAgICAgICAgICAtLXZkZXYgJ25ldF92aG9zdDAsaWZhY2U9dmhvc3QtbmV0LHF1ZXVl cz0xLGNsaWVudD0wJyAtLSAtaQ0KPiA+ID4gPiBWaXJ0aW8tdXNlcjogdGVzdHBtZCAtbiA0IC1j IDB4YzAwMDAwIC0tc29ja2V0LW1lbSAxMDI0LDEwMjQgLS1uby1wY2kgLQ0KPiAtDQo+ID4gPiBm aWxlLXByZWZpeD12aXJ0aW8gXA0KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAtLQ0K PiA+IHZkZXY9bmV0X3ZpcnRpb191c2VyMCxtYWM9MDA6MDE6MDI6MDM6MDQ6MDUscGF0aD0uL3Zo b3N0LQ0KPiA+ID4gbmV0IFwNCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgIC0tIC1p IC0tdHhxZmxhZ3M9MHhmMDEgLS1kaXNhYmxlLWh3LXZsYW4tZmlsdGVyDQo+ID4gPiA+DQo+ID4g PiA+IEJScw0KPiA+ID4gPiBMZWkNCj4gPiA+ID4NCj4gPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4gPiA+PiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9y Z10gT24gQmVoYWxmIE9mIE1heGltZQ0KPiA+ID4gQ29xdWVsaW4NCj4gPiA+ID4+IFNlbnQ6IFRo dXJzZGF5LCBPY3RvYmVyIDUsIDIwMTcgNDozNiBQTQ0KPiA+ID4gPj4gVG86IGRldkBkcGRrLm9y ZzsgSG9ydG9uLCBSZW15IDxyZW15LmhvcnRvbkBpbnRlbC5jb20+OyBCaWUsDQo+IFRpd2VpDQo+ ID4gPiA+PiA8dGl3ZWkuYmllQGludGVsLmNvbT47IHlsaXVAZnJpZGF5bGludXgub3JnDQo+ID4g PiA+PiBDYzogbXN0QHJlZGhhdC5jb207IGpmcmVpbWFuQHJlZGhhdC5jb207IHZrYXBsYW5zQHJl ZGhhdC5jb207DQo+ID4gPiA+PiBqYXNvd2FuZ0ByZWRoYXQuY29tOyBNYXhpbWUgQ29xdWVsaW4N Cj4gPiA+IDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gPiA+ID4+IFN1YmplY3Q6IFtk cGRrLWRldl0gW1BBVENIIHYzIDE1LzE5XSB2aG9zdDogcG9zdHBvbmUgcmluZ3MNCj4gYWRkcmVz c2VzDQo+ID4gPiA+PiB0cmFuc2xhdGlvbg0KPiA+ID4gPj4NCj4gPiA+ID4+IFRoaXMgcGF0Y2gg cG9zdHBvbmVzIHJpbmdzIGFkZHJlc3NlcyB0cmFuc2xhdGlvbnMgYW5kIGNoZWNrcywgYXMNCj4g PiA+ID4+IGFkZHJlc3NlcyBzZW50IGJ5IHRoZSBtYXN0ZXIgc2h1bGQgbm90IGJlIGludGVycHJl dGVkIGFzIGxvbmcgYXMNCj4gPiA+ID4+IHJpbmcgaXMgbm90IHN0YXJ0ZWQgYW5kIGVuYWJsZWRb MF0uDQo+ID4gPiA+Pg0KPiA+ID4gPj4gV2hlbiBwcm90b2NvbCBmZWF0dXJlcyBhcmVuJ3QgbmVn b3RpYXRlZCwgdGhlIHJpbmcgaXMgc3RhcnRlZCBpbg0KPiA+ID4gPj4gZW5hYmxlZCBzdGF0ZSwg c28gdGhlIGFkZHJlc3NlcyB0cmFuc2xhdGlvbnMgYXJlIHBvc3Rwb25lZCB0bw0KPiA+ID4gPj4g dmhvc3RfdXNlcl9zZXRfdnJpbmdfa2ljaygpLg0KPiA+ID4gPj4gT3RoZXJ3aXNlLCBpdCBpcyBw b3N0cG9uZWQgdG8gd2hlbiByaW5nIGlzIGVuYWJsZWQsIGluDQo+ID4gPiA+PiB2aG9zdF91c2Vy X3NldF92cmluZ19lbmFibGUoKS4NCj4gPiA+ID4+DQo+ID4gPiA+PiBbMF06IGh0dHA6Ly9saXN0 cy5ub25nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMTctDQo+ID4gPiA+PiAwNS9t c2cwNDM1NS5odG1sDQo+ID4gPiA+Pg0KPiA+ID4gPj4gU2lnbmVkLW9mZi1ieTogTWF4aW1lIENv cXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gPiA+ID4+IC0tLQ0KPiA+ID4g Pj4gICBsaWIvbGlicnRlX3Zob3N0L3Zob3N0LmggICAgICB8ICAxICsNCj4gPiA+ID4+ICAgbGli L2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmMgfCA2OQ0KPiA+ID4gPj4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQ0KPiA+ID4gPj4gICAyIGZpbGVzIGNoYW5nZWQs IDU2IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQ0KPiA+ID4gPj4NCj4gPiA+ID4+IGRp ZmYgLS1naXQgYS9saWIvbGlicnRlX3Zob3N0L3Zob3N0LmggYi9saWIvbGlicnRlX3Zob3N0L3Zo b3N0LmgNCj4gPiA+ID4+IGluZGV4IDc5MzUxYzY2Zi4uOTAzZGE1ZGI1IDEwMDY0NA0KPiA+ID4g Pj4gLS0tIGEvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oDQo+ID4gPiA+PiArKysgYi9saWIvbGli cnRlX3Zob3N0L3Zob3N0LmgNCj4gPiA+ID4+IEBAIC0xMjUsNiArMTI1LDcgQEAgc3RydWN0IHZo b3N0X3ZpcnRxdWV1ZSB7DQo+ID4gPiA+Pg0KPiA+ID4gPj4gICAJc3RydWN0IHZyaW5nX3VzZWRf ZWxlbSAgKnNoYWRvd191c2VkX3Jpbmc7DQo+ID4gPiA+PiAgIAl1aW50MTZfdCAgICAgICAgICAg ICAgICBzaGFkb3dfdXNlZF9pZHg7DQo+ID4gPiA+PiArCXN0cnVjdCB2aG9zdF92cmluZ19hZGRy IHJpbmdfYWRkcnM7DQo+ID4gPiA+Pg0KPiA+ID4gPj4gICAJc3RydWN0IGJhdGNoX2NvcHlfZWxl bQkqYmF0Y2hfY29weV9lbGVtczsNCj4gPiA+ID4+ICAgCXVpbnQxNl90CQliYXRjaF9jb3B5X25i X2VsZW1zOw0KPiA+ID4gPj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNl ci5jDQo+IGIvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmMNCj4gPiA+ID4+IGluZGV4IGY0 OTVkZDM2ZS4uMzE5ODY3YzY1IDEwMDY0NA0KPiA+ID4gPj4gLS0tIGEvbGliL2xpYnJ0ZV92aG9z dC92aG9zdF91c2VyLmMNCj4gPiA+ID4+ICsrKyBiL2xpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNl ci5jDQo+ID4gPiA+PiBAQCAtMzU2LDYgKzM1Niw3IEBAIHN0YXRpYyBpbnQNCj4gPiA+ID4+ICAg dmhvc3RfdXNlcl9zZXRfdnJpbmdfYWRkcihzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBWaG9zdFVz ZXJNc2cNCj4gPiAqbXNnKQ0KPiA+ID4gPj4gICB7DQo+ID4gPiA+PiAgIAlzdHJ1Y3Qgdmhvc3Rf dmlydHF1ZXVlICp2cTsNCj4gPiA+ID4+ICsJc3RydWN0IHZob3N0X3ZyaW5nX2FkZHIgKmFkZHIg PSAmbXNnLT5wYXlsb2FkLmFkZHI7DQo+ID4gPiA+Pg0KPiA+ID4gPj4gICAJaWYgKGRldi0+bWVt ID09IE5VTEwpDQo+ID4gPiA+PiAgIAkJcmV0dXJuIC0xOw0KPiA+ID4gPj4gQEAgLTM2MywzNSAr MzY0LDUwIEBAIHZob3N0X3VzZXJfc2V0X3ZyaW5nX2FkZHIoc3RydWN0IHZpcnRpb19uZXQNCj4g PiA+ICpkZXYsDQo+ID4gPiA+PiBWaG9zdFVzZXJNc2cgKm1zZykNCj4gPiA+ID4+ICAgCS8qIGFk ZHItPmluZGV4IHJlZmVycyB0byB0aGUgcXVldWUgaW5kZXguIFRoZSB0eHEgMSwgcnhxIGlzIDAu DQo+ICovDQo+ID4gPiA+PiAgIAl2cSA9IGRldi0+dmlydHF1ZXVlW21zZy0+cGF5bG9hZC5hZGRy LmluZGV4XTsNCj4gPiA+ID4+DQo+ID4gPiA+PiArCS8qDQo+ID4gPiA+PiArCSAqIFJpbmdzIGFk ZHJlc3NlcyBzaG91bGQgbm90IGJlIGludGVycHJldGVkIGFzIGxvbmcgYXMgdGhlDQo+IHJpbmcg aXMgbm90DQo+ID4gPiA+PiArCSAqIHN0YXJ0ZWQgYW5kIGVuYWJsZWQNCj4gPiA+ID4+ICsJICov DQo+ID4gPiA+PiArCW1lbWNweSgmdnEtPnJpbmdfYWRkcnMsIGFkZHIsIHNpemVvZigqYWRkcikp Ow0KPiA+ID4gPj4gKw0KPiA+ID4gPj4gKwlyZXR1cm4gMDsNCj4gPiA+ID4+ICt9DQo+ID4gPiA+ PiArDQo+ID4gPiA+PiArc3RhdGljIHN0cnVjdCB2aXJ0aW9fbmV0ICp0cmFuc2xhdGVfcmluZ19h ZGRyZXNzZXMoc3RydWN0IHZpcnRpb19uZXQNCj4gPiAqZGV2LA0KPiA+ID4gPj4gKwkJaW50IHZx X2luZGV4KQ0KPiA+ID4gPj4gK3sNCj4gPiA+ID4+ICsJc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAq dnEgPSBkZXYtPnZpcnRxdWV1ZVt2cV9pbmRleF07DQo+ID4gPiA+PiArCXN0cnVjdCB2aG9zdF92 cmluZ19hZGRyICphZGRyID0gJnZxLT5yaW5nX2FkZHJzOw0KPiA+ID4gPj4gKw0KPiA+ID4gPj4g ICAJLyogVGhlIGFkZHJlc3NlcyBhcmUgY29udmVydGVkIGZyb20gUUVNVSB2aXJ0dWFsIHRvIFZo b3N0DQo+IHZpcnR1YWwuDQo+ID4gPiA+PiAqLw0KPiA+ID4gPj4gICAJdnEtPmRlc2MgPSAoc3Ry dWN0IHZyaW5nX2Rlc2MgKikodWludHB0cl90KXF2YV90b192dmEoZGV2LA0KPiA+ID4gPj4gLQkJ CW1zZy0+cGF5bG9hZC5hZGRyLmRlc2NfdXNlcl9hZGRyKTsNCj4gPiA+ID4+ICsJCQlhZGRyLT5k ZXNjX3VzZXJfYWRkcik7DQo+ID4gPiA+PiAgIAlpZiAodnEtPmRlc2MgPT0gMCkgew0KPiA+ID4g Pj4gICAJCVJURV9MT0coRVJSLCBWSE9TVF9DT05GSUcsDQo+ID4gPiA+PiAgIAkJCSIoJWQpIGZh aWxlZCB0byBmaW5kIGRlc2MgcmluZyBhZGRyZXNzLlxuIiwNCj4gPiA+ID4+ICAgCQkJZGV2LT52 aWQpOw0KPiA+ID4gPj4gLQkJcmV0dXJuIC0xOw0KPiA+ID4gPj4gKwkJcmV0dXJuIE5VTEw7DQo+ ID4gPiA+PiAgIAl9DQo+ID4gPiA+Pg0KPiA+ID4gPj4gLQlkZXYgPSBudW1hX3JlYWxsb2MoZGV2 LCBtc2ctPnBheWxvYWQuYWRkci5pbmRleCk7DQo+ID4gPiA+PiAtCXZxID0gZGV2LT52aXJ0cXVl dWVbbXNnLT5wYXlsb2FkLmFkZHIuaW5kZXhdOw0KPiA+ID4gPj4gKwlkZXYgPSBudW1hX3JlYWxs b2MoZGV2LCB2cV9pbmRleCk7DQo+ID4gPiA+PiArCXZxID0gZGV2LT52aXJ0cXVldWVbdnFfaW5k ZXhdOw0KPiA+ID4gPj4NCj4gPiA+ID4+ICAgCXZxLT5hdmFpbCA9IChzdHJ1Y3QgdnJpbmdfYXZh aWwgKikodWludHB0cl90KXF2YV90b192dmEoZGV2LA0KPiA+ID4gPj4gLQkJCW1zZy0+cGF5bG9h ZC5hZGRyLmF2YWlsX3VzZXJfYWRkcik7DQo+ID4gPiA+PiArCQkJYWRkci0+YXZhaWxfdXNlcl9h ZGRyKTsNCj4gPiA+ID4+ICAgCWlmICh2cS0+YXZhaWwgPT0gMCkgew0KPiA+ID4gPj4gICAJCVJU RV9MT0coRVJSLCBWSE9TVF9DT05GSUcsDQo+ID4gPiA+PiAgIAkJCSIoJWQpIGZhaWxlZCB0byBm aW5kIGF2YWlsIHJpbmcgYWRkcmVzcy5cbiIsDQo+ID4gPiA+PiAgIAkJCWRldi0+dmlkKTsNCj4g PiA+ID4+IC0JCXJldHVybiAtMTsNCj4gPiA+ID4+ICsJCXJldHVybiBOVUxMOw0KPiA+ID4gPj4g ICAJfQ0KPiA+ID4gPj4NCj4gPiA+ID4+ICAgCXZxLT51c2VkID0gKHN0cnVjdCB2cmluZ191c2Vk ICopKHVpbnRwdHJfdClxdmFfdG9fdnZhKGRldiwNCj4gPiA+ID4+IC0JCQltc2ctPnBheWxvYWQu YWRkci51c2VkX3VzZXJfYWRkcik7DQo+ID4gPiA+PiArCQkJYWRkci0+dXNlZF91c2VyX2FkZHIp Ow0KPiA+ID4gPj4gICAJaWYgKHZxLT51c2VkID09IDApIHsNCj4gPiA+ID4+ICAgCQlSVEVfTE9H KEVSUiwgVkhPU1RfQ09ORklHLA0KPiA+ID4gPj4gICAJCQkiKCVkKSBmYWlsZWQgdG8gZmluZCB1 c2VkIHJpbmcgYWRkcmVzcy5cbiIsDQo+ID4gPiA+PiAgIAkJCWRldi0+dmlkKTsNCj4gPiA+ID4+ IC0JCXJldHVybiAtMTsNCj4gPiA+ID4+ICsJCXJldHVybiBOVUxMOw0KPiA+ID4gPj4gICAJfQ0K PiA+ID4gPj4NCj4gPiA+ID4+ICAgCWlmICh2cS0+bGFzdF91c2VkX2lkeCAhPSB2cS0+dXNlZC0+ aWR4KSB7DQo+ID4gPiA+PiBAQCAtNDAzLDcgKzQxOSw3IEBAIHZob3N0X3VzZXJfc2V0X3ZyaW5n X2FkZHIoc3RydWN0IHZpcnRpb19uZXQNCj4gPiAqZGV2LA0KPiA+ID4gPj4gVmhvc3RVc2VyTXNn ICptc2cpDQo+ID4gPiA+PiAgIAkJdnEtPmxhc3RfYXZhaWxfaWR4ID0gdnEtPnVzZWQtPmlkeDsN Cj4gPiA+ID4+ICAgCX0NCj4gPiA+ID4+DQo+ID4gPiA+PiAtCXZxLT5sb2dfZ3Vlc3RfYWRkciA9 IG1zZy0+cGF5bG9hZC5hZGRyLmxvZ19ndWVzdF9hZGRyOw0KPiA+ID4gPj4gKwl2cS0+bG9nX2d1 ZXN0X2FkZHIgPSBhZGRyLT5sb2dfZ3Vlc3RfYWRkcjsNCj4gPiA+ID4+DQo+ID4gPiA+PiAgIAlM T0dfREVCVUcoVkhPU1RfQ09ORklHLCAiKCVkKSBtYXBwZWQgYWRkcmVzcw0KPiBkZXNjOiAlcFxu IiwNCj4gPiA+ID4+ICAgCQkJZGV2LT52aWQsIHZxLT5kZXNjKTsNCj4gPiA+ID4+IEBAIC00MTQs NyArNDMwLDcgQEAgdmhvc3RfdXNlcl9zZXRfdnJpbmdfYWRkcihzdHJ1Y3QgdmlydGlvX25ldA0K PiA+ICpkZXYsDQo+ID4gPiA+PiBWaG9zdFVzZXJNc2cgKm1zZykNCj4gPiA+ID4+ICAgCUxPR19E RUJVRyhWSE9TVF9DT05GSUcsICIoJWQpIGxvZ19ndWVzdF9hZGRyOiAlIg0KPiBQUkl4NjQgIlxu IiwNCj4gPiA+ID4+ICAgCQkJZGV2LT52aWQsIHZxLT5sb2dfZ3Vlc3RfYWRkcik7DQo+ID4gPiA+ Pg0KPiA+ID4gPj4gLQlyZXR1cm4gMDsNCj4gPiA+ID4+ICsJcmV0dXJuIGRldjsNCj4gPiA+ID4+ ICAgfQ0KPiA+ID4gPj4NCj4gPiA+ID4+ICAgLyoNCj4gPiA+ID4+IEBAIC02ODUsMTAgKzcwMSwx MSBAQCB2aG9zdF91c2VyX3NldF92cmluZ19jYWxsKHN0cnVjdCB2aXJ0aW9fbmV0DQo+ID4gPiAq ZGV2LA0KPiA+ID4gPj4gc3RydWN0IFZob3N0VXNlck1zZyAqcG1zZykNCj4gPiA+ID4+ICAgfQ0K PiA+ID4gPj4NCj4gPiA+ID4+ICAgc3RhdGljIHZvaWQNCj4gPiA+ID4+IC12aG9zdF91c2VyX3Nl dF92cmluZ19raWNrKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdA0KPiA+IFZob3N0VXNl ck1zZw0KPiA+ID4gPj4gKnBtc2cpDQo+ID4gPiA+PiArdmhvc3RfdXNlcl9zZXRfdnJpbmdfa2lj ayhzdHJ1Y3QgdmlydGlvX25ldCAqKnBkZXYsIHN0cnVjdA0KPiA+ID4gVmhvc3RVc2VyTXNnDQo+ ID4gPiA+PiAqcG1zZykNCj4gPiA+ID4+ICAgew0KPiA+ID4gPj4gICAJc3RydWN0IHZob3N0X3Zy aW5nX2ZpbGUgZmlsZTsNCj4gPiA+ID4+ICAgCXN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxOw0K PiA+ID4gPj4gKwlzdHJ1Y3QgdmlydGlvX25ldCAqZGV2ID0gKnBkZXY7DQo+ID4gPiA+Pg0KPiA+ ID4gPj4gICAJZmlsZS5pbmRleCA9IHBtc2ctPnBheWxvYWQudTY0ICYNCj4gVkhPU1RfVVNFUl9W UklOR19JRFhfTUFTSzsNCj4gPiA+ID4+ICAgCWlmIChwbXNnLT5wYXlsb2FkLnU2NCAmIFZIT1NU X1VTRVJfVlJJTkdfTk9GRF9NQVNLKQ0KPiA+ID4gPj4gQEAgLTY5OCw2ICs3MTUsMTYgQEAgdmhv c3RfdXNlcl9zZXRfdnJpbmdfa2ljayhzdHJ1Y3QgdmlydGlvX25ldA0KPiA+ICpkZXYsDQo+ID4g PiA+PiBzdHJ1Y3QgVmhvc3RVc2VyTXNnICpwbXNnKQ0KPiA+ID4gPj4gICAJUlRFX0xPRyhJTkZP LCBWSE9TVF9DT05GSUcsDQo+ID4gPiA+PiAgIAkJInZyaW5nIGtpY2sgaWR4OiVkIGZpbGU6JWRc biIsIGZpbGUuaW5kZXgsIGZpbGUuZmQpOw0KPiA+ID4gPj4NCj4gPiA+ID4+ICsJLyoNCj4gPiA+ ID4+ICsJICogSW50ZXJwcmV0IHJpbmcgYWRkcmVzc2VzIG9ubHkgd2hlbiByaW5nIGlzIHN0YXJ0 ZWQgYW5kDQo+IGVuYWJsZWQuDQo+ID4gPiA+PiArCSAqIFRoaXMgaXMgbm93IGlmIHByb3RvY29s IGZlYXR1cmVzIGFyZW4ndCBzdXBwb3J0ZWQuDQo+ID4gPiA+PiArCSAqLw0KPiA+ID4gPj4gKwlp ZiAoIShkZXYtPmZlYXR1cmVzICYgKDFVTEwgPDwNCj4gPiA+ID4+IFZIT1NUX1VTRVJfRl9QUk9U T0NPTF9GRUFUVVJFUykpKSB7DQo+ID4gPiA+PiArCQkqcGRldiA9IGRldiA9IHRyYW5zbGF0ZV9y aW5nX2FkZHJlc3NlcyhkZXYsDQo+IGZpbGUuaW5kZXgpOw0KPiA+ID4gPj4gKwkJaWYgKCFkZXYp DQo+ID4gPiA+PiArCQkJcmV0dXJuOw0KPiA+ID4gPj4gKwl9DQo+ID4gPiA+PiArDQo+ID4gPiA+ PiAgIAl2cSA9IGRldi0+dmlydHF1ZXVlW2ZpbGUuaW5kZXhdOw0KPiA+ID4gPj4NCj4gPiA+ID4+ ICAgCS8qDQo+ID4gPiA+PiBAQCAtNzc4LDE1ICs4MDUsMjkgQEAgdmhvc3RfdXNlcl9nZXRfdnJp bmdfYmFzZShzdHJ1Y3QNCj4gdmlydGlvX25ldA0KPiA+ID4gKmRldiwNCj4gPiA+ID4+ICAgICog ZW5hYmxlIHRoZSB2aXJ0aW8gcXVldWUgcGFpci4NCj4gPiA+ID4+ICAgICovDQo+ID4gPiA+PiAg IHN0YXRpYyBpbnQNCj4gPiA+ID4+IC12aG9zdF91c2VyX3NldF92cmluZ19lbmFibGUoc3RydWN0 IHZpcnRpb19uZXQgKmRldiwNCj4gPiA+ID4+ICt2aG9zdF91c2VyX3NldF92cmluZ19lbmFibGUo c3RydWN0IHZpcnRpb19uZXQgKipwZGV2LA0KPiA+ID4gPj4gICAJCQkgICAgVmhvc3RVc2VyTXNn ICptc2cpDQo+ID4gPiA+PiAgIHsNCj4gPiA+ID4+ICsJc3RydWN0IHZpcnRpb19uZXQgKmRldiA9 ICpwZGV2Ow0KPiA+ID4gPj4gICAJaW50IGVuYWJsZSA9IChpbnQpbXNnLT5wYXlsb2FkLnN0YXRl Lm51bTsNCj4gPiA+ID4+DQo+ID4gPiA+PiAgIAlSVEVfTE9HKElORk8sIFZIT1NUX0NPTkZJRywN Cj4gPiA+ID4+ICAgCQkic2V0IHF1ZXVlIGVuYWJsZTogJWQgdG8gcXAgaWR4OiAlZFxuIiwNCj4g PiA+ID4+ICAgCQllbmFibGUsIG1zZy0+cGF5bG9hZC5zdGF0ZS5pbmRleCk7DQo+ID4gPiA+Pg0K PiA+ID4gPj4gKwkvKg0KPiA+ID4gPj4gKwkgKiBJbnRlcnByZXQgcmluZyBhZGRyZXNzZXMgb25s eSB3aGVuIHJpbmcgaXMgc3RhcnRlZCBhbmQNCj4gZW5hYmxlZC4NCj4gPiA+ID4+ICsJICogVGhp cyBpcyBub3cgaWYgcHJvdG9jb2wgZmVhdHVyZXMgYXJlIHN1cHBvcnRlZC4NCj4gPiA+ID4+ICsJ ICovDQo+ID4gPiA+PiArCWlmIChlbmFibGUgJiYgKGRldi0+ZmVhdHVyZXMgJg0KPiA+ID4gPj4g KwkJCQkoMVVMTCA8PA0KPiA+ID4gPj4gVkhPU1RfVVNFUl9GX1BST1RPQ09MX0ZFQVRVUkVTKSkp IHsNCj4gPiA+ID4+ICsJCWRldiA9IHRyYW5zbGF0ZV9yaW5nX2FkZHJlc3NlcyhkZXYsIG1zZy0N Cj4gPiA+ID4+PiBwYXlsb2FkLnN0YXRlLmluZGV4KTsNCj4gPiA+ID4+ICsJCWlmICghZGV2KQ0K PiA+ID4gPj4gKwkJCXJldHVybiAtMTsNCj4gPiA+ID4+ICsNCj4gPiA+ID4+ICsJCSpwZGV2ID0g ZGV2Ow0KPiA+ID4gPj4gKwl9DQo+ID4gPiA+PiArDQo+ID4gPiA+PiAgIAlpZiAoZGV2LT5ub3Rp Znlfb3BzLT52cmluZ19zdGF0ZV9jaGFuZ2VkKQ0KPiA+ID4gPj4gICAJCWRldi0+bm90aWZ5X29w cy0+dnJpbmdfc3RhdGVfY2hhbmdlZChkZXYtPnZpZCwNCj4gPiA+ID4+ICAgCQkJCW1zZy0+cGF5 bG9hZC5zdGF0ZS5pbmRleCwgZW5hYmxlKTsNCj4gPiA+ID4+IEBAIC0xMTU1LDcgKzExOTYsNyBA QCB2aG9zdF91c2VyX21zZ19oYW5kbGVyKGludCB2aWQsIGludCBmZCkNCj4gPiA+ID4+ICAgCQli cmVhazsNCj4gPiA+ID4+DQo+ID4gPiA+PiAgIAljYXNlIFZIT1NUX1VTRVJfU0VUX1ZSSU5HX0tJ Q0s6DQo+ID4gPiA+PiAtCQl2aG9zdF91c2VyX3NldF92cmluZ19raWNrKGRldiwgJm1zZyk7DQo+ ID4gPiA+PiArCQl2aG9zdF91c2VyX3NldF92cmluZ19raWNrKCZkZXYsICZtc2cpOw0KPiA+ID4g Pj4gICAJCWJyZWFrOw0KPiA+ID4gPj4gICAJY2FzZSBWSE9TVF9VU0VSX1NFVF9WUklOR19DQUxM Og0KPiA+ID4gPj4gICAJCXZob3N0X3VzZXJfc2V0X3ZyaW5nX2NhbGwoZGV2LCAmbXNnKTsNCj4g PiA+ID4+IEBAIC0xMTc0LDcgKzEyMTUsNyBAQCB2aG9zdF91c2VyX21zZ19oYW5kbGVyKGludCB2 aWQsIGludCBmZCkNCj4gPiA+ID4+ICAgCQlicmVhazsNCj4gPiA+ID4+DQo+ID4gPiA+PiAgIAlj YXNlIFZIT1NUX1VTRVJfU0VUX1ZSSU5HX0VOQUJMRToNCj4gPiA+ID4+IC0JCXZob3N0X3VzZXJf c2V0X3ZyaW5nX2VuYWJsZShkZXYsICZtc2cpOw0KPiA+ID4gPj4gKwkJdmhvc3RfdXNlcl9zZXRf dnJpbmdfZW5hYmxlKCZkZXYsICZtc2cpOw0KPiA+ID4gPj4gICAJCWJyZWFrOw0KPiA+ID4gPj4g ICAJY2FzZSBWSE9TVF9VU0VSX1NFTkRfUkFSUDoNCj4gPiA+ID4+ICAgCQl2aG9zdF91c2VyX3Nl bmRfcmFycChkZXYsICZtc2cpOw0KPiA+ID4gPj4gLS0NCj4gPiA+ID4+IDIuMTMuNg0KPiA+ID4g Pg0K