From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 4FA1DA09FF;
	Wed, 30 Dec 2020 04:05:52 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 355F42C55;
	Wed, 30 Dec 2020 04:05:51 +0100 (CET)
Received: from mga12.intel.com (mga12.intel.com [192.55.52.136])
 by dpdk.org (Postfix) with ESMTP id 0EAEE2B8C
 for <dev@dpdk.org>; Wed, 30 Dec 2020 04:05:47 +0100 (CET)
IronPort-SDR: tfH5ELaeHlr3vfv92MWEv0OzERBTxuYSNm9RwwFaN/SZIZZO8gYws6qNIJ8+vHKH+Ml3rMOuUF
 CJW0IZyJVVYA==
X-IronPort-AV: E=McAfee;i="6000,8403,9849"; a="155763198"
X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="155763198"
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 29 Dec 2020 19:05:46 -0800
IronPort-SDR: 7QWTTv0BJPftuRqLdfujNCMakjVmXfgAexNxBdrR2fpipVhST1CmtWcr5g/IdpLrmu1jscFgzb
 toP4MD1MOXxg==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.78,460,1599548400"; d="scan'208";a="348050472"
Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84])
 by orsmga006.jf.intel.com with ESMTP; 29 Dec 2020 19:05:46 -0800
Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.1713.5; Tue, 29 Dec 2020 19:05:45 -0800
Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by
 fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5
 via Frontend Transport; Tue, 29 Dec 2020 19:05:45 -0800
Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.43) 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.1713.5; Tue, 29 Dec 2020 19:05:44 -0800
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mMHmWE5MvnQtMqJOeJ1m6fP1ruOMmZ5w7BdCS9Nak6spBBmbLO4wpCfjF4zEdrnLfTMre31o+Ti7pUQIvomh7Wlm5qHeuQN7MCn1uWlsVGBt+XJO0q0bZwc6SBmORt+Cw2XRvNo1fcJaHyG6iGiuRkvf7YXyd03PlFj7FN/CV1mz7tv79op0THyXzJZPivxRGHxCA90A6O1EBH4sZWxO20Ri+WLc8xXEn0qTKQeSGWaL9IjUI5fZIOB8gdi3MhMnIbtHMmz7GzQJPDDnnauvJED2m5EIZdW96r8YJAJuQF99fyzyxYbpcDMUgUmtbDEhUxVCGLGzq0/4LSg2n2kKpg==
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=8EagRyC8K+Aj8VvnDMmpnVhpfF4fHtlZHwupRzSI/lY=;
 b=GA2+FWgAHE2G8ncXZqfBmNLPocEyXt7TLC78JNIEnCPLcEoJVjj3SmfF5hVrkn+bvpVGgVRTQoxb4N2z3+6Vl5mHI67tUtMsnbaQK/h9TlmOVHCwmANdSd1zn39lito2T4NOLr593gvhww6SVuzsE+Mr7pythWf9Ga7P4Ii/HmjarcmevMa2DzkziuHWnRerm84plb+6ZjcJUYjRdwUyZQ2GcSykI/s4ZF2GVxAVBYxFV5/WoYpkZ+LVI4g9G5Xbpz9p17M3CDUcVGL646Nec8k5MQkqTyoal3bPMdGif5CYKHxs+OLtdyJs+mxURd0FwCO7qlndlnGcXdyLvGk8hQ==
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=8EagRyC8K+Aj8VvnDMmpnVhpfF4fHtlZHwupRzSI/lY=;
 b=MrCHOwiPsF20N+P4ZAsaVsJgWj/pFDY9w1jpLjNTcGOcZo5V/BnbJ25MmViaP9Anqk/BHmFbkERnn3mFF7ycPWyh9VZAIJUd0YfhPYYFNKUGuf0mXoSkt31LLOKaCUY1vZZkKAzk0ctdIhkGtullc0mG2aODvpzq3MN3cR8bHdQ=
Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22)
 by MN2PR11MB3744.namprd11.prod.outlook.com (2603:10b6:208:f5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.28; Wed, 30 Dec
 2020 03:05:43 +0000
Received: from MN2PR11MB4063.namprd11.prod.outlook.com
 ([fe80::74f2:ba7f:cb22:5272]) by MN2PR11MB4063.namprd11.prod.outlook.com
 ([fe80::74f2:ba7f:cb22:5272%7]) with mapi id 15.20.3700.031; Wed, 30 Dec 2020
 03:05:42 +0000
From: "Xia, Chenbo" <chenbo.xia@intel.com>
To: Maxime Coquelin <maxime.coquelin@redhat.com>, "dev@dpdk.org"
 <dev@dpdk.org>, "olivier.matz@6wind.com" <olivier.matz@6wind.com>,
 "amorenoz@redhat.com" <amorenoz@redhat.com>, "david.marchand@redhat.com"
 <david.marchand@redhat.com>
Thread-Topic: [PATCH 06/40] net/virtio: move PCI specific dev init to PCI
 ethdev init
Thread-Index: AQHW1xU5AlW25kNS6kmK5kauSGtbHKoPAxGQ
Date: Wed, 30 Dec 2020 03:05:41 +0000
Message-ID: <MN2PR11MB4063E81A0ED48A3C8D8BA0329CD70@MN2PR11MB4063.namprd11.prod.outlook.com>
References: <20201220211405.313012-1-maxime.coquelin@redhat.com>
 <20201220211405.313012-7-maxime.coquelin@redhat.com>
In-Reply-To: <20201220211405.313012-7-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.198.147.218]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 29dad451-b7c2-4dc7-b3fd-08d8ac6fcb03
x-ms-traffictypediagnostic: MN2PR11MB3744:
x-microsoft-antispam-prvs: <MN2PR11MB3744C3B630F5EE3B4EA5A49C9CD70@MN2PR11MB3744.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: aUc0Ib3rzYwM0nbiwBLPBpX+4k9lKYL61zT+f41NuHIxHvEcbEczSfNOuVqtesVGAwuH50cbv1dMq8K4AMZXAWLD4Abo4z1NcxJPLRE7uBs3bHHeeK67n1HaDMNBQgCnSaOX4kKMUT+nytzt8TdvSTEGEZ2UKdd1lSITvepseJFKt7AtTvwdKyVT3N0bqvg/X707JutrfX/oXPoSvYCEmGsnbQgCZiECW3B4/Fa5lnSzeXJYm0ummbtVkBnZXnTgD6tdSgI9dwuVjD2KeC7fFUMzhKc7CsK/jZeq5SLtiFsaV1CkBZpFhhiFr7vUkZho98VcFkEUt4ZeeWQSF3znrxe6ABwnDbtSJdd7HgAI8H0GGxbATC8K6h1pqsoSox2SSAajIg9KDFLLSWBz3HAF0w==
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)(376002)(366004)(39860400002)(136003)(396003)(346002)(52536014)(6506007)(9686003)(71200400001)(478600001)(64756008)(33656002)(66946007)(86362001)(66446008)(186003)(53546011)(26005)(55016002)(110136005)(76116006)(316002)(66476007)(5660300002)(2906002)(66556008)(8676002)(8936002)(83380400001)(7696005);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata: =?utf-8?B?clFTd3B1dFNid2xFZFhNU0xhSktudysrcTRVaXN0YWpMZTlyVnFadnVQMkc1?=
 =?utf-8?B?WjFhS3pYaGNjUHkwZytaajdQMzhGUkpJbEN6M0ZyWkdpclE0cmVXbENCa0xn?=
 =?utf-8?B?NENua2hLSUtWU0pIdUFqY1hxOWlNc1A4VStnN3NiRi85d0dTRmZHaFdRWk45?=
 =?utf-8?B?YXg5Z2pMZHh0a3psaWxUc25oSkh5ejFZZlpSS1VzV1QzckdWZHJhRTBkd3Jm?=
 =?utf-8?B?L0lublJSVjY4c1c5OVpFV1V6UjA3V0dYOGxpMGZCWDArcFhTQ2luVEt1M3Nx?=
 =?utf-8?B?eHRxYkdTdU83a1lpS0xiYWJKbS9TOTBiYjlOMFpIeFVFOXpEQmZTU1hFb0dq?=
 =?utf-8?B?a0l3cG0xQmFSVUp6dXlGUitHWlI3eXJPSXdObXhKZGcveUloWjFCZUNvWEcw?=
 =?utf-8?B?bDlLQUY4Z1hsc2hHUGI0NlRGMTVENy83a0xjWm9HOHNJQzZ2enR1cWFwdWRL?=
 =?utf-8?B?Zkk0cmhzTlNqaXZzRmtZQ2lJR1EwcS9ObG1qNFRkZ2NFSklFTmtsdGtjM1ZI?=
 =?utf-8?B?MmdtNHBMUFhRd0pLMTBGSGloVU9qSFZDWmZ6OFhoL2ViMHhrbmJXM0c3VVQz?=
 =?utf-8?B?QVJnQ01xaUhwWW9aa2RvNGYrY0FRLzdtb3FzaURiK1A0ZzVlTXROL0lRT1hm?=
 =?utf-8?B?aVV5T3BGUjRjdkEwYzRIempDaUNTcDRVWnlSeGUxNWVScmZTZ0JuQWVyN092?=
 =?utf-8?B?UGE2NG9ZRUJnSlNmM1hBMTZNaU5hTU1hblQ3MXE2V05kdFQvVFdFUXB3enY4?=
 =?utf-8?B?TllpdktsOUxZK1FLN2VZWXBEdXEzMmtCeVEyUU92dXV0TEt2aEdEcGVscXk3?=
 =?utf-8?B?c1JPYnR2Zlh4WUZPTzZwKzZTZmtYYngyTzJOQWZsS1JQbFNFUG82cytwdGhU?=
 =?utf-8?B?aUd3SWdPSi83L1Q0OEx6U0NmNjEyZjU1cGdnQ2JyelVod3JHY0h6MnFDQm4z?=
 =?utf-8?B?cUZVVG50NjBNSFZaRFd6ZFVyQUxyc2I0Ky8wKzhHVEZ0cDRUSXdqemNkekZR?=
 =?utf-8?B?alcybEdhY1F4NUVlNFl2QmJPaW0wUWlPTzYrRUQyb0pHOTN5Z29yM3VxUThr?=
 =?utf-8?B?S2xmZWR4bmVoTW1WdUkyZENUVzFYczMwcUFPUEFuTTdBYmxTeS9iTDFUa2c0?=
 =?utf-8?B?TVhMKzN2dFVoUU5ITCtkYVJkM1BaTmNsbzRrTzB5T29QdzZwTHBXd0ZTSFNJ?=
 =?utf-8?B?V05RcnVlb1VlVVNnSFZ1QXRwMkxTS3g3eGtlYm1aN0RMUkRRaTdmNTVyU05w?=
 =?utf-8?B?ZDdkYVZMOUFYZmhDUFMyZENhb04vSmlJYk5ySUtXWEF5WWx3VjFocEJYRTBG?=
 =?utf-8?Q?haBThAHVPFGA0=3D?=
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: 29dad451-b7c2-4dc7-b3fd-08d8ac6fcb03
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Dec 2020 03:05:41.7311 (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: OJ1CtPbugZaJTcT/8Wg7nSoZRGiKipvtg1BfOvf1hFjIGGuWiwni7EYfuFybQ0sw3aBVM8kxeaqLgZXRLuwqbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3744
X-OriginatorOrg: intel.com
Subject: Re: [dpdk-dev] [PATCH 06/40] net/virtio: move PCI specific dev init
 to PCI ethdev init
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBNYXhpbWUgQ29xdWVsaW4gPG1h
eGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPg0KPiBTZW50OiBNb25kYXksIERlY2VtYmVyIDIxLCAy
MDIwIDU6MTQgQU0NCj4gVG86IGRldkBkcGRrLm9yZzsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFA
aW50ZWwuY29tPjsgb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsNCj4gYW1vcmVub3pAcmVkaGF0LmNv
bTsgZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbQ0KPiBDYzogTWF4aW1lIENvcXVlbGluIDxtYXhp
bWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogW1BBVENIIDA2LzQwXSBuZXQvdmly
dGlvOiBtb3ZlIFBDSSBzcGVjaWZpYyBkZXYgaW5pdCB0byBQQ0kgZXRoZGV2DQo+IGluaXQNCj4g
DQo+IFRoaXMgcGF0Y2ggbW92ZXMgdGhlIFBDSSBzcGVjaWZpYyBpbml0aWFsaXphdGlvbiBmcm9t
DQo+IGV0aF92aXJ0aW9fZGV2X2luaXQoKSB0byBldGhfdmlydGlvX3BjaV9pbml0KCkuDQo+IA0K
PiBTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQu
Y29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmMgICAgIHwg
NjMgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gIGRyaXZlcnMvbmV0L3ZpcnRpby92aXJ0aW9f
cGNpX2V0aGRldi5jIHwgNzEgKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gIDIgZmlsZXMg
Y2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0t
Z2l0IGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19ldGhkZXYuYw0KPiBiL2RyaXZlcnMvbmV0
L3ZpcnRpby92aXJ0aW9fZXRoZGV2LmMNCj4gaW5kZXggY2EyMWEwMTllNS4uNDAzMmE4OTM5NiAx
MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvdmlydGlvL3ZpcnRpb19ldGhkZXYuYw0KPiArKysg
Yi9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX2V0aGRldi5jDQo+IEBAIC0xNjc2LDcgKzE2NzYs
NiBAQCB2aXJ0aW9faW5pdF9kZXZpY2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2LCB1aW50
NjRfdA0KPiByZXFfZmVhdHVyZXMpDQo+ICAJc3RydWN0IHZpcnRpb19odyAqaHcgPSBldGhfZGV2
LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gIAlzdHJ1Y3QgdmlydGlvX25ldF9jb25maWcgKmNvbmZp
ZzsNCj4gIAlzdHJ1Y3QgdmlydGlvX25ldF9jb25maWcgbG9jYWxfY29uZmlnOw0KPiAtCXN0cnVj
dCBydGVfcGNpX2RldmljZSAqcGNpX2RldiA9IE5VTEw7DQo+ICAJaW50IHJldDsNCj4gDQo+ICAJ
LyogUmVzZXQgdGhlIGRldmljZSBhbHRob3VnaCBub3QgbmVjZXNzYXJ5IGF0IHN0YXJ0dXAgKi8N
Cj4gQEAgLTE2OTcsOSArMTY5Niw2IEBAIHZpcnRpb19pbml0X2RldmljZShzdHJ1Y3QgcnRlX2V0
aF9kZXYgKmV0aF9kZXYsIHVpbnQ2NF90DQo+IHJlcV9mZWF0dXJlcykNCj4gDQo+ICAJaHctPndl
YWtfYmFycmllcnMgPSAhdnRwY2lfd2l0aF9mZWF0dXJlKGh3LCBWSVJUSU9fRl9PUkRFUl9QTEFU
Rk9STSk7DQo+IA0KPiAtCWlmIChody0+YnVzX3R5cGUgPT0gVklSVElPX0JVU19QQ0lfTEVHQUNZ
IHx8IGh3LT5idXNfdHlwZSA9PQ0KPiBWSVJUSU9fQlVTX1BDSV9NT0RFUk4pDQo+IC0JCXBjaV9k
ZXYgPSBSVEVfRVRIX0RFVl9UT19QQ0koZXRoX2Rldik7DQo+IC0NCj4gIAkvKiBJZiBob3N0IGRv
ZXMgbm90IHN1cHBvcnQgYm90aCBzdGF0dXMgYW5kIE1TSS1YIHRoZW4gZGlzYWJsZSBMU0MgKi8N
Cj4gIAlpZiAodnRwY2lfd2l0aF9mZWF0dXJlKGh3LCBWSVJUSU9fTkVUX0ZfU1RBVFVTKSAmJg0K
PiAgCSAgICBody0+dXNlX21zaXggIT0gVklSVElPX01TSVhfTk9ORSkNCj4gQEAgLTE4MjgsNDUg
KzE4MjQsOSBAQCB2aXJ0aW9faW5pdF9kZXZpY2Uoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2
LA0KPiB1aW50NjRfdCByZXFfZmVhdHVyZXMpDQo+IA0KPiAgCXZ0cGNpX3JlaW5pdF9jb21wbGV0
ZShodyk7DQo+IA0KPiAtCWlmIChwY2lfZGV2KQ0KPiAtCQlQTURfSU5JVF9MT0coREVCVUcsICJw
b3J0ICVkIHZlbmRvcklEPTB4JXggZGV2aWNlSUQ9MHgleCIsDQo+IC0JCQlldGhfZGV2LT5kYXRh
LT5wb3J0X2lkLCBwY2lfZGV2LT5pZC52ZW5kb3JfaWQsDQo+IC0JCQlwY2lfZGV2LT5pZC5kZXZp
Y2VfaWQpOw0KPiAtDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+IA0KPiAtLyoNCj4gLSAqIFJlbWFw
IHRoZSBQQ0kgZGV2aWNlIGFnYWluIChJTyBwb3J0IG1hcCBmb3IgbGVnYWN5IGRldmljZSBhbmQN
Cj4gLSAqIG1lbW9yeSBtYXAgZm9yIG1vZGVybiBkZXZpY2UpLCBzbyB0aGF0IHRoZSBzZWNvbmRh
cnkgcHJvY2Vzcw0KPiAtICogY291bGQgaGF2ZSB0aGUgUENJIGluaXRpYXRlZCBjb3JyZWN0bHku
DQo+IC0gKi8NCj4gLXN0YXRpYyBpbnQNCj4gLXZpcnRpb19yZW1hcF9wY2koc3RydWN0IHJ0ZV9w
Y2lfZGV2aWNlICpwY2lfZGV2LCBzdHJ1Y3QgdmlydGlvX2h3ICpodykNCj4gLXsNCj4gLQlpZiAo
aHctPmJ1c190eXBlID09IFZJUlRJT19CVVNfUENJX01PREVSTikgew0KPiAtCQkvKg0KPiAtCQkg
KiBXZSBkb24ndCBoYXZlIHRvIHJlLXBhcnNlIHRoZSBQQ0kgY29uZmlnIHNwYWNlLCBzaW5jZQ0K
PiAtCQkgKiBydGVfcGNpX21hcF9kZXZpY2UoKSBtYWtlcyBzdXJlIHRoZSBtYXBwZWQgYWRkcmVz
cw0KPiAtCQkgKiBpbiBzZWNvbmRhcnkgcHJvY2VzcyB3b3VsZCBlcXVhbCB0byB0aGUgb25lIG1h
cHBlZCBpbg0KPiAtCQkgKiB0aGUgcHJpbWFyeSBwcm9jZXNzOiBlcnJvciB3aWxsIGJlIHJldHVy
bmVkIGlmIHRoYXQNCj4gLQkJICogcmVxdWlyZW1lbnQgaXMgbm90IG1ldC4NCj4gLQkJICoNCj4g
LQkJICogVGhhdCBzYWlkLCB3ZSBjb3VsZCBzaW1wbHkgcmV1c2UgYWxsIGNhcCBwb2ludGVycw0K
PiAtCQkgKiAoc3VjaCBhcyBkZXZfY2ZnLCBjb21tb25fY2ZnLCBldGMuKSBwYXJzZWQgZnJvbSB0
aGUNCj4gLQkJICogcHJpbWFyeSBwcm9jZXNzLCB3aGljaCBpcyBzdG9yZWQgaW4gc2hhcmVkIG1l
bW9yeS4NCj4gLQkJICovDQo+IC0JCWlmIChydGVfcGNpX21hcF9kZXZpY2UocGNpX2RldikpIHsN
Cj4gLQkJCVBNRF9JTklUX0xPRyhERUJVRywgImZhaWxlZCB0byBtYXAgcGNpIGRldmljZSEiKTsN
Cj4gLQkJCXJldHVybiAtMTsNCj4gLQkJfQ0KPiAtCX0gZWxzZSBpZiAoaHctPmJ1c190eXBlID09
IFZJUlRJT19CVVNfUENJX0xFR0FDWSkgew0KPiAtCQlpZiAocnRlX3BjaV9pb3BvcnRfbWFwKHBj
aV9kZXYsIDAsIFZUUENJX0lPKGh3KSkgPCAwKQ0KPiAtCQkJcmV0dXJuIC0xOw0KPiAtCX0NCj4g
LQ0KPiAtCXJldHVybiAwOw0KPiAtfQ0KPiANCj4gIHN0YXRpYyB2b2lkDQo+ICB2aXJ0aW9fc2V0
X3Z0cGNpX29wcyhzdHJ1Y3QgdmlydGlvX2h3ICpodykNCj4gQEAgLTE5MDYsMTcgKzE4NjYsMTEg
QEAgZXRoX3ZpcnRpb19kZXZfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQo+ICAJ
ZXRoX2Rldi0+cnhfZGVzY3JpcHRvcl9kb25lID0gdmlydGlvX2Rldl9yeF9xdWV1ZV9kb25lOw0K
PiANCj4gIAlpZiAocnRlX2VhbF9wcm9jZXNzX3R5cGUoKSA9PSBSVEVfUFJPQ19TRUNPTkRBUlkp
IHsNCj4gLQkJaWYgKGh3LT5idXNfdHlwZSAhPSBWSVJUSU9fQlVTX1VTRVIpIHsNCj4gLQkJCXJl
dCA9IHZpcnRpb19yZW1hcF9wY2koUlRFX0VUSF9ERVZfVE9fUENJKGV0aF9kZXYpLCBodyk7DQo+
IC0JCQlpZiAocmV0KQ0KPiAtCQkJCXJldHVybiByZXQ7DQo+IC0JCX0NCj4gLQ0KPiAgCQl2aXJ0
aW9fc2V0X3Z0cGNpX29wcyhodyk7DQo+ICAJCXNldF9yeHR4X2Z1bmNzKGV0aF9kZXYpOw0KPiAt
DQo+ICAJCXJldHVybiAwOw0KPiAgCX0NCj4gKw0KPiAgCXJldCA9IHZpcnRpb19kZXZfZGV2YXJn
c19wYXJzZShldGhfZGV2LT5kZXZpY2UtPmRldmFyZ3MsICZzcGVlZCwNCj4gJnZlY3Rvcml6ZWQp
Ow0KPiAgCWlmIChyZXQgPCAwKQ0KPiAgCQlyZXR1cm4gcmV0Ow0KPiBAQCAtMTkzMywxNSArMTg4
Nyw2IEBAIGV0aF92aXJ0aW9fZGV2X2luaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhfZGV2KQ0K
PiAgCX0NCj4gDQo+ICAJaHctPnBvcnRfaWQgPSBldGhfZGV2LT5kYXRhLT5wb3J0X2lkOw0KPiAt
CS8qIEZvciB2aXJ0aW9fdXNlciBjYXNlIHRoZSBody0+dmlydGlvX3VzZXJfZGV2IGlzIHBvcHVs
YXRlZCBieQ0KPiAtCSAqIHZpcnRpb191c2VyX2V0aF9kZXZfYWxsb2MoKSBiZWZvcmUgZXRoX3Zp
cnRpb19kZXZfaW5pdCgpIGlzIGNhbGxlZC4NCj4gLQkgKi8NCj4gLQlpZiAoaHctPmJ1c190eXBl
ICE9IFZJUlRJT19CVVNfVVNFUikgew0KPiAtCQlyZXQgPSB2dHBjaV9pbml0KFJURV9FVEhfREVW
X1RPX1BDSShldGhfZGV2KSwgaHcpOw0KPiAtCQlpZiAocmV0KQ0KPiAtCQkJZ290byBlcnJfdnRw
Y2lfaW5pdDsNCj4gLQl9DQo+IC0NCj4gIAlydGVfc3BpbmxvY2tfaW5pdCgmaHctPnN0YXRlX2xv
Y2spOw0KPiANCj4gIAkvKiByZXNldCBkZXZpY2UgYW5kIG5lZ290aWF0ZSBkZWZhdWx0IGZlYXR1
cmVzICovDQo+IEBAIC0xOTY4LDEyICsxOTEzLDYgQEAgZXRoX3ZpcnRpb19kZXZfaW5pdChzdHJ1
Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQo+ICAJcmV0dXJuIDA7DQo+IA0KPiAgZXJyX3ZpcnRp
b19pbml0Og0KPiAtCWlmIChody0+YnVzX3R5cGUgPT0gVklSVElPX0JVU19QQ0lfTU9ERVJOIHx8
IGh3LT5idXNfdHlwZSA9PQ0KPiBWSVJUSU9fQlVTX1BDSV9MRUdBQ1kpIHsNCj4gLQkJcnRlX3Bj
aV91bm1hcF9kZXZpY2UoUlRFX0VUSF9ERVZfVE9fUENJKGV0aF9kZXYpKTsNCj4gLQkJaWYgKGh3
LT5idXNfdHlwZSA9PSBWSVJUSU9fQlVTX1BDSV9MRUdBQ1kpDQo+IC0JCQlydGVfcGNpX2lvcG9y
dF91bm1hcChWVFBDSV9JTyhodykpOw0KPiAtCX0NCj4gLWVycl92dHBjaV9pbml0Og0KPiAgCXJ0
ZV9mcmVlKGV0aF9kZXYtPmRhdGEtPm1hY19hZGRycyk7DQo+ICAJZXRoX2Rldi0+ZGF0YS0+bWFj
X2FkZHJzID0gTlVMTDsNCj4gIAlyZXR1cm4gcmV0Ow0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9u
ZXQvdmlydGlvL3ZpcnRpb19wY2lfZXRoZGV2LmMNCj4gYi9kcml2ZXJzL25ldC92aXJ0aW8vdmly
dGlvX3BjaV9ldGhkZXYuYw0KPiBpbmRleCA5YzA5MzUwNjhlLi5kNmNiZTU4MmQyIDEwMDY0NA0K
PiAtLS0gYS9kcml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3BjaV9ldGhkZXYuYw0KPiArKysgYi9k
cml2ZXJzL25ldC92aXJ0aW8vdmlydGlvX3BjaV9ldGhkZXYuYw0KPiBAQCAtMzIsMTAgKzMyLDc5
IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcnRlX3BjaV9pZCBwY2lfaWRfdmlydGlvX21hcFtdID0g
ew0KPiAgCXsgLnZlbmRvcl9pZCA9IDAsIC8qIHNlbnRpbmVsICovIH0sDQo+ICB9Ow0KPiANCj4g
Kw0KPiArLyoNCj4gKyAqIFJlbWFwIHRoZSBQQ0kgZGV2aWNlIGFnYWluIChJTyBwb3J0IG1hcCBm
b3IgbGVnYWN5IGRldmljZSBhbmQNCj4gKyAqIG1lbW9yeSBtYXAgZm9yIG1vZGVybiBkZXZpY2Up
LCBzbyB0aGF0IHRoZSBzZWNvbmRhcnkgcHJvY2Vzcw0KPiArICogY291bGQgaGF2ZSB0aGUgUENJ
IGluaXRpYXRlZCBjb3JyZWN0bHkuDQo+ICsgKi8NCj4gK3N0YXRpYyBpbnQNCj4gK3ZpcnRpb19y
ZW1hcF9wY2koc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2LCBzdHJ1Y3QgdmlydGlvX2h3
ICpodykNCj4gK3sNCj4gKwlpZiAoaHctPmJ1c190eXBlID09IFZJUlRJT19CVVNfUENJX01PREVS
Tikgew0KPiArCQkvKg0KPiArCQkgKiBXZSBkb24ndCBoYXZlIHRvIHJlLXBhcnNlIHRoZSBQQ0kg
Y29uZmlnIHNwYWNlLCBzaW5jZQ0KPiArCQkgKiBydGVfcGNpX21hcF9kZXZpY2UoKSBtYWtlcyBz
dXJlIHRoZSBtYXBwZWQgYWRkcmVzcw0KPiArCQkgKiBpbiBzZWNvbmRhcnkgcHJvY2VzcyB3b3Vs
ZCBlcXVhbCB0byB0aGUgb25lIG1hcHBlZCBpbg0KPiArCQkgKiB0aGUgcHJpbWFyeSBwcm9jZXNz
OiBlcnJvciB3aWxsIGJlIHJldHVybmVkIGlmIHRoYXQNCj4gKwkJICogcmVxdWlyZW1lbnQgaXMg
bm90IG1ldC4NCj4gKwkJICoNCj4gKwkJICogVGhhdCBzYWlkLCB3ZSBjb3VsZCBzaW1wbHkgcmV1
c2UgYWxsIGNhcCBwb2ludGVycw0KPiArCQkgKiAoc3VjaCBhcyBkZXZfY2ZnLCBjb21tb25fY2Zn
LCBldGMuKSBwYXJzZWQgZnJvbSB0aGUNCj4gKwkJICogcHJpbWFyeSBwcm9jZXNzLCB3aGljaCBp
cyBzdG9yZWQgaW4gc2hhcmVkIG1lbW9yeS4NCj4gKwkJICovDQo+ICsJCWlmIChydGVfcGNpX21h
cF9kZXZpY2UocGNpX2RldikpIHsNCj4gKwkJCVBNRF9JTklUX0xPRyhERUJVRywgImZhaWxlZCB0
byBtYXAgcGNpIGRldmljZSEiKTsNCj4gKwkJCXJldHVybiAtMTsNCj4gKwkJfQ0KPiArCX0gZWxz
ZSBpZiAoaHctPmJ1c190eXBlID09IFZJUlRJT19CVVNfUENJX0xFR0FDWSkgew0KPiArCQlpZiAo
cnRlX3BjaV9pb3BvcnRfbWFwKHBjaV9kZXYsIDAsIFZUUENJX0lPKGh3KSkgPCAwKQ0KPiArCQkJ
cmV0dXJuIC0xOw0KPiArCX0NCj4gKw0KPiArCXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICBzdGF0
aWMgaW50DQo+ICBldGhfdmlydGlvX3BjaV9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAqZXRoX2Rl
dikNCj4gIHsNCj4gLQlyZXR1cm4gZXRoX3ZpcnRpb19kZXZfaW5pdChldGhfZGV2KTsNCj4gKwlz
dHJ1Y3QgdmlydGlvX3BjaV9kZXYgKmRldiA9IGV0aF9kZXYtPmRhdGEtPmRldl9wcml2YXRlOw0K
PiArCXN0cnVjdCB2aXJ0aW9faHcgKmh3ID0gJmRldi0+aHc7DQo+ICsJc3RydWN0IHJ0ZV9wY2lf
ZGV2aWNlICpwY2lfZGV2ID0gUlRFX0VUSF9ERVZfVE9fUENJKGV0aF9kZXYpOw0KPiArCWludCBy
ZXQ7DQo+ICsNCj4gKwlpZiAocnRlX2VhbF9wcm9jZXNzX3R5cGUoKSA9PSBSVEVfUFJPQ19QUklN
QVJZKSB7DQo+ICsJCXJldCA9IHZ0cGNpX2luaXQoUlRFX0VUSF9ERVZfVE9fUENJKGV0aF9kZXYp
LCBodyk7DQo+ICsJCWlmIChyZXQpIHsNCj4gKwkJCVBNRF9JTklUX0xPRyhFUlIsICJGYWlsZWQg
dG8gaW5pdCBQQ0kgZGV2aWNlXG4iKTsNCj4gKwkJCXJldHVybiAtMTsNCj4gKwkJfQ0KPiArCX0g
ZWxzZSB7DQo+ICsJCXJldCA9IHZpcnRpb19yZW1hcF9wY2koUlRFX0VUSF9ERVZfVE9fUENJKGV0
aF9kZXYpLCBodyk7DQo+ICsJCWlmIChyZXQgPCAwKSB7DQo+ICsJCQlQTURfSU5JVF9MT0coRVJS
LCAiRmFpbGVkIHRvIHJlbWFwIFBDSSBkZXZpY2VcbiIpOw0KPiArCQkJcmV0dXJuIC0xOw0KPiAr
CQl9DQo+ICsJfQ0KPiArDQo+ICsJcmV0ID0gZXRoX3ZpcnRpb19kZXZfaW5pdChldGhfZGV2KTsN
Cj4gKwlpZiAocmV0IDwgMCkgew0KPiArCQlQTURfSU5JVF9MT0coRVJSLCAiRmFpbGVkIHRvIGlu
aXQgdmlydGlvIGRldmljZVxuIik7DQo+ICsJCWdvdG8gZXJyX3VubWFwOw0KPiArCX0NCj4gKw0K
PiArCVBNRF9JTklUX0xPRyhERUJVRywgInBvcnQgJWQgdmVuZG9ySUQ9MHgleCBkZXZpY2VJRD0w
eCV4IiwNCj4gKwkJZXRoX2Rldi0+ZGF0YS0+cG9ydF9pZCwgcGNpX2Rldi0+aWQudmVuZG9yX2lk
LA0KPiArCQlwY2lfZGV2LT5pZC5kZXZpY2VfaWQpOw0KPiArDQo+ICsJcmV0dXJuIDA7DQo+ICsN
Cj4gK2Vycl91bm1hcDoNCj4gKwlydGVfcGNpX3VubWFwX2RldmljZShSVEVfRVRIX0RFVl9UT19Q
Q0koZXRoX2RldikpOw0KPiArCWlmIChody0+YnVzX3R5cGUgPT0gVklSVElPX0JVU19QQ0lfTEVH
QUNZKQ0KPiArCQlydGVfcGNpX2lvcG9ydF91bm1hcChWVFBDSV9JTyhodykpOw0KPiArDQo+ICsJ
cmV0dXJuIHJldDsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgaW50DQo+IC0tDQo+IDIuMjkuMg0KDQpS
ZXZpZXdlZC1ieTogQ2hlbmJvIFhpYSA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQoNCg==