From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5C569A0A02; Mon, 17 May 2021 14:46:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3F0AA4014E; Mon, 17 May 2021 14:46:21 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 65A7740041 for ; Mon, 17 May 2021 14:46:19 +0200 (CEST) IronPort-SDR: RS3pTKBC7MLBfZarOVp8l/CLA/jy9klVpnbZFfNEAOwDWBnFFTcgouRjZKtIlZOsulzOyIrWBr m7j/yoEwofGA== X-IronPort-AV: E=McAfee;i="6200,9189,9986"; a="200505156" X-IronPort-AV: E=Sophos;i="5.82,307,1613462400"; d="scan'208";a="200505156" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 May 2021 05:46:18 -0700 IronPort-SDR: l+NdrJ/bXHVqMSsA+g124EET3RuaUvQxnQkwuXfZcjb2MGwJTYoFYSk0PJUyi5GVL4+le+eaGu wcgHzpYZfdAg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,307,1613462400"; d="scan'208";a="438909894" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga008.jf.intel.com with ESMTP; 17 May 2021 05:46:18 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 17 May 2021 05:46:17 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Mon, 17 May 2021 05:46:17 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.47) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Mon, 17 May 2021 05:46:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GH8yJKkpDs6ladwo6j9sDWlyGsGsG9+Fq1e4w4FkX0vzgRqJWPgPIa5lfyyKleQt5qsKXZ4vZx2M5Pi7DMVZeAP+7sGK13C6jTY6kHCmeHNjcnc1j74A1q23xyjhqMwZxfx2Gc8hxq942STRCuMJCCKd7PrDFKeN5+7moAV989iJL7UmmgVyRUPBGad9sdjEw2JRZguPaoEr2+XPrvzMqXlfQ82hBxbSi4RWUQyE2FY/5T2/5mNbtINYSMCWmLGd55l+bnqBxrn3Z6WgqQM0F5DZXuvxCJ9KTMgRm2jzsRUEyOytjBNXdkD1nK6+zCG4xsrMx9xY4rxaQXS/auOSPw== 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=QjGI8yILgfiw3toETY3u6CkycqvSEOBn9PB2yPdn9Lg=; b=iGTsZ/kVxDtg96W8Kf1ArQw1bmOJWvvYWLy6sBCvkI1w7LoKLwXujTzGk3arTl/XDxBWFxhrsf5FtQu1IELL3xoKqeZ6rM9bba8or8R03Re81J8QRsyT3C6TTV+u5gdhAUMdVpVJ+seXU19YlXminr5xV2w1+j2Lb98hGJR1+2M978pXuuFQcxng/xBbzZPvvic0Yjw1JsgBdFcIRCOGQM+kcdmUpX6SptkXVp/FLQupNgiy1SwVpGfro3X+Dy9RCQFcp7zOfaICVfLQwA1VFDNfqFD2t6S1fonZG4VurMYG0jPXriTsBZkIKYlDHhHVkX4jad9BMtbvaQCzF8TVPw== 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=QjGI8yILgfiw3toETY3u6CkycqvSEOBn9PB2yPdn9Lg=; b=rkDowT17E89ZjLUoWrGdOBa2pcXJOVU7IhPqJ1sckvHHJ1Ps3XslVTNrI9QfZDNMnMQ+eQhnXWWQt6MMMVLToJ86OyUwRjF4hTRg5w6vjw45K2qdu6eBjjTFlYmv1Dh9jhmRJssjuKmGo6/29Q5Y85NYJabpfxleGQ4Zn6VIXqo= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3743.namprd11.prod.outlook.com (2603:10b6:208:f4::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.28; Mon, 17 May 2021 12:46:12 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6d37:7bdb:fdf1:e9f3]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6d37:7bdb:fdf1:e9f3%4]) with mapi id 15.20.4129.031; Mon, 17 May 2021 12:46:12 +0000 From: "Xia, Chenbo" To: David Marchand , Maxime Coquelin CC: dev , Kevin Traynor , Pei Zhang , "Yigit, Ferruh" , "Thomas Monjalon" Thread-Topic: [PATCH] vhost: fix wrong IOTLB initialization Thread-Index: AQHXSAH5PR0Ixh54+02Wr85hf15G9qrnm0eQ Date: Mon, 17 May 2021 12:46:12 +0000 Message-ID: References: <20210513122826.49910-1-chenbo.xia@intel.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-Mentions: maxime.coquelin@redhat.com X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 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.198.147.215] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dff752ec-69d6-4619-39fd-08d91931c0b8 x-ms-traffictypediagnostic: MN2PR11MB3743: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VoI+zqwm18rLcvxpbSOc5H3EizbhjnmZqxomhw3fkZUkzIwjVigjF4oRw8yfsEuC7/WHs3TKREDRqd9Vldgj+uJn8byFcGpq1qAcFO/3mcERpgO23kIVM5Y8APCKuq8zIDCGk4EIs2UThwPaquw9L2XBpivJ7wETa1xfzm6pWTqvqO3JiAAl4GVmhdBCVRPrg3H3MpqHJgyZ9mnwg5wX5GBX44MwLc8h6u3RboHL6T2Vam8TrtxvE93/Jwv8msZ00U1XdYOvePbMkKHSAkPdQ5LsBdc4qxkxuA588lupVXL4/23lS0E1/v0U2Lod2AJ0oyVAvQFrjrvsP0Vd+qEW8dw+5jvg+0IMF/htYYcg+Zs0lI/0lke2GVtBW2g7tsH0hYZgmTpnFC84EA3lLf7K3Sf3veqJiJTn/e6RPJLyqiaCS2NTOyGyxCwX03ff98BR/hecxIanx5UwpB7TQAXBsDrPUr81p5wjMZ4zdFMSETELlO6BNhFzcL1UNGgnJ8Hu4X4EF4aKdDHGTjtRWcMCJGhrquXVz63zwhnxM5hgK6uGXA1U5xN6OQIfce8DW97l555A4XKuvL9518df1eqRG23z3kvc053ILaoqGKPfnss= 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:(396003)(346002)(136003)(376002)(366004)(39860400002)(8936002)(8676002)(33656002)(71200400001)(76116006)(54906003)(478600001)(186003)(110136005)(52536014)(6506007)(53546011)(2906002)(122000001)(66946007)(26005)(7696005)(66556008)(86362001)(316002)(66446008)(55016002)(4326008)(38100700002)(64756008)(66476007)(83380400001)(9686003)(5660300002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?ZzRFais1MklUQTRPaVU5ZUUxWW54S0RCd1FkekxEbVNFSURwMkx1TFNnMDZO?= =?utf-8?B?RHhyNWNWSWhjN3JQK2lxV1FqYlBPeDNpMHVCWC9ybVkxeENTVmJwUUZnWXg0?= =?utf-8?B?d2Z4ZjlpN0IxeVJQcXJXdGladnNBZDFxaE16c05ZcjNFR0dHczByTEgvSUVT?= =?utf-8?B?VktzWC9sL2E0eGdYRVdqUCtrUTZWWGZXa3JQbVR5NDhjZHdJY21uaktPa2ZR?= =?utf-8?B?NEo1T1l4UlQ0R3RXeEdKbDBnZUJLUEs2VWZyQTdTdUlxa3RpUDRBMmIzWVJL?= =?utf-8?B?b1J1czNaU2JxUm1pbVVRR1VIVHM3NGxLd3JmRkhxUmpLamxzT3dXVkw4bUZD?= =?utf-8?B?NVlDUCtQdDZSQVVxRmU4NmhlTjJ2Zzk0S1dYd0dCcXJycUI1Ym9LcWg2aUhi?= =?utf-8?B?T0NHWk1panFBNENqVW8xL2c1eFZyWVZkR0tBako4bHduZ1hIL2phUFBJUWFP?= =?utf-8?B?YUIvZ09VSEhKanRCZjJqZEdWOTZDQS9ta1J3Nlhad0xob0k2SzMzS0p0UEFo?= =?utf-8?B?a2ZQeTROWDZlc3psZ2srQlIzVWZUWG5MNUJHdTVHSi9FdnpRRS9zd1NXUjF4?= =?utf-8?B?L3l3bit4OUFzb29nREZHS09NZDBzbXpCS3JRSm5CTERXc29RZWJaakp0K0J3?= =?utf-8?B?b3hpOHFWZG02cUxScFNQeERUUEhHWFBEM3l0WmhrWm4vbFY3Z1FLSzR0U3hZ?= =?utf-8?B?VlcxSm9IcWxCUktGUmJqK3ozVTlhQ0p0c0wxN2djeGhTaHVYeStWYnA1QU1O?= =?utf-8?B?aHZyQTUySXhwVmVha1JtbTEyNVdNeWNuWld1Zkh6ZVM2Zm9UR3NTYzA4Z2tL?= =?utf-8?B?UUhGVzFudUphWk5UQldsRkVJSW5FTGRDNCtDMU85WSt4bTcweW12c0sxZkxq?= =?utf-8?B?RkM4S0VQVTdkLzZtN0hBMEpQd2UrdWhUbXlKa0R0TExoWTVZaGlHa3FjVVNX?= =?utf-8?B?N2hTQVUxWm9XREFySitNSVRxbXBWUzNtTzdZdC9WVkp1QXZPQW5FR3RxVEhM?= =?utf-8?B?b1JxNVpkaW5KYytMaHVCNTkwMGYvQmMrYXkzcWo1eGVGbXdhZDczbUxjY1ow?= =?utf-8?B?MFNzTFJvZ3RxOVRsOHE2RUkwcGlDN0pVQXdkMEI0NkxGRFNPTDQwMDl4aFRL?= =?utf-8?B?V1d1VkVtUHgxNjhNTzYrYnEzTjRQa2RTaGkvbDhERXM0UDdxM1h3aURvRWdX?= =?utf-8?B?TG56VU5zN0ZsREhENEh6U25ycUhnSW9GWlc1N2pkT2FQWkNuTktmVGt6RTlX?= =?utf-8?B?YkFJZDhmU2pYM29nVW8zT0tGSVZCaWsvekpCcW1zYjM0MU85U1lHcXhYcTJ2?= =?utf-8?B?VmVwV0NGK0ZuOHc5VWptV2RtQW9lZndueDFHaFJiWFJQT1Nubnl4aFU0UU9n?= =?utf-8?B?QmZyV0F0QzYvNEV1VTQ2T2ZVRDlvd2xXOUtqd3dMZWVUcjlOVlc3a1lwREFJ?= =?utf-8?B?QkFxYnM2TWZNYldob0lnM2l2NXhWK2k0WmQzUmxUTUJDOVZYdjVWbWNoWExx?= =?utf-8?B?Wlh6UjFkUEJmL3J2UUpFUGZCSUh0QTBMSnUxOW0yZU9USE42TzZOYTlPSmpu?= =?utf-8?B?STd4aFJTdlNYdUhDaE4xUmFGZm9udVFXWUR5eDNMZWY0elM0cEdsenhHODBW?= =?utf-8?B?WG1ZVDZRMloyL2lFKzR6MHN3U2o3ZURkaHFQcXN5MlR2dTZ3MlhScDdCQVQ3?= =?utf-8?B?ekVEazhKZHdRazBCLzVZa2hlUzA4VmE3KzdJd0JxZllENUs5VjRVcmlvNGRC?= =?utf-8?Q?W3OyGoY+6uBaYkdePSyE1C+spKSnAXLB5X65PqM?= 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: dff752ec-69d6-4619-39fd-08d91931c0b8 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 May 2021 12:46:12.5997 (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: UdBFiwtn45RIsgyt7amXqdzok7bffmczfKp6MqmQbJlVfdCGPQAwHg0fHu/6SiCgN3GcYZLpogH7W/SNGUUf3A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3743 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] vhost: fix wrong IOTLB initialization X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" SGkgRGF2aWQsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRGF2aWQg TWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBN YXkgMTMsIDIwMjEgMTA6MTIgUE0NCj4gVG86IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVs LmNvbT47IE1heGltZSBDb3F1ZWxpbg0KPiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+ IENjOiBkZXYgPGRldkBkcGRrLm9yZz47IEtldmluIFRyYXlub3IgPGt0cmF5bm9yQHJlZGhhdC5j b20+OyBQZWkgWmhhbmcNCj4gPHBlemhhbmdAcmVkaGF0LmNvbT47IFlpZ2l0LCBGZXJydWggPGZl cnJ1aC55aWdpdEBpbnRlbC5jb20+OyBUaG9tYXMNCj4gTW9uamFsb24gPHRob21hc0Btb25qYWxv bi5uZXQ+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIHZob3N0OiBmaXggd3JvbmcgSU9UTEIgaW5p dGlhbGl6YXRpb24NCj4gDQo+IE9uIFRodSwgTWF5IDEzLCAyMDIxIGF0IDI6MzggUE0gQ2hlbmJv IFhpYSA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBm aXhlcyBhbiBpc3N1ZSBvZiBhcHBsaWNhdGlvbiBjcmFzaCBiZWNhdXNlIG9mIHZob3N0IGlvdGxi DQo+ID4gbm90IGluaXRpYWxpemVkIHdoZW4gdmlydGlvIGhhcyBtdWx0aXF1ZXVlIGVuYWJsZWQu DQo+ID4NCj4gPiBpb3RsYiBtZXNzYWdlcyB3aWxsIGJlIHNlbnQgd2hlbiBzb21lIHF1ZXVlcyBh cmUgbm90IGVuYWJsZWQuIElmIHdlDQo+ID4gaW5pdGlhbGl6ZSBpb3RsYiBpbiB2aG9zdF91c2Vy X3NldF92cmluZ19udW0sIGl0IGNvdWxkIGhhcHBlbiB0aGF0DQo+ID4gaW90bGIgdXBkYXRlIGNv bWVzIHdoZW4gaW90bGIgcG9vbCBvZiBkaXNhYmxlZCBxdWV1ZXMgYXJlIG5vdA0KPiA+IGluaXRp YWxpemVkLg0KPiANCj4gVGhpcyBtYWtlcyB0aGUgcHJvYmxlbSBJIHJlcHJvZHVjZWQgZGlzYXBw ZWFyIGF0IGluaXQsIGJ1dCBJIG5vdGljZWQNCj4gdGhlIHNlZ2ZhdWx0IGFmdGVyIHJlc3RhcnRp bmcgdGVzdHBtZCBvbmNlLg0KPiBBbmQgYSBsaXR0bGUgYml0IGFmdGVyIHRoaXMsIG15IHZtIGNy YXNoZWQuDQoNCk9vcHMuLiBNYXliZSB0aGVyZSdzIHNvbWUgZW52IGRpZmZlcmVuY2UuIE15IGVu diB3b3JrcyB3ZWxsIHdpdGggdGhlICdyZXN0YXJ0JyB0ZXN0Lg0KDQpBZnRlciBjaGVja2luZyB0 aGUgbG9ncyB5b3UgcHJvdmlkZWQsIGlzIHRoZSBzZWdmYXVsdCBzdGlsbCBiZWNhdXNlIG9mIGlv dGxiIGNhY2hlDQpub3QgaW5pdD8gSU1ITywgYmFzZWQgb24gdGhlIG1lc3NhZ2Ugc2VxdWVuY2Us IHRoZSBjYWNoZSBzaG91bGQgYmUgaW5pdGVkLg0KDQo+IA0KPiBUaGlzIGlzIG5vdCBzeXN0ZW1h dGljLCBzbyBJIGd1ZXNzIHRoZXJlIGlzIHNvbWUgY29uZGl0aW9uIHdpdGggaG93DQo+IHRoZSB2 aXJ0aW8gZGV2aWNlIGlzIGluaXRpYWxpc2VkIGluIHRoZSB2bS4NCj4gDQo+IA0KPiBPbmUgcXVl c3Rpb24gYmVsb3cuDQo+IA0KPiANCj4gQnVnemlsbGEgSUQ6IDcwMw0KPiANCj4gPiBGaXhlczog OTY4YmJjN2UyZTUwICgidmhvc3Q6IGF2b2lkIElPVExCIG1lbXBvb2wgYWxsb2NhdGlvbiB3aGls ZSBJT01NVQ0KPiBkaXNhYmxlZCIpDQo+ID4NCj4gDQo+IFJlcG9ydGVkLWJ5OiBQZWkgWmhhbmcg PHBlemhhbmdAcmVkaGF0LmNvbT4NCj4gDQo+ID4gU2lnbmVkLW9mZi1ieTogQ2hlbmJvIFhpYSA8 Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4gIGxpYi92aG9zdC92aG9zdF91c2Vy LmMgfCAxMyArKysrKysrKystLS0tDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvbGliL3Zob3N0L3Zob3N0 X3VzZXIuYyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gPiBpbmRleCA2MTFmZjIwOWUzLi5h ZTRkZjhlYjY5IDEwMDY0NA0KPiA+IC0tLSBhL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gPiAr KysgYi9saWIvdmhvc3Qvdmhvc3RfdXNlci5jDQo+ID4gQEAgLTMxMSw2ICszMTEsNyBAQCB2aG9z dF91c2VyX3NldF9mZWF0dXJlcyhzdHJ1Y3QgdmlydGlvX25ldCAqKnBkZXYsDQo+IHN0cnVjdCBW aG9zdFVzZXJNc2cgKm1zZywNCj4gPiAgICAgICAgIHVpbnQ2NF90IGZlYXR1cmVzID0gbXNnLT5w YXlsb2FkLnU2NDsNCj4gPiAgICAgICAgIHVpbnQ2NF90IHZob3N0X2ZlYXR1cmVzID0gMDsNCj4g PiAgICAgICAgIHN0cnVjdCBydGVfdmRwYV9kZXZpY2UgKnZkcGFfZGV2Ow0KPiA+ICsgICAgICAg dWludDMyX3QgaTsNCj4gPg0KPiA+ICAgICAgICAgaWYgKHZhbGlkYXRlX21zZ19mZHMobXNnLCAw KSAhPSAwKQ0KPiA+ICAgICAgICAgICAgICAgICByZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRf RVJSOw0KPiA+IEBAIC0zODksNiArMzkwLDE0IEBAIHZob3N0X3VzZXJfc2V0X2ZlYXR1cmVzKHN0 cnVjdCB2aXJ0aW9fbmV0ICoqcGRldiwNCj4gc3RydWN0IFZob3N0VXNlck1zZyAqbXNnLA0KPiA+ ICAgICAgICAgICAgICAgICB2ZHBhX2Rldi0+b3BzLT5zZXRfZmVhdHVyZXMoZGV2LT52aWQpOw0K PiA+DQo+ID4gICAgICAgICBkZXYtPmZsYWdzICY9IH5WSVJUSU9fREVWX0ZFQVRVUkVTX0ZBSUxF RDsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAoZGV2LT5mZWF0dXJlcyAmICgxVUxMIDw8IFZJUlRJ T19GX0lPTU1VX1BMQVRGT1JNKSkgew0KPiA+ICsgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBp IDwgZGV2LT5ucl92cmluZzsgaSsrKSB7DQo+IA0KPiBJIGRvbid0IGtub3cgdGhlIHZob3N0LXVz ZXIgcHJvdG9jb2wuDQo+IEF0IHRoaXMgcG9pbnQgb2YgdGhlIGRldmljZSBpbml0L2xpZmUsIGFy ZSB3ZSBzdXJlIG5yX3ZyaW5nIGlzIHNldCB0bw0KPiB0aGUgbWF4IG51bWJlciBvZiB2cmluZz8N Cj4gVGhlIGxvZ3MgSSBoYXZlIHRlbmQgdG8gc2F5IGl0IGlzIHRoZSBjYXNlLCBidXQgaXMgdGhl cmUgYSBndWFyYW50ZWUNCj4gaW4gdGhlIHByb3RvY29sPw0KDQpJIHRoaW5rIHlvdSBhcmUgY29y cmVjdC4uIEJhc2VkIG9uIGN1cnJlbnQgUUVNVSBpbXBsZW1lbnRhdGlvbiwgbnJfdnJpbmcgc2hv dWxkIGJlDQp0aGUgY29ycmVjdCB2YWx1ZSAoQ29ycmVjdCBtZSBpZiB0aGVyZSdyZSBjb3JuZXIg Y2FzZXMpLiBCdXQgSSBkb24ndCB0aGluayB0aGVyZQ0KaXMgYSBndWFyYW50ZWUgYXMgdmhvc3Qt dXNlciBwcm90b2NvbCBkb2Vzbid0IG1lbnRpb24gYWJvdXQgJ1NFVF9GRUFUVVJFUycgY29tZXMN CmFmdGVyIHBlci12cmluZyBtZXNzYWdlcy4gQE1heGltZSBDb3F1ZWxpbiBEbyBJIG1pc3MgYW55 dGhpbmc/DQoNCj4gDQo+IA0KPiBBbm90aGVyIHdheSB0byBmaXggd291bGQgYmUgdG8gYWxsb2Nh dGUgb24gdGhlIGZpcnN0DQo+IFZIT1NUX1VTRVJfSU9UTEJfTVNHIG1lc3NhZ2UgcmVjZWl2ZWQg Zm9yIGEgdnJpbmcuDQoNCkVtbW0uLiBDb3VsZCB0aGVyZSBiZSBhIGNhc2UgdGhhdCBzb21lIGh5 cGVydmlzb3IgaW5pdCBjZXJ0YWluIHF1ZXVlIGFmdGVyIHRoZSBmaXJzdA0KSU9UTEIgbXNnPyBJ ZiB0aGVyZSBpcywgd2UgbWF5IGFsc28gbmVlZCB0byBjaGVjayBucl92cmluZyBpcyBub3QgY2hh bmdlZC90aGVyZSdzIG5ldw0KcXVldWUgaW5pdGVkLg0KDQpBbmQgRGF2aWQsIHRoYW5rcyBmb3Ig dGVzdGluZyBhbmQgd3JpdGluZyB0aGUgcmV2ZXJ0IHBhdGNoIGZvciBtZSBkdXJpbmcgbXkgbGVh dmUuDQpUaGF0J3MgbXVjaCBhcHByZWNpYXRlZCENCg0KVGhhbmtzLA0KQ2hlbmJvDQoNCj4gDQo+ IA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmICh2aG9zdF91c2VyX2lvdGxiX2luaXQo ZGV2LCBpKSkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBSVEVf VkhPU1RfTVNHX1JFU1VMVF9FUlI7DQo+ID4gKyAgICAgICAgICAgICAgIH0NCj4gPiArICAgICAg IH0NCj4gPiArDQo+ID4gICAgICAgICByZXR1cm4gUlRFX1ZIT1NUX01TR19SRVNVTFRfT0s7DQo+ ID4gIH0NCj4gPg0KPiANCj4gDQo+IC0tDQo+IERhdmlkIE1hcmNoYW5kDQoNCg==