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 40E3AA0C4D; Fri, 13 Aug 2021 11:23:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EEB0F40DF4; Fri, 13 Aug 2021 11:23:55 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 5A83940140 for ; Fri, 13 Aug 2021 11:23:49 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10074"; a="215561614" X-IronPort-AV: E=Sophos;i="5.84,318,1620716400"; d="scan'208";a="215561614" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Aug 2021 02:23:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,318,1620716400"; d="scan'208";a="446962027" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga007.fm.intel.com with ESMTP; 13 Aug 2021 02:23:47 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Fri, 13 Aug 2021 02:23:46 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Fri, 13 Aug 2021 02:23:46 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Fri, 13 Aug 2021 02:23:46 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.174) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Fri, 13 Aug 2021 02:23:46 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G/RVKpE5hvcSGBQ73tQ4nsXL5dHpPI78/sEIjpaX7rDrzNL5YUsqeozwiOqUFWCwQK1YHzLhhlK9T0RUQh8SIGpMKO+oIFv45BC/ELYMDc4/29BmCYxllTPXafUEBOsU5stFuQwDqFupNG+efu6a7LxhV3wwKmQdIycFrlC3m5t6ozoAebIYlotRnoK68EaKRY6Ifk/E/OZGle9w6ZEAXbrAvlvr+cmDhtPI72rklqs5xZKGGXF+IMWY0IMlDT92y+KjCm3O/NgGgAFcByxlFvt+7Ukjlx5E+MAW/kH0g+0yJeGKK1/j3wcd3HJfYfel0pYy2hFSG5xfHmCZI36cSA== 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=8UTphfywYkIhGqGcGXH71S/GbkW0IQTgqmBpV7RvlwE=; b=SSl9l4OsDN+9Ne+Qwy63a1nUkkxguaguXOBiZRh7zyV5aJDVF/2pkcVY3iZduaXHVpIWiExt4rMCr0L5ig1pDVvcF3x2NmdRUiLPEpZQsknRTlpSp47TK5Njtzm2hdsFCCJgELNbN2h/VN/TEKH3UjzydA++gnrpkusj4anLTW8KIbRpp/vm/rYGU8ATVZO3FUWJicWonoTY71FjQdmhNN/HbI1axaVNmSFF3T+teIZFi8fmpLe6VfR42WHGrHHmz5Chp2hPNMno3qlHs4SJ+abfYI1KwHn18d0ISYd5MH8hhn8biiLTd3rFp39ExSjfIVauxiEt5/YzDbwML1Wi0Q== 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=8UTphfywYkIhGqGcGXH71S/GbkW0IQTgqmBpV7RvlwE=; b=qHN3NlJWC8sQzCA207IR5HyS/AW2XaOkA8JdUAJtTGcnhANN6E+m0DEYzFYsOlBEYTng2KRKyjtxCJUrd95hqLyH4QpD8c7EKQ4ovG1GXMtg3eY7qSAWn6/Bxt/GJRnleSG8qfPcizUSvcqEBlqV7qnhMGIOGlliYpKQTeFqLgU= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by BL3PR11MB5745.namprd11.prod.outlook.com (2603:10b6:208:352::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.13; Fri, 13 Aug 2021 09:23:45 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801%3]) with mapi id 15.20.4415.019; Fri, 13 Aug 2021 09:23:44 +0000 From: "Xia, Chenbo" To: Andrew Rybchenko , Vijay Srivastava , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "Vijay Kumar Srivastava" Thread-Topic: [PATCH 01/10] vdpa/sfc: introduce Xilinx vDPA driver Thread-Index: AQHXcoZrDQSPVctU9UGdCvCquWfWGqtM1PcAgCSDQwCAAAY/QA== Date: Fri, 13 Aug 2021 09:23:44 +0000 Message-ID: References: <20210706164418.32615-1-vsrivast@xilinx.com> <20210706164418.32615-2-vsrivast@xilinx.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: oktetlabs.ru; dkim=none (message not signed) header.d=none;oktetlabs.ru; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1b2fc386-204c-4da8-dfb9-08d95e3c0c58 x-ms-traffictypediagnostic: BL3PR11MB5745: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cEUEQ7vcQadSfABdRnFM2kAAwgboDnl1W5IaDRDywrB/hnuXrHpuFcvSbIcT7PkBQK1eytpKVh53GigB+zQ1FWMP6G5cS71xbDvkWMuFzHxryE4svHqY3cJBj4qPcDa7M0ugugTmw22lmRQ6JOONeBlmnPO5lYzWul6mqIrvQDqP0uVT72pXWQgUlRqwAQ5bOFOhSzUlGFBPxHzyx8B/aCUi34cZ74p018GTaxCrwnSL4LMge6Df7oK8rzQsO81/vYAZIx0TW+GqO7k2zqXAcZzdMp6fPM4demjSCuZ/Gz1Aw+2HvpODIabMu2WWgh9sYtjSZAOnETpMX4iM7fJT1uLBPJ/JuUGDh5+2Pn1IN6HP2EkXtPv6zH1CRHei2yj37H55n3HGXGsd65kLPgbpgu4LmUgfc7l52CDR5zf00EIy4n9CuzPCpeUn10RzyyYh6mm9zWi/HR8sZfeRRSt3MXRqUV62yVgGoKW7C650soyCHkDEZ9WeuRIKtrgFFHI0XyCTeWqClfIkqVWV1FPgUzQ/umvbNut/zc7t00iDk+JQeT78vGQi4pNWrHjG2roUfsNypjGbusjoZ9hVlOXRpECrKyfBfVsNgDho/2f85nCRR31ZbhWsX2uY6b8piFeEzVECLkguXxtQ5/jETdtEoRyepnq6ebeC8avs8Inm7teYkT3GzfZR6zY2VXttoE6c04RFTJLLGgP4OWX8FpWbDg== 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)(39860400002)(376002)(346002)(396003)(366004)(136003)(66476007)(71200400001)(83380400001)(64756008)(66946007)(66446008)(122000001)(7696005)(66556008)(5660300002)(53546011)(6506007)(8936002)(2906002)(8676002)(55016002)(76116006)(9686003)(52536014)(186003)(33656002)(110136005)(38100700002)(54906003)(38070700005)(86362001)(316002)(478600001)(4326008)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RjcveWJWZUZPWmdTN21RaFc0MWE4N09wT3Z1dlVoQ29ScXNQU0JXSUg4S0p5?= =?utf-8?B?cTd2eG8wVENaS0YyZWthRUZOMmpuWlhaeWRyYi9nZThKcGdteU1lSjRGQVdl?= =?utf-8?B?ODJ0T0Zwa3JSWEVoMFZ2YmhLSVJHM1hSN2R3ZysyRmkrWnN5M0l3cUYrNWs4?= =?utf-8?B?VjZBNkUxTnlkUHI1cy9uRGdxSWdiV1hGVUVzcnd4cHF3R21hYk45MVh0Z3Zp?= =?utf-8?B?NkVkRnJiMTcyL05oRnVEUGNzQkJOaFhNRTd6MEs5cEs4VXVJZXI0Nm54amlV?= =?utf-8?B?aE1ZdzRUczdvdDNFNzFENXFRUnJQdjNSempnTmVpOGNKUDVOcHZha3lWdUx5?= =?utf-8?B?dXBsTmxNek5NU2c4RkJoN2EwTy80R0R3UFNoeGVVRzl3aVlrOTN3bWsrbjd4?= =?utf-8?B?NkpDQmJMZUlYU3Y3eWloTmJJOVd5cFB0a2tYMk93Z1ZvM1FQOXhXbTU3Z21W?= =?utf-8?B?c00wVWhWdVYxSzhlY1VzVzNtZXpZa1YwbE5HZFhQU1drU29YVE1hT2QraTJp?= =?utf-8?B?Uldnc3ZjTXlmVWhUSU4va3gvcm1ZajJGSXZCWlE2YjBNRXVzZThGd3JrdDRm?= =?utf-8?B?TEZvTWNWRC9peDhLa0Z1YlJjT0VoaGduWEMrU3lONzhGYTVvajdSSXZsbjBJ?= =?utf-8?B?MU1WL1dZWHRmdlZtekp6Y2t1dTdHWVRUK2tlaFhlK3puR253WEU1MkM3dDly?= =?utf-8?B?U29hVHRKNHdidERMdUNFZzIvTHExK3RaTUtxb0dhQ0pmL3BDZTRQSEZMSmZZ?= =?utf-8?B?cXgwcVdENXpLS0VUYVFUbnVwNDdGUkNmK2FUYWJnWGFBTjI3cU5sMk5MSm5m?= =?utf-8?B?UmJYM20zMjZaTFA1cXhlNC9WeC94Q2hXb1hjQVVYbXdQSloxczRnZHgvUnB4?= =?utf-8?B?L2FKakFneGFWdnpXTVVmVUJoejRCOENHY05jWWpXWkp2Qm1hTGFORzJrMzds?= =?utf-8?B?NzdjempibmJMN3lpcm55VTV6KzRJWTlqaExyVFVNNjNBQnQ5bk01Z3dldE5w?= =?utf-8?B?Y1FteFBiTmExcEJIbGJ3L2ZJS0RxK25QUkJCOTBMSFJISGlnTVVIcEZWbDNj?= =?utf-8?B?WFZ0U21Tb0FaSjBCcDJ4L09NcGtiYWJsQ2prZ2RnU0IrWGllVStvWk9jNjM3?= =?utf-8?B?WXhGNzBucVBkTTI1UkFJS3BmQlFaVVAwNWJYY2gyL1JGZHJqUjNpMTdQWUZV?= =?utf-8?B?NU9JTm8zZHJMbmhVOWw4NkVRY2sxb0xyRWNuVzdGSE1ERm1ETklBdkxTRTBU?= =?utf-8?B?b2lxSGVlUGxlSytVNVJiblZuY0hYelcrdmR0bllSc25DZHFGdVZWYkM4QkNU?= =?utf-8?B?WTkrTDArMVlkVlNlQU82M2dmOTJYU1pnMzAvNFhRN2YwNFFEcGxlcHhaNysz?= =?utf-8?B?NFUyOG5WVFRvd1hzSm1NT09rVDZ5WWF3dDVVRFRjVERGbTlXK1F6SjZCYS9o?= =?utf-8?B?RUdwUDFDUmwrN3RWczZudXFiZmhlcEREajZJY0l3c1YvZ3ZHVUZVUVhrbC9O?= =?utf-8?B?SnB2SWI0cjdLWk4zRzZ1b24zdyttV3dMcUxaek80Wlg0Qy9lUmxNcTV5ZjVj?= =?utf-8?B?cHE0NFpET0dyem1sNllJeVFGRkpteWdGSGQzZUs2SGNLemI0clBwc0lyTTNj?= =?utf-8?B?ZCsyQS9SWGd2R3l1NGNJSUpyRDFXQnBTRGl6UUFNRFMvdVAwSUNvc21UMW05?= =?utf-8?B?Y3RubVhNelFUY25xVUVMNmY1YVBwcFNIeEpsNC8ya0FRaDVSLzRhbDNsb2ZQ?= =?utf-8?Q?rYUfXLifMGxFTkArK1xUcexruKLtyay+vY393ti?= x-ms-exchange-transport-forked: True 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: 1b2fc386-204c-4da8-dfb9-08d95e3c0c58 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Aug 2021 09:23:44.5906 (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: GZwJzBYMDl+TpOLtMug1+7xLuuTgQ+Y8qwhl5e2IToJyRaQiZNTpFe3F6GVkT1h1pwkH8iiK6J8P5u9n0oV7hw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR11MB5745 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 01/10] vdpa/sfc: introduce Xilinx vDPA driver 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" SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBGcmlk YXksIEF1Z3VzdCAxMywgMjAyMSA0OjM5IFBNDQo+IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhp YUBpbnRlbC5jb20+OyBWaWpheSBTcml2YXN0YXZhDQo+IDx2aWpheS5zcml2YXN0YXZhQHhpbGlu eC5jb20+OyBkZXZAZHBkay5vcmcNCj4gQ2M6IG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tOyBW aWpheSBLdW1hciBTcml2YXN0YXZhIDx2c3JpdmFzdEB4aWxpbnguY29tPg0KPiBTdWJqZWN0OiBS ZTogW1BBVENIIDAxLzEwXSB2ZHBhL3NmYzogaW50cm9kdWNlIFhpbGlueCB2RFBBIGRyaXZlcg0K PiANCj4gSGkgQ2hlbmJvLA0KPiANCj4gbWFueSB0aGFua3MgZm9yIHJldmlldy4gU2VlIGZldyBx dWVzdGlvbnMvbm90ZXMgYmVsb3cuDQo+IA0KPiBPbiA4LzExLzIxIDU6MjYgQU0sIFhpYSwgQ2hl bmJvIHdyb3RlOg0KPiA+IEhpIFZpamF5LA0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4+IEZyb206IFZpamF5IFNyaXZhc3RhdmEgPHZpamF5LnNyaXZhc3RhdmFAeGls aW54LmNvbT4NCj4gPj4gU2VudDogV2VkbmVzZGF5LCBKdWx5IDcsIDIwMjEgMTI6NDQgQU0NCj4g Pj4gVG86IGRldkBkcGRrLm9yZw0KPiA+PiBDYzogbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207 IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47DQo+ID4+IGFuZHJldy5yeWJjaGVu a29Ab2t0ZXRsYWJzLnJ1OyBWaWpheSBLdW1hciBTcml2YXN0YXZhIDx2c3JpdmFzdEB4aWxpbngu Y29tPg0KPiA+PiBTdWJqZWN0OiBbUEFUQ0ggMDEvMTBdIHZkcGEvc2ZjOiBpbnRyb2R1Y2UgWGls aW54IHZEUEEgZHJpdmVyDQo+ID4+DQo+ID4+IEZyb206IFZpamF5IEt1bWFyIFNyaXZhc3RhdmEg PHZzcml2YXN0QHhpbGlueC5jb20+DQo+ID4+DQo+ID4+IEFkZCBuZXcgdkRQQSBQTUQgdG8gc3Vw cG9ydCB2RFBBIG9wZXJhdGlvbiBieSBYaWxpbnggZGV2aWNlcy4NCj4gPg0KPiA+IHZEUEEgb3Bl cmF0aW9ucyBvZiBYaWxpbnggZGV2aWNlcw0KPiA+DQo+ID4+IFRoaXMgcGF0Y2ggaW1wbGVtZW50 cyBwcm9iZSBhbmQgcmVtb3ZlIGZ1bmN0aW9ucy4NCj4gPj4NCj4gPj4gU2lnbmVkLW9mZi1ieTog VmlqYXkgS3VtYXIgU3JpdmFzdGF2YSA8dnNyaXZhc3RAeGlsaW54LmNvbT4NCj4gDQo+IFtzbmlw XQ0KPiANCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGEuYyBiL2Ry aXZlcnMvdmRwYS9zZmMvc2ZjX3ZkcGEuYw0KPiA+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ PiBpbmRleCAwMDAwMDAwLi5kOGZhYWNhDQo+ID4+IC0tLSAvZGV2L251bGwNCj4gPj4gKysrIGIv ZHJpdmVycy92ZHBhL3NmYy9zZmNfdmRwYS5jDQo+ID4+IEBAIC0wLDAgKzEsMjg2IEBADQo+ID4+ ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+ID4+ICsgKg0KPiA+ PiArICogQ29weXJpZ2h0KGMpIDIwMjAtMjAyMSBYaWxpbngsIEluYy4NCj4gPj4gKyAqLw0KPiA+ PiArDQo+ID4+ICsjaW5jbHVkZSA8c3RkYm9vbC5oPg0KPiA+PiArI2luY2x1ZGUgPHN0ZGludC5o Pg0KPiA+PiArI2luY2x1ZGUgPHN5cy9xdWV1ZS5oPg0KPiA+PiArDQo+ID4+ICsjaW5jbHVkZSA8 cnRlX2NvbW1vbi5oPg0KPiA+PiArI2luY2x1ZGUgPHJ0ZV9lcnJuby5oPg0KPiA+PiArI2luY2x1 ZGUgPHJ0ZV9zdHJpbmdfZm5zLmg+DQo+ID4+ICsjaW5jbHVkZSA8cnRlX3ZmaW8uaD4NCj4gPj4g KyNpbmNsdWRlIDxydGVfdmhvc3QuaD4NCj4gPj4gKw0KPiA+PiArI2luY2x1ZGUgImVmeC5oIg0K PiA+PiArI2luY2x1ZGUgInNmY19lZnguaCINCj4gPj4gKyNpbmNsdWRlICJzZmNfdmRwYS5oIg0K PiA+PiArDQo+ID4+ICtUQUlMUV9IRUFEKHNmY192ZHBhX2FkYXB0ZXJfbGlzdF9oZWFkLCBzZmNf dmRwYV9hZGFwdGVyKTsNCj4gPj4gK3N0YXRpYyBzdHJ1Y3Qgc2ZjX3ZkcGFfYWRhcHRlcl9saXN0 X2hlYWQgc2ZjX3ZkcGFfYWRhcHRlcl9saXN0ID0NCj4gPj4gKwlUQUlMUV9IRUFEX0lOSVRJQUxJ WkVSKHNmY192ZHBhX2FkYXB0ZXJfbGlzdCk7DQo+ID4+ICsNCj4gPj4gK3N0YXRpYyBwdGhyZWFk X211dGV4X3Qgc2ZjX3ZkcGFfYWRhcHRlcl9saXN0X2xvY2sgPQ0KPiBQVEhSRUFEX01VVEVYX0lO SVRJQUxJWkVSOw0KPiA+PiArDQo+ID4+ICtzdHJ1Y3Qgc2ZjX3ZkcGFfYWRhcHRlciAqDQo+ID4+ ICtzZmNfdmRwYV9nZXRfYWRhcHRlcl9ieV9kZXYoc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwZGV2 KQ0KPiA+PiArew0KPiA+PiArCWJvb2wgZm91bmQgPSBmYWxzZTsNCj4gPj4gKwlzdHJ1Y3Qgc2Zj X3ZkcGFfYWRhcHRlciAqc3ZhOw0KPiA+PiArDQo+ID4+ICsJcHRocmVhZF9tdXRleF9sb2NrKCZz ZmNfdmRwYV9hZGFwdGVyX2xpc3RfbG9jayk7DQo+ID4+ICsNCj4gPj4gKwlUQUlMUV9GT1JFQUNI KHN2YSwgJnNmY192ZHBhX2FkYXB0ZXJfbGlzdCwgbmV4dCkgew0KPiA+PiArCQlpZiAocGRldiA9 PSBzdmEtPnBkZXYpIHsNCj4gPj4gKwkJCWZvdW5kID0gdHJ1ZTsNCj4gPj4gKwkJCWJyZWFrOw0K PiA+PiArCQl9DQo+ID4+ICsJfQ0KPiA+PiArDQo+ID4+ICsJcHRocmVhZF9tdXRleF91bmxvY2so JnNmY192ZHBhX2FkYXB0ZXJfbGlzdF9sb2NrKTsNCj4gPj4gKw0KPiA+PiArCXJldHVybiBmb3Vu ZCA/IHN2YSA6IE5VTEw7DQo+ID4+ICt9DQo+ID4+ICsNCj4gPj4gK3N0YXRpYyBpbnQNCj4gPj4g K3NmY192ZHBhX3ZmaW9fc2V0dXAoc3RydWN0IHNmY192ZHBhX2FkYXB0ZXIgKnN2YSkNCj4gPj4g K3sNCj4gPj4gKwlzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKmRldiA9IHN2YS0+cGRldjsNCj4gPj4g KwljaGFyIGRldl9uYW1lW1JURV9ERVZfTkFNRV9NQVhfTEVOXSA9IHswfTsNCj4gPj4gKwlpbnQg cmM7DQo+ID4+ICsNCj4gPj4gKwlpZiAoZGV2ID09IE5VTEwpDQo+ID4+ICsJCWdvdG8gZmFpbF9p bnZhbDsNCj4gPj4gKw0KPiA+PiArCXJ0ZV9wY2lfZGV2aWNlX25hbWUoJmRldi0+YWRkciwgZGV2 X25hbWUsIFJURV9ERVZfTkFNRV9NQVhfTEVOKTsNCj4gPj4gKw0KPiA+PiArCXN2YS0+dmZpb19j b250YWluZXJfZmQgPSBydGVfdmZpb19jb250YWluZXJfY3JlYXRlKCk7DQo+ID4+ICsJaWYgKHN2 YS0+dmZpb19jb250YWluZXJfZmQgPCAwKQl7DQo+ID4+ICsJCXNmY192ZHBhX2VycihzdmEsICJm YWlsZWQgdG8gY3JlYXRlIFZGSU8gY29udGFpbmVyIik7DQo+ID4NCj4gPiBmYWlsZWQgLT4gRmFp bGVkDQo+ID4NCj4gPiBJIHN1Z2dlc3QgdG8gdXNlIGNhcGl0YWwgbGV0dGVyIGZvciBmaXJzdCBs ZXR0ZXIgb2YgZXZlcnkgbG9nIGluZm8uDQo+ID4gUGxlYXNlIGNoZWNrIG90aGVyIGxvZ3MuDQo+ IA0KPiBXaHk/IEFzIGZhciBhcyBJIGtub3cgaXQgaXMgbm90IGRlZmluZWQuIEl0IHdvdWxkIG1h a2Ugc2Vuc2UgaWYNCj4gaXQgaXMgcmVhbGx5IGEgc3RhcnQgb2YgdGhlIGxvZyBtZXNzYWdlLCBz ZmNfdmRwYV8qIGxvZw0KPiBtZXNzYWdlcyBzdGFydCBmcm9tIHByZWZpeCAoc2VlIG1hY3JvcyBk ZWZpbml0aW9uKS4NCg0KRm9yZ290IHRoZSBwcmVmaXggaGVyZSDimLkuIElnbm9yZSB0aGUgY29t bWVudC4NCg0KPiANCj4gPg0KPiA+PiArCQlnb3RvIGZhaWxfY29udGFpbmVyX2NyZWF0ZTsNCj4g Pj4gKwl9DQo+ID4+ICsNCj4gPj4gKwlyYyA9IHJ0ZV92ZmlvX2dldF9ncm91cF9udW0ocnRlX3Bj aV9nZXRfc3lzZnNfcGF0aCgpLCBkZXZfbmFtZSwNCj4gPj4gKwkJCQkgICAgJnN2YS0+aW9tbXVf Z3JvdXBfbnVtKTsNCj4gPj4gKwlpZiAocmMgPD0gMCkgew0KPiA+PiArCQlzZmNfdmRwYV9lcnIo c3ZhLCAiZmFpbGVkIHRvIGdldCBJT01NVSBncm91cCBmb3IgJXMgOiAlcyIsDQo+ID4+ICsJCQkg ICAgIGRldl9uYW1lLCBydGVfc3RyZXJyb3IoLXJjKSk7DQo+ID4+ICsJCWdvdG8gZmFpbF9nZXRf Z3JvdXBfbnVtOw0KPiA+PiArCX0NCj4gPj4gKw0KPiA+PiArCXN2YS0+dmZpb19ncm91cF9mZCA9 DQo+ID4+ICsJCXJ0ZV92ZmlvX2NvbnRhaW5lcl9ncm91cF9iaW5kKHN2YS0+dmZpb19jb250YWlu ZXJfZmQsDQo+ID4+ICsJCQkJCSAgICAgIHN2YS0+aW9tbXVfZ3JvdXBfbnVtKTsNCj4gPj4gKwlp ZiAoc3ZhLT52ZmlvX2dyb3VwX2ZkIDwgMCkgew0KPiA+PiArCQlzZmNfdmRwYV9lcnIoc3ZhLA0K PiA+PiArCQkJICAgICAiZmFpbGVkIHRvIGJpbmQgSU9NTVUgZ3JvdXAgJWQgdG8gY29udGFpbmVy ICVkIiwNCj4gPj4gKwkJCSAgICAgc3ZhLT5pb21tdV9ncm91cF9udW0sIHN2YS0+dmZpb19jb250 YWluZXJfZmQpOw0KPiA+PiArCQlnb3RvIGZhaWxfZ3JvdXBfYmluZDsNCj4gPj4gKwl9DQo+ID4+ ICsNCj4gPj4gKwlpZiAocnRlX3BjaV9tYXBfZGV2aWNlKGRldikgIT0gMCkgew0KPiA+PiArCQlz ZmNfdmRwYV9lcnIoc3ZhLCAiZmFpbGVkIHRvIG1hcCBQQ0kgZGV2aWNlICVzIDogJXMiLA0KPiA+ PiArCQkJICAgICBkZXZfbmFtZSwgcnRlX3N0cmVycm9yKHJ0ZV9lcnJubykpOw0KPiA+PiArCQln b3RvIGZhaWxfcGNpX21hcF9kZXZpY2U7DQo+ID4+ICsJfQ0KPiA+PiArDQo+ID4+ICsJc3ZhLT52 ZmlvX2Rldl9mZCA9IGRldi0+aW50cl9oYW5kbGUudmZpb19kZXZfZmQ7DQo+ID4+ICsNCj4gPj4g KwlyZXR1cm4gMDsNCj4gPj4gKw0KPiA+PiArZmFpbF9wY2lfbWFwX2RldmljZToNCj4gPj4gKwlp ZiAocnRlX3ZmaW9fY29udGFpbmVyX2dyb3VwX3VuYmluZChzdmEtPnZmaW9fY29udGFpbmVyX2Zk LA0KPiA+PiArCQkJCQlzdmEtPmlvbW11X2dyb3VwX251bSkgIT0gMCkgew0KPiA+PiArCQlzZmNf dmRwYV9lcnIoc3ZhLA0KPiA+PiArCQkJICAgICAiZmFpbGVkIHRvIHVuYmluZCBJT01NVSBncm91 cCAlZCBmcm9tIGNvbnRhaW5lciAlZCIsDQo+ID4+ICsJCQkgICAgIHN2YS0+aW9tbXVfZ3JvdXBf bnVtLCBzdmEtPnZmaW9fY29udGFpbmVyX2ZkKTsNCj4gPj4gKwl9DQo+ID4+ICsNCj4gPj4gK2Zh aWxfZ3JvdXBfYmluZDoNCj4gPj4gK2ZhaWxfZ2V0X2dyb3VwX251bToNCj4gPg0KPiA+IFlvdSBj YW4gY29tYmluZWQgdGhlc2UgdHdvIHRhZ3MgaW50byBvbmUgd2l0aCB0YWcgbmFtZSBjaGFuZ2Vk Lg0KPiANCj4gSSB0aGluayB0aGUgb3JpZ2luYWwgY29kZSBpcyBiZXR0ZXIuIFRoZXJlIGlzIG5v IHBvaW50IHRvDQo+IGNvbWJpbmUuIFRoaXMgd2F5IGNvZGUgaXMgc2FmZXIgYWdhaW5zdCBmdXR1 cmUgY2hhbmdlcw0KPiBiZXR3ZWVuIHRoZXNlIGdvdG8ncyB3aGljaCBjb3VsZCByZXF1aXJlIGNs ZWFudXAuDQoNClBlcnNvbmFsbHkgSSBkb24ndCB0aGluayBpdCdzIGEgcHJvYmxlbSBmb3IgZGV2 ZWxvcGVyIGlmIHRoZSB0YWcgbmFtZSBpcw0Kd2VsbCBjaG9zZW4uIEkgd291bGQgcHJlZmVyIGEg c2luZ2xlIHRhZyBidXQgaGF2ZSBubyBzdHJvbmcgb3BpbmlvbiBzaW5jZQ0KdGhlcmUncyBubyBw b2xpY3kgb2YgaXQuDQoNCj4gDQo+IFtzbmlwXQ0KPiANCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmRwYS9zZmMvc2ZjX3ZkcGFfbG9nLmgNCj4gYi9kcml2ZXJzL3ZkcGEvc2ZjL3NmY192ZHBh X2xvZy5oDQo+ID4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4+IGluZGV4IDAwMDAwMDAuLjBh M2Q2YWQNCj4gPj4gLS0tIC9kZXYvbnVsbA0KPiA+PiArKysgYi9kcml2ZXJzL3ZkcGEvc2ZjL3Nm Y192ZHBhX2xvZy5oDQo+ID4+IEBAIC0wLDAgKzEsNzcgQEANCj4gPj4gKy8qIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPj4gKyAqDQo+ID4+ICsgKiBDb3B5cmlnaHQo YykgMjAyMC0yMDIxIFhpbGlueCwgSW5jLg0KPiA+PiArICovDQo+ID4+ICsNCj4gPj4gKyNpZm5k ZWYgX1NGQ19WRFBBX0xPR19IXw0KPiA+PiArI2RlZmluZSBfU0ZDX1ZEUEFfTE9HX0hfDQo+ID4+ ICsNCj4gPj4gKy8qKiBHZW5lcmljIGRyaXZlciBsb2cgdHlwZSAqLw0KPiA+PiArZXh0ZXJuIGlu dCBzZmNfdmRwYV9sb2d0eXBlX2RyaXZlcjsNCj4gPj4gKw0KPiA+PiArLyoqIENvbW1vbiBsb2cg dHlwZSBuYW1lIHByZWZpeCAqLw0KPiA+PiArI2RlZmluZSBTRkNfVkRQQV9MT0dUWVBFX1BSRUZJ WAkicG1kLnZkcGEuc2ZjLiINCj4gPj4gKw0KPiA+PiArLyoqIExvZyBQTUQgZ2VuZXJpYyBtZXNz YWdlLCBhZGQgYSBwcmVmaXggYW5kIGEgbGluZSBicmVhayAqLw0KPiA+PiArI2RlZmluZSBTRkNf VkRQQV9HRU5FUklDX0xPRyhsZXZlbCwgLi4uKSBcDQo+ID4+ICsJcnRlX2xvZyhSVEVfTE9HXyAj IyBsZXZlbCwgc2ZjX3ZkcGFfbG9ndHlwZV9kcml2ZXIsCQlcDQo+ID4+ICsJCVJURV9GTVQoIlBN RDogIiBSVEVfRk1UX0hFQUQoX19WQV9BUkdTX18gLCkgIlxuIiwJXA0KPiA+PiArCQkJUlRFX0ZN VF9UQUlMKF9fVkFfQVJHU19fICwpKSkNCj4gPj4gKw0KPiA+PiArLyoqIE5hbWUgcHJlZml4IGZv ciB0aGUgcGVyLWRldmljZSBsb2cgdHlwZSB1c2VkIHRvIHJlcG9ydCBiYXNpYw0KPiBpbmZvcm1h dGlvbg0KPiA+PiAqLw0KPiA+PiArI2RlZmluZSBTRkNfVkRQQV9MT0dUWVBFX01BSU5fU1RSCVNG Q19WRFBBX0xPR1RZUEVfUFJFRklYICJtYWluIg0KPiA+PiArDQo+ID4+ICsjZGVmaW5lIFNGQ19W RFBBX0xPR19QUkVGSVhfTUFYCTMyDQo+ID4+ICsNCj4gPj4gKy8qIExvZyBQTUQgbWVzc2FnZSwg YXV0b21hdGljYWxseSBhZGQgcHJlZml4IGFuZCBcbiAqLw0KPiA+PiArI2RlZmluZSBTRkNfVkRQ QV9MT0coc3ZhLCBsZXZlbCwgdHlwZSwgLi4uKSBcDQo+ID4+ICsJcnRlX2xvZyhsZXZlbCwgdHlw ZSwJCQkJCVwNCj4gPj4gKwkJUlRFX0ZNVCgiJXMiIFJURV9GTVRfSEVBRChfX1ZBX0FSR1NfXyAs KSAiXG4iLAlcDQo+ID4+ICsJCQlzdmEtPmxvZ19wcmVmaXgsCQkJXA0KPiA+PiArCQkJUlRFX0ZN VF9UQUlMKF9fVkFfQVJHU19fICwpKSkNCj4gPj4gKw0KPiA+PiArI2RlZmluZSBzZmNfdmRwYV9l cnIoc3ZhLCAuLi4pIFwNCj4gPj4gKwlkbyB7CQkJCQkJCVwNCj4gPj4gKwkJY29uc3Qgc3RydWN0 IHNmY192ZHBhX2FkYXB0ZXIgKl9zdmEgPSAoc3ZhKTsJXA0KPiA+PiArCQkJCQkJCQlcDQo+ID4+ ICsJCVNGQ19WRFBBX0xPRyhfc3ZhLCBSVEVfTE9HX0VSUiwJCQlcDQo+ID4+ICsJCQlfc3ZhLT5s b2d0eXBlX21haW4sIF9fVkFfQVJHU19fKTsJXA0KPiA+PiArCX0gd2hpbGUgKDApDQo+ID4+ICsN Cj4gPj4gKyNkZWZpbmUgc2ZjX3ZkcGFfd2FybihzdmEsIC4uLikgXA0KPiA+PiArCWRvIHsJCQkJ CQkJXA0KPiA+PiArCQljb25zdCBzdHJ1Y3Qgc2ZjX3ZkcGFfYWRhcHRlciAqX3N2YSA9IChzdmEp OwlcDQo+ID4+ICsJCQkJCQkJCVwNCj4gPj4gKwkJU0ZDX1ZEUEFfTE9HKF9zdmEsIFJURV9MT0df V0FSTklORywJCVwNCj4gPj4gKwkJCV9zdmEtPmxvZ3R5cGVfbWFpbiwgX19WQV9BUkdTX18pOwlc DQo+ID4+ICsJfSB3aGlsZSAoMCkNCj4gPj4gKw0KPiA+PiArI2RlZmluZSBzZmNfdmRwYV9ub3Rp Y2Uoc3ZhLCAuLi4pIFwNCj4gPj4gKwlkbyB7CQkJCQkJCVwNCj4gPj4gKwkJY29uc3Qgc3RydWN0 IHNmY192ZHBhX2FkYXB0ZXIgKl9zdmEgPSAoc3ZhKTsJXA0KPiA+PiArCQkJCQkJCQlcDQo+ID4+ ICsJCVNGQ19WRFBBX0xPRyhfc3ZhLCBSVEVfTE9HX05PVElDRSwJCVwNCj4gPj4gKwkJCV9zdmEt PmxvZ3R5cGVfbWFpbiwgX19WQV9BUkdTX18pOwlcDQo+ID4+ICsJfSB3aGlsZSAoMCkNCj4gPj4g Kw0KPiA+PiArI2RlZmluZSBzZmNfdmRwYV9pbmZvKHN2YSwgLi4uKSBcDQo+ID4+ICsJZG8gewkJ CQkJCQlcDQo+ID4+ICsJCWNvbnN0IHN0cnVjdCBzZmNfdmRwYV9hZGFwdGVyICpfc3ZhID0gKHN2 YSk7CVwNCj4gPj4gKwkJCQkJCQkJXA0KPiA+PiArCQlTRkNfVkRQQV9MT0coX3N2YSwgUlRFX0xP R19JTkZPLAkJXA0KPiA+PiArCQkJX3N2YS0+bG9ndHlwZV9tYWluLCBfX1ZBX0FSR1NfXyk7CVwN Cj4gPj4gKwl9IHdoaWxlICgwKQ0KPiA+PiArDQo+ID4NCj4gPiBGb3IgYWJvdmUgbG9nLCBjYW4n dCB3ZSBtYWtlIGxvZyBsZXZlbCBhIHBhcmFtZXRlcj8NCj4gPiBUaGVuIGFib3ZlIGZvdXIgZGVm aW5lIGNhbiBiZSBvbmUuDQo+IA0KPiBZZXMsIGl0IGRlZmluaXRlbHkgY291bGQsIGJ1dCBpdCBp cyBtb3JlIGNvbnZlbmllbnQgdG8gaGF2ZQ0KPiBkZWRpY2F0ZWQgbWFjcm9zIGZvciBkaWZmZXJl bnQgbG9nIGxldmVscyBhbmQgY29ycmVzcG9uZGluZw0KPiBsaW5lcyBzaG9ydGVyIHRoaXMgd2F5 Lg0KDQpJdCBjb3VsZCBzYXZlIHNvbWUgY2hhcnMgaW4gb25lIGxvZyBsaW5lIGJ1dCBhbHNvIGlu dHJvZHVjZSBtb3JlDQpMT0MuIEFuZCB5b3UgbWF5IGhhdmUgdG8gY2hhbmdlIGV2ZXJ5IG1hY3Jv IGlmIHRoaW5ncyBsaWtlIFNGQ19WRFBBX0xPRw0Kb3IgbmFtaW5nIG9mIHNmY192ZHBhX2FkYXB0 ZXIgY2hhbmdlLiBJIHByZWZlciBjb21iaW5pbmcgYnV0IHNpbmNlDQp0aGUgZHVwbGljYXRpb24g aXMgYWNjZXB0YWJsZSwgSSdsbCBsZXQgeW91IGJhbGFuY2UgdGhlIHByb3MvY29ucy4NCg0KVGhh bmtzLA0KQ2hlbmJvDQoNCj4gDQo+IEFuZHJldy4NCg==