From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 41CBDA04B1; Thu, 24 Sep 2020 07:25:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1631F1DD2A; Thu, 24 Sep 2020 07:25:55 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 1823E1DD22 for ; Thu, 24 Sep 2020 07:25:53 +0200 (CEST) IronPort-SDR: 4nX1KNVH3a0sdara1Wy1n+bP4qD7Hm9/Wm3c6YUQqdRW6jzKPgF8Bf/p0a/tKYeig0w6riqcUA 2squROeNNklg== X-IronPort-AV: E=McAfee;i="6000,8403,9753"; a="222685066" X-IronPort-AV: E=Sophos;i="5.77,296,1596524400"; d="scan'208";a="222685066" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Sep 2020 22:25:53 -0700 IronPort-SDR: G8VSsvFwq0mhYMyRCDEqSfRzFb6rRORThQy4v1QSqNuoknLwLMi1Zarq6bSgQcXqIHdpjuQLoU DHd1olCTPhIQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,296,1596524400"; d="scan'208";a="349134174" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga007.jf.intel.com with ESMTP; 23 Sep 2020 22:25:53 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 23 Sep 2020 22:25:52 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 23 Sep 2020 22:25:52 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 23 Sep 2020 22:25:52 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.104) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 23 Sep 2020 22:25:50 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ey/ks2kZUmt7FVuZXRoOF9RldB4DuNcLC4J2enZtfnuLj4UYxeWx0VxNo7/46TGZHiQlnFAVBUzklPSv9ua3s+VISaOAmXkGJWn9Mso5UPmck8Znxx3b5IG7/RsdNi/P5Ggtm04Pg8NWIJl/UZKIWO9TgT+50KkYcWXS2o1YnJKA2YH+C+oglm9gXtRnkJJTxZOeGlr52kLItNAukYOcTPi5451lpuPMhddQo0TQChhX9qk9ppWE5BhGVfQPeYK0Od5AUzIrzkREig0oUy99UNZNvvFOSR5CosAivXuKgJn07LrEnblU+T/SY8E1WhH6FKI6BtEPiWmIwkxSoNI1lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n/OkM8G/fQbZo6cESvZLTNxXGvlc+bQUQptmIu+pat4=; b=QJLNENwrf8h2geqJPEQHPuwABdAOz++ifXPibt3e72qQgf0bQR2/7ZT/JFvuoBEPmj4W9ze71KTwBvPjt6ol6mECOqSlvYy339TsXi9jnFJ8AeqLb2M6bI9R3nOIYdKAMwNlc7k7Pdf+fDAjve1JYd8ZTmX6sETcE5bRIUQNyWESRLY2iJKf5CRLZT+KVh7rK+QVSsOEYvj8z87uIk7b+MjpDUvWUlhZxYJmz/zOCHkTZ8WIAWVez6qdg85OnOsmNyW/BOi7RakrOq8h6oURrxUYLCKUw5m20vD1t/pUIhkXDSVbDo3CiTh6dRuDCUWZ8AwKscArXaCPGhZFB6edug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n/OkM8G/fQbZo6cESvZLTNxXGvlc+bQUQptmIu+pat4=; b=BjDONYsrv6nDPyfdasVmWa3/XKHxqy0YJm7NvI8UWF9WJssEvk1VMS4UvpX2YbqS8dpK72gQJhMKpbCMBAT5OTuQilF+lE4VtgRESodrjle6wbovPXIIURPxrLO/y8cy8NvM2KZkQD5d2bq0L4SKxnY0S815UMNS2Ji7+Cmn2NI= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3600.namprd11.prod.outlook.com (2603:10b6:208:fa::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.14; Thu, 24 Sep 2020 05:25:49 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::b898:36f5:61cb:42ca]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::b898:36f5:61cb:42ca%7]) with mapi id 15.20.3391.027; Thu, 24 Sep 2020 05:25:49 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "Fu, Patrick" , "amorenoz@redhat.com" Thread-Topic: [dpdk-dev] [PATCH 7/7] net/virtio: introduce Vhost-vDPA backend Thread-Index: AQHWiE3ABGxUXNlSSUGnwoKd0Wc5M6l3U15Q Date: Thu, 24 Sep 2020 05:25:49 +0000 Message-ID: References: <20200911150805.79901-1-maxime.coquelin@redhat.com> <20200911150805.79901-8-maxime.coquelin@redhat.com> In-Reply-To: <20200911150805.79901-8-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5c070f1e-94ff-444c-546e-08d8604a4c21 x-ms-traffictypediagnostic: MN2PR11MB3600: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2043; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: F9qHLwrAh1iXvx7IgE7ZSlz31VBizc7kTl9sRbdOuMNgn2vdjp+OLbqpXLs01sXrSbG+9Cq89CmcqPLFnFENhWzxZPsKQyP8b4iPwoVu2dCbDWNqq3fsyzhYChcSq6m5AbmOrEox/05c/qBLGCTEK7MOixZnQNodeojz9ZmsggFeMW8sonJoP3oh9I+uXwq3GIc/9q0vbzmtzIqnnOJulJm0BDRkVK9zZh7nxg/aPBmDSq0fHWIBg9zN2plIFozAaMjk07OPxdCmOjuMAHKPbQSZhn8MMBM+qUF6M69mrpJ3h8ri3plLV8rEEkzns8u6raXsegytrjIuj/+5ycf/pny+a2Q8LcYYcS4bT9AdRsGapBHAcX8TfooWLwBZSUCm x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(376002)(346002)(396003)(39860400002)(71200400001)(64756008)(66446008)(478600001)(83380400001)(2906002)(186003)(86362001)(33656002)(26005)(66476007)(316002)(55016002)(9686003)(5660300002)(76116006)(66946007)(66556008)(7696005)(6506007)(110136005)(8676002)(53546011)(8936002)(52536014); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: Qul+ZiDfQ+GV/gLM4jtXt5HqzBwDnxzEYUelR/g2RmIHQHsV2CEx3yYvK6LqsbZKogdCjy47yk9ev0SsVDkkWVVe4fGL6eaYhBNZ29nznhf7zddBKKP4DhZ7wqZ677w2z0i1JCE80tATtDXAbuK4k7WQ0RIzRojkrH9Q3w/KteWgfuFfn3X/iWdsPnhxjohoszKDSlfNqIYugGec7EjoVZoeuwxdmsy/SVXssfhn3lhFG4/wxF1rUy/r22Tx5BAGCaYhmDQTx/1AzmbnIGV7vPIBnA7KZUjT8d47y0HK/VCzjNQA04W//NkgAv4hD6971KGedcczQlTHDkLRz8IhSpAE2WslJdOUVCejs7Q8GioGE8EbPSFmaumgN1JHrMRK9XKHWiTEh8IXRg5esod2hLF6OZC2Yjx+z3yPkTSAiFp2XKNcs6Ypx//L0tuH8XNOkP/6L/b2+3jYny0UUuzYwGKLXCaJH81QxxlaAn9N/KIR2hNQ9rWG1Ik6FInilyWzalvXnv8C5JhQwiX16hnZKLJNx7e2loW0s7Dk0FsC1+YtKJU3O2TJJExCMM6xzArQz9SpV70BSK/PVxq1DrK8ZEC4a+hyKOJumgMLxjjePm4qGtiLmAkS9shdxQjC/Yzygs4dFPrMHwNsQFLTG9pwAA== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5c070f1e-94ff-444c-546e-08d8604a4c21 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2020 05:25:49.2775 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bneSkweixAqb8TpaAFc63Nq6nnK/JFeJs/13RS7V2leMFga/rJ63VqNhNCpUhrOg/vWA6QQ69CamrItXCoIwcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3600 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 7/7] net/virtio: introduce Vhost-vDPA backend 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" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldiA8 ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBNYXhpbWUgQ29xdWVsaW4NCj4gU2Vu dDogRnJpZGF5LCBTZXB0ZW1iZXIgMTEsIDIwMjAgMTE6MDggUE0NCj4gVG86IGRldkBkcGRrLm9y ZzsgRnUsIFBhdHJpY2sgPHBhdHJpY2suZnVAaW50ZWwuY29tPjsgYW1vcmVub3pAcmVkaGF0LmNv bQ0KPiBDYzogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4g U3ViamVjdDogW2RwZGstZGV2XSBbUEFUQ0ggNy83XSBuZXQvdmlydGlvOiBpbnRyb2R1Y2UgVmhv c3QtdkRQQSBiYWNrZW5kDQo+IA0KPiB2aG9zdC12RFBBIGlzIGEgbmV3IHZpcnRpbyBiYWNrZW5k IHR5cGUgaW50cm9kdWNlZCBieSB2RFBBIGtlcm5lbA0KPiBmcmFtZXdvcmssIHdoaWNoIHByb3Zp ZGVzIGFic3RydWN0aW9uIHRvIHRoZSB2RFBBIGRldmljZXMgYW5kDQo+IGV4cG9zZXMgYW4gdW5p ZmllZCBjb250cm9sIGludGVyZmFjZSB0aHJvdWdoIGEgY2hhciBkZXYuDQo+IA0KPiBUaGlzIHBh dGNoIGFkZHMgc3VwcG9ydCB0byB0aGUgdmhvc3QtdkRQQSBiYWNrZW5kLiBBcyBzaW1pbGFyIHRv DQo+IHRoZSBleGlzdGluZyB2aG9zdCBrZXJuZWwgYmFja2VuZCwgYSBzZXQgb2YgdmlydGlvX3Vz ZXIgb3BzIHdlcmUNCj4gaW50cm9kdWNlZCBmb3Igdmhvc3QtdkRQQSBiYWNrZW5kIHRvIGhhbmRs ZSBkZXZpY2Ugc3BlY2lmaWMgb3BlcmF0aW9ucw0KPiBzdWNoIGFzOg0KPiAgLSBkZXZpY2Ugc2V0 dXANCj4gIC0gaW9jdGwgbWVzc2FnZSBoYW5kbGluZw0KPiAgLSBxdWV1ZSBwYWlyIGVuYWJsaW5n DQo+ICAtIGRtYSBtYXAvdW5tYXANCj4gdkRQQSByZWxldmFudCBpb2N0bCBjb2RlcyBhbmQgZGF0 YSBzdHJ1Y3R1cmVzIGFyZSBhbHNvIGRlZmluZWQgaW4NCj4gdGhpcyBwYXRjaC4NCj4gDQo+IFNp Z25lZC1vZmYtYnk6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+ DQo+IC0tLQ0KPiAgZHJpdmVycy9uZXQvdmlydGlvL21lc29uLmJ1aWxkICAgICAgICAgICAgICAg IHwgICAxICsNCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92aG9zdC5oICAgICAg ICB8ICAgMSArDQo+ICBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5j ICAgfCAzMTAgKysrKysrKysrKysrKysrKysrDQo+ICAuLi4vbmV0L3ZpcnRpby92aXJ0aW9fdXNl ci92aXJ0aW9fdXNlcl9kZXYuYyAgfCAgIDkgKy0NCj4gIDQgZmlsZXMgY2hhbmdlZCwgMzIwIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJz L25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jDQo+IA0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvdmlydGlvL21lc29uLmJ1aWxkDQo+IGIvZHJpdmVycy9uZXQvdmlydGlvL21l c29uLmJ1aWxkDQo+IGluZGV4IDNmZDYwNTFmNGIuLmVhZWQ0NjM3M2QgMTAwNjQ0DQo+IC0tLSBh L2RyaXZlcnMvbmV0L3ZpcnRpby9tZXNvbi5idWlsZA0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0 aW8vbWVzb24uYnVpbGQNCj4gQEAgLTQyLDYgKzQyLDcgQEAgaWYgaXNfbGludXgNCg0KW3NuaXBd DQoNCj4gK3N0YXRpYyBpbnQNCj4gK3Zob3N0X3ZkcGFfaW9jdGwoc3RydWN0IHZpcnRpb191c2Vy X2RldiAqZGV2LA0KPiArCQkgICBlbnVtIHZob3N0X3VzZXJfcmVxdWVzdCByZXEsDQo+ICsJCSAg IHZvaWQgKmFyZykNCj4gK3sNCj4gKwlpbnQgcmV0ID0gLTE7DQo+ICsJdWludDY0X3QgcmVxX3Zk cGE7DQo+ICsJc3RydWN0IHZob3N0X21lbW9yeV92ZHBhICp2bSA9IE5VTEw7DQo+ICsNCj4gKwlQ TURfRFJWX0xPRyhJTkZPLCAiJXMiLCB2aG9zdF9tc2dfc3RyaW5nc1tyZXFdKTsNCj4gKw0KPiAr CXJlcV92ZHBhID0gdmhvc3RfcmVxX3VzZXJfdG9fdmRwYVtyZXFdOw0KPiArDQo+ICsJaWYgKHJl cV92ZHBhID09IFZIT1NUX1NFVF9NRU1fVEFCTEUpDQo+ICsJCXJldHVybiB2aG9zdF92ZHBhX2Rt YV9tYXBfYWxsKGRldik7DQo+ICsNCj4gKwlpZiAocmVxX3ZkcGEgPT0gVkhPU1RfU0VUX0ZFQVRV UkVTKSB7DQo+ICsJCS8qIFdPUktBUk9VTkQgKi8NCj4gKwkJKih1aW50NjRfdCAqKWFyZyB8PSAx VUxMIDw8IFZJUlRJT19GX0lPTU1VX1BMQVRGT1JNOw0KPiArDQo+ICsJCS8qIE11bHRpcXVldWUg bm90IHN1cHBvcnRlZCBmb3Igbm93ICovDQo+ICsJCSoodWludDY0X3QgKilhcmcgJj0gfigxVUxM IDw8IFZJUlRJT19ORVRfRl9NUSk7DQo+ICsJfQ0KPiArDQo+ICsJc3dpdGNoIChyZXFfdmRwYSkg ew0KPiArCWNhc2UgVkhPU1RfU0VUX1ZSSU5HX05VTToNCj4gKwljYXNlIFZIT1NUX1NFVF9WUklO R19BRERSOg0KPiArCWNhc2UgVkhPU1RfU0VUX1ZSSU5HX0JBU0U6DQo+ICsJY2FzZSBWSE9TVF9H RVRfVlJJTkdfQkFTRToNCj4gKwljYXNlIFZIT1NUX1NFVF9WUklOR19LSUNLOg0KPiArCWNhc2Ug VkhPU1RfU0VUX1ZSSU5HX0NBTEw6DQo+ICsJCSoodW5zaWduZWQgaW50ICopYXJnID0gKih1bnNp Z25lZCBpbnQgKilhcmc7DQoNCkFib3ZlIGxpbmUgc2hvdWxkIGJlIGRlbGV0ZWQ/DQoNCj4gKwkJ UE1EX0RSVl9MT0coREVCVUcsICJ2aG9zdGZkPSVkLCBpbmRleD0ldSIsDQo+ICsJCQkgICAgZGV2 LT52aG9zdGZkLCAqKHVuc2lnbmVkIGludCAqKWFyZyk7DQo+ICsJCWJyZWFrOw0KPiArCWRlZmF1 bHQ6DQo+ICsJCWJyZWFrOw0KPiArCX0NCj4gKw0KPiArCXJldCA9IGlvY3RsKGRldi0+dmhvc3Rm ZCwgcmVxX3ZkcGEsIGFyZyk7DQo+ICsNCj4gKwlpZiAodm0pDQo+ICsJCWZyZWUodm0pOw0KDQpJ IHRoaW5rICd2bScgaXMgbmV2ZXIgY2hhbmdlZCBhZnRlciBpdCdzIGluaXQtZWQgYXMgTlVMTC4g TWF5YmUgaXQNCnNob3VsZCBiZSBkZWxldGVkPyBJZiBpdCdzIG5vdCBuZWVkZWQsIHRoZSBkZWZp bml0aW9uIG9mIHN0cnVjdA0Kdmhvc3RfbWVtb3J5X3ZkcGEgc2hvdWxkIGFsc28gYmUgZGVsZXRl ZC4NCg0KPiArDQo+ICsJaWYgKHJldCA8IDApDQo+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIiVzIGZh aWxlZDogJXMiLA0KPiArCQkJICAgIHZob3N0X21zZ19zdHJpbmdzW3JlcV0sIHN0cmVycm9yKGVy cm5vKSk7DQo+ICsNCj4gKwlyZXR1cm4gcmV0Ow0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAqIFNl dCB1cCBlbnZpcm9ubWVudCB0byB0YWxrIHdpdGggYSB2aG9zdCB2ZHBhIGJhY2tlbmQuDQo+ICsg Kg0KPiArICogQHJldHVybg0KPiArICogICAtICgtMSkgaWYgZmFpbCB0byBzZXQgdXA7DQo+ICsg KiAgIC0gKD49MCkgaWYgc3VjY2Vzc2Z1bC4NCj4gKyAqLw0KPiArc3RhdGljIGludA0KPiArdmhv c3RfdmRwYV9zZXR1cChzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYpDQo+ICt7DQo+ICsJdWlu dDMyX3QgZGlkID0gKHVpbnQzMl90KS0xOw0KDQpJIHNlZSBpbiBrZXJuZWwsICdkaWQnIHNob3Vs ZCBiZSB1ODoNCg0Kc3RhdGljIGxvbmcgdmhvc3RfdmRwYV9nZXRfZGV2aWNlX2lkKHN0cnVjdCB2 aG9zdF92ZHBhICp2LCB1OCBfX3VzZXIgKmFyZ3ApDQoNClNvIEkgdGhpbmsgaGVyZSBkaWQgc2hv dWxkIGJlIHVpbnQ4X3Q/DQoNCkJlc2lkZXMsIHRoZXJlIGFyZSB0d28gY29kaW5nIHN0eWxlIGlz c3VlczoNCkNIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5kIHRoYXQgJyonIChj dHg6V3hWKQ0KIzIzNjogRklMRTogZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb191c2VyL3Zob3N0 X3ZkcGEuYzoxMTI6DQordmhvc3RfdmRwYV9kbWFfdW5tYXAoc3RydWN0IHZpcnRpb191c2VyX2Rl diAqZGV2LCB2b2lkIF9fcnRlX3VudXNlZCAqYWRkciwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCg0KQ0hFQ0s6 T1BFTl9FTkRFRF9MSU5FOiBMaW5lcyBzaG91bGQgbm90IGVuZCB3aXRoIGEgJygnDQojMjk4OiBG SUxFOiBkcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIvdmhvc3RfdmRwYS5jOjE3NDoNCisJ CWludCByZXQgPSBydGVfbWVtc2VnX2NvbnRpZ193YWxrX3RocmVhZF91bnNhZmUoDQoNClRoYW5r cyENCkNoZW5ibw0KDQo+ICsNCj4gKwlkZXYtPnZob3N0ZmQgPSBvcGVuKGRldi0+cGF0aCwgT19S RFdSKTsNCj4gKwlpZiAoZGV2LT52aG9zdGZkIDwgMCkgew0KPiArCQlQTURfRFJWX0xPRyhFUlIs ICJGYWlsZWQgdG8gb3BlbiAlczogJXNcbiIsDQo+ICsJCQkJZGV2LT5wYXRoLCBzdHJlcnJvcihl cnJubykpOw0KPiArCQlyZXR1cm4gLTE7DQo+ICsJfQ0KPiArDQo+ICsJaWYgKGlvY3RsKGRldi0+ dmhvc3RmZCwgVkhPU1RfVkRQQV9HRVRfREVWSUNFX0lELCAmZGlkKSA8IDAgfHwNCj4gKwkJCWRp ZCAhPSBWSVJUSU9fSURfTkVUV09SSykgew0KPiArCQlQTURfRFJWX0xPRyhFUlIsICJJbnZhbGlk IHZkcGEgZGV2aWNlIElEOiAldVxuIiwgZGlkKTsNCj4gKwkJcmV0dXJuIC0xOw0KPiArCX0NCj4g Kw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICt2aG9zdF92ZHBh X2VuYWJsZV9xdWV1ZV9wYWlyKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldiwNCj4gKwkJCSAg ICAgICB1aW50MTZfdCBwYWlyX2lkeCwNCj4gKwkJCSAgICAgICBpbnQgZW5hYmxlKQ0KPiArew0K PiArCWludCBpOw0KPiArDQo+ICsJaWYgKGRldi0+cXBfZW5hYmxlZFtwYWlyX2lkeF0gPT0gZW5h YmxlKQ0KPiArCQlyZXR1cm4gMDsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCAyOyArK2kpIHsN Cj4gKwkJc3RydWN0IHZob3N0X3ZyaW5nX3N0YXRlIHN0YXRlID0gew0KPiArCQkJLmluZGV4ID0g cGFpcl9pZHggKiAyICsgaSwNCj4gKwkJCS5udW0gICA9IGVuYWJsZSwNCj4gKwkJfTsNCj4gKw0K PiArCQlpZiAodmhvc3RfdmRwYV9pb2N0bChkZXYsIFZIT1NUX1VTRVJfU0VUX1ZSSU5HX0VOQUJM RSwgJnN0YXRlKSkNCj4gKwkJCXJldHVybiAtMTsNCj4gKwl9DQo+ICsNCj4gKwlkZXYtPnFwX2Vu YWJsZWRbcGFpcl9pZHhdID0gZW5hYmxlOw0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICt9DQo+ICsN Cj4gK3N0cnVjdCB2aXJ0aW9fdXNlcl9iYWNrZW5kX29wcyB2aXJ0aW9fb3BzX3ZkcGEgPSB7DQo+ ICsJLnNldHVwID0gdmhvc3RfdmRwYV9zZXR1cCwNCj4gKwkuc2VuZF9yZXF1ZXN0ID0gdmhvc3Rf dmRwYV9pb2N0bCwNCj4gKwkuZW5hYmxlX3FwID0gdmhvc3RfdmRwYV9lbmFibGVfcXVldWVfcGFp ciwNCj4gKwkuZG1hX21hcCA9IHZob3N0X3ZkcGFfZG1hX21hcCwNCj4gKwkuZG1hX3VubWFwID0g dmhvc3RfdmRwYV9kbWFfdW5tYXAsDQo+ICt9Ow0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv dmlydGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+IGIvZHJpdmVycy9uZXQvdmly dGlvL3ZpcnRpb191c2VyL3ZpcnRpb191c2VyX2Rldi5jDQo+IGluZGV4IDJlMDk3YTk1ZWEuLjJl ODMxMTE0N2IgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fdXNlci92 aXJ0aW9fdXNlcl9kZXYuYw0KPiArKysgYi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3VzZXIv dmlydGlvX3VzZXJfZGV2LmMNCj4gQEAgLTQ0NCw2ICs0NDQsMTIgQEAgdmlydGlvX3VzZXJfZGV2 X3NldHVwKHN0cnVjdCB2aXJ0aW9fdXNlcl9kZXYgKmRldikNCj4gIAkJCQlkZXYtPnZob3N0ZmRz W3FdID0gLTE7DQo+ICAJCQkJZGV2LT50YXBmZHNbcV0gPSAtMTsNCj4gIAkJCX0NCj4gKwkJfSBl bHNlIGlmIChkZXYtPmJhY2tlbmRfdHlwZSA9PQ0KPiArCQkJCVZJUlRJT19VU0VSX0JBQ0tFTkRf VkhPU1RfVkRQQSkgew0KPiArCQkJZGV2LT5vcHMgPSAmdmlydGlvX29wc192ZHBhOw0KPiArCQl9 IGVsc2Ugew0KPiArCQkJUE1EX0RSVl9MT0coRVJSLCAiVW5rbm93biBiYWNrZW5kIHR5cGUiKTsN Cj4gKwkJCXJldHVybiAtMTsNCj4gIAkJfQ0KPiAgCX0NCj4gDQo+IEBAIC04NzgsNyArODg0LDgg QEAgdmlydGlvX3VzZXJfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgdmlydGlvX3VzZXJfZGV2ICpkZXYp DQo+ICAJZW51bSB2aXJ0aW9fdXNlcl9iYWNrZW5kX3R5cGUgYmFja2VuZF90eXBlID0NCj4gIAkJ CQl2aXJ0aW9fdXNlcl9iYWNrZW5kX3R5cGUoZGV2LT5wYXRoKTsNCj4gDQo+IC0JaWYgKGJhY2tl bmRfdHlwZSAhPSBWSVJUSU9fVVNFUl9CQUNLRU5EX1ZIT1NUX1VTRVIpDQo+ICsJaWYgKGJhY2tl bmRfdHlwZSAhPSBWSVJUSU9fVVNFUl9CQUNLRU5EX1ZIT1NUX1VTRVIgJiYNCj4gKwkJCWJhY2tl bmRfdHlwZSAhPSBWSVJUSU9fVVNFUl9CQUNLRU5EX1ZIT1NUX1ZEUEEpDQo+ICAJCXJldHVybiAw Ow0KPiANCj4gIAllcnIgPSBkZXYtPm9wcy0+c2VuZF9yZXF1ZXN0KGRldiwgVkhPU1RfVVNFUl9H RVRfU1RBVFVTLCAmcmV0KTsNCj4gLS0NCj4gMi4yNi4yDQoNCg==