From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 382EDA034C;
	Mon, 24 Oct 2022 15:23:00 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 2220140A8B;
	Mon, 24 Oct 2022 15:23:00 +0200 (CEST)
Received: from mga11.intel.com (mga11.intel.com [192.55.52.93])
 by mails.dpdk.org (Postfix) with ESMTP id DA1DD40685
 for <dev@dpdk.org>; Mon, 24 Oct 2022 15:22:58 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1666617779; x=1698153779;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-transfer-encoding:mime-version;
 bh=XXaB9jlfhBuAtENEOeQGLg64mN6TRrHFGwF9tJJt4vA=;
 b=kyHEpNCDMbPSWvIEZ9FZGvYZ1PL/Xa7vP961eHPcZF4sQMHFgAQMNN+J
 Y/1mO5Hd9oWnNux7NzF210quqzw8db/MeEVByS++8mX0sGizjF3eMl8VF
 Iuv5sp1vPyGuFF9N1Dgzt8XYwYopf5kTeYTpGj7UaCXW5F+FGoW0hgKC7
 LLxEqPpR7ISJV7JHelCg0VP8dyeVkTDma82AXv/I8/fvuRXak1A4ENUTM
 5M3LlrMgCxDV930zAqUTyrFdWK+kLm0XDFsf2aMc3b6K+BrdV2iMCOaMO
 TRAL8Td6OMghbLtKrhS4/PctfoGeQ6DKWrsfBsoxZW+wOtkOS/1cF4HhN w==;
X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="305023234"
X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="305023234"
Received: from fmsmga005.fm.intel.com ([10.253.24.32])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 24 Oct 2022 06:22:58 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="960425720"
X-IronPort-AV: E=Sophos;i="5.95,209,1661842800"; d="scan'208";a="960425720"
Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81])
 by fmsmga005.fm.intel.com with ESMTP; 24 Oct 2022 06:22:57 -0700
Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by
 fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2375.31; Mon, 24 Oct 2022 06:22:57 -0700
Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by
 fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2375.31; Mon, 24 Oct 2022 06:22:56 -0700
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by
 fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2375.31 via Frontend Transport; Mon, 24 Oct 2022 06:22:56 -0700
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108)
 by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2375.31; Mon, 24 Oct 2022 06:22:56 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yz/bB1PZAtdCqIy5Jp8ctiF6nHj8FhNEkYM8nqgfBCmtrBZg0boN0V+dowqX8qJyHEyYKD42dGqDTxHWus3AhoYoSo8iU40cnDMVJk3WTmfRUvqfAIE8Z1YkKPtlQbzjeqtnx8Ne2vsawXuLO/TCDwbmV2Q+cxEziTF/w6bTW9uI8E3h7ZUN41t8iP3tyuU2zacCqWBy7fDdjQge3GxxXCnAuIXOnwVnr+/LumDv585pXkql/nJDW/woJMSgMJbn/jFRyl6GPk82IptdGhdnsBloZ72CBQjQxytJFaAeyqOE02dLbNjwreMbpXOSsljjw1ZWpqD3S1UYryRBdhytfg==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XXaB9jlfhBuAtENEOeQGLg64mN6TRrHFGwF9tJJt4vA=;
 b=d7E37ru+b8egYT4kl+w1yhKMDIQavoMBTJ87blhsWJ7aoDcZvCFXhAx4gNPIxFUg5R3EQCbtp6hPEtGfQU9Ss1SANSnxUbRLlmki0CKNXtRonFguOLtfRWORhb4eznCV9VrHHjfuxYNLgPlcomf3CDwfNjleQU5VLV+KITJFYlOGCKp7v7C5W+CyimYRpNqJCE5bKLdz6Xu5Z+UM2YxKAb7QG1mQFOf61O6zmumBzAsvw5hqMxtXDzhMZSVlB21oicyfbzX0xS4bCElGIPBTQdNGjs/N+9tXGn9o8ydP3/6yTO9quRFgZ+L7rVbiNVNnOUw1vMnKlvQNqc9uKSoV8g==
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
Received: from DM6PR11MB3723.namprd11.prod.outlook.com (2603:10b6:5:13f::25)
 by DM8PR11MB5575.namprd11.prod.outlook.com (2603:10b6:8:38::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Mon, 24 Oct
 2022 13:22:54 +0000
Received: from DM6PR11MB3723.namprd11.prod.outlook.com
 ([fe80::126d:f905:c1d6:dcb9]) by DM6PR11MB3723.namprd11.prod.outlook.com
 ([fe80::126d:f905:c1d6:dcb9%5]) with mapi id 15.20.5723.033; Mon, 24 Oct 2022
 13:22:54 +0000
From: "Guo, Junfeng" <junfeng.guo@intel.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>, "Zhang, Qi Z" <qi.z.zhang@intel.com>, 
 "Wu, Jingjing" <jingjing.wu@intel.com>, "Xing, Beilei"
 <beilei.xing@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, "Li, Xiaoyun" <xiaoyun.li@intel.com>,
 "awogbemila@google.com" <awogbemila@google.com>, "Richardson, Bruce"
 <bruce.richardson@intel.com>, "hemant.agrawal@nxp.com"
 <hemant.agrawal@nxp.com>, "stephen@networkplumber.org"
 <stephen@networkplumber.org>, "Xia, Chenbo" <chenbo.xia@intel.com>, "Zhang,
 Helin" <helin.zhang@intel.com>, "Wang, Haiyue" <haiyue.wang@intel.com>
Subject: RE: [PATCH v7 3/8] net/gve: add support for device initialization
Thread-Topic: [PATCH v7 3/8] net/gve: add support for device initialization
Thread-Index: AQHY5S58m4FlvfEV2ka8V4yEQzB5sq4YmpeAgARiaRCAAGSZAIAAJEkQ
Date: Mon, 24 Oct 2022 13:22:54 +0000
Message-ID: <DM6PR11MB3723F624457B8F1D2ACBE20AE72E9@DM6PR11MB3723.namprd11.prod.outlook.com>
References: <20221020103656.1068036-1-junfeng.guo@intel.com>
 <20221021091928.2674471-1-junfeng.guo@intel.com>
 <20221021091928.2674471-4-junfeng.guo@intel.com>
 <ff8e9837-9707-33f4-966a-724b5d170a6a@amd.com>
 <DM6PR11MB3723851C17DAFE725E640E81E72E9@DM6PR11MB3723.namprd11.prod.outlook.com>
 <f4ab8d78-f4b2-7219-4775-65edb05a8280@amd.com>
In-Reply-To: <f4ab8d78-f4b2-7219-4775-65edb05a8280@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
dlp-product: dlpe-windows
dlp-reaction: no-action
dlp-version: 11.6.500.17
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR11MB3723:EE_|DM8PR11MB5575:EE_
x-ms-office365-filtering-correlation-id: 0fa2a246-8e9b-406b-bce1-08dab5c2dc04
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 5c37dTyZpENaumKm2pCSvLKe4lqnSwaOE6B3tBs352k9t9wTd2HBxMSzYDQVXwg4G3EePpHPilGGQ7D31I9e5w7BDE8TRbraUld4TYfW0kUd9V6EaGDzWc59RZQHt/2zPa/bSiNujiGEEwbB1tS/RLp5aqBhD2NpRsLDDNkLvthtaT++SHlQJ5qtrJ9agnpU/u8OYCXDDpI+OLwmdo2UJYq1AJHbG6g52V40rF6124ErU1JpeRAqpH3+w0EcA0rPfWYOmTumwv30T4tb8w1DwHrZMnbG6VY4o9IHgJ8D/CpU2IkD7kxQTDQ+MrrFSp9/98CXucqg78gfOsq37rLgp7gURX/QxCVK/kFMbzSYTWG4kshtm61A0m1Xn6fK5Uxyfe4QZp+CwC/DKx6r6DenO9N4McwUe9KvAln08mHQbc8/mF0eQdb7WqUolAiD2Uk85XbgC5eGsgVMDw0jaMRDJacVPpt0OBq4Jf8IoZ/LUrkvUeo7jLVZ07gT5AfmURNpu6ip3vtAdhqaTQbyJMGG46PbIVURx3gFMSFaze9vxw2PX5x3pbB9oJv/x3xrKyBLpLPxCgsR45PEpgLLSUcQFPplkPWEAAaqwwKa2m66t0UNsZGNz+5Nj+J5GXKJYTC3nkrXC8liyvXnuWa2Xbig9+MdPstPOZON7KJzML+nNE+8tWtHDxmvpot989jVxTOSMxKqIVekXyYgZoxo3n/+9RG18t4boY2y3pLxwS4q82YWxXlOtNf79c39cnWZ7f3jptqh1TpvODaWmhEeh8JDEQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DM6PR11MB3723.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230022)(366004)(39860400002)(376002)(136003)(396003)(346002)(451199015)(83380400001)(86362001)(478600001)(71200400001)(107886003)(8676002)(26005)(316002)(64756008)(7696005)(6506007)(53546011)(110136005)(41300700001)(9686003)(52536014)(6636002)(8936002)(66476007)(66556008)(66946007)(76116006)(66446008)(54906003)(5660300002)(55016003)(38100700002)(4326008)(33656002)(122000001)(2906002)(186003)(38070700005)(82960400001);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a3FPaGlvQ01uZDRZUkZJa2wzbzlJaDhxSTR1YmNOZEhmakZFdFhWYXVKVkZY?=
 =?utf-8?B?N0pNajZFQms5ZTNzQ0FDRy9zY1g1Y1ZoSFI4QXRaZDA3QTkzN2E3NzRaeGtj?=
 =?utf-8?B?NmxMNHIwaUg2NWRNQVl5dnBZSlY0ME8wUkdaUHJBaTE0L1NiYk5WTlp5YlI1?=
 =?utf-8?B?UkVZY3AybisxRUErdGpjUmg4RVBBR1Y4Mm03SE00QkNJRTFoZm85Q2R6OFdq?=
 =?utf-8?B?T3BCWXczdEhabTJLNStYWCtYTU9UUHc4UXlwRHMwK1NQVkNKd3BrOEl3czdu?=
 =?utf-8?B?Nkt4UlEycW5IRU9XbzJaVXB6cHJmVGtWVityQk40NFhCb2JmbUViOUtVZ2lD?=
 =?utf-8?B?bFZab0VhQkpFcnVIU2NkcDltci84TlFsTks5TENvWXZ2Yk5iZjVjbmVkWGRZ?=
 =?utf-8?B?c2VhVmtRaEp1ZXRZQUdqUEYrQXNZcUN6OWluKzdRZkk4YWd1T1N5VHZLK1lB?=
 =?utf-8?B?M05VUjJ0S1Y2Q2lGSnBiRkh6Y3JXMG10ZHhtK0s3TXhzeXA4K0NYR1RIVHNY?=
 =?utf-8?B?bnpheks0NGxFa3d4VnVHcVlVUW5xaWhsbFFPL1I2UGtqSmY0TVJ2ZnFob0ZD?=
 =?utf-8?B?SjZSWHBxUU5TbTg4dnFMZlpQb3QwTytqVGxtbU5pOU1iSmxsNU51aFFoanFt?=
 =?utf-8?B?NkpKTWk0WUJwditxUmtxQmtBRnZXQlhlZUFzeUk3ZVJlWGR1ekZMV0JGWXAy?=
 =?utf-8?B?TCtRa0NKT0ZnK0ZrckIxZnY1ZittV3c2MVBMOFVPUGtyTWlpb29uaUVlSzAr?=
 =?utf-8?B?VEY5c0hUMDJNYkFCR1Rnek4xQkdONmR5UmF2WXhIdUhDeXVTTUtqSnovRlNp?=
 =?utf-8?B?ZmhFVENWNk5zblJIcGJ4aG9taUR4akpNSm5ha1BDVkljOUVPRG04UXdMUzBU?=
 =?utf-8?B?dVA5YmM4TXRMeHk1SFlDRUZDYkxsV3RXeEdRWmFuZHNqMjZEUXJWcjhIVDEv?=
 =?utf-8?B?OXlnMGkyWkdDcSs1YytDdnFXaEcwNUhLMk14TkNHWlJiRnlsTXRuT1VXYTdM?=
 =?utf-8?B?Y3EvcUR3WmpieVEvak8rOEhrZGRnT2ZkM08yVlFWR3drYUFtVmVrS0RIZ3lr?=
 =?utf-8?B?OHYyNjdnNDU3K3ROSTN5aFNvYkJ6UWlKUFkwTmJ4NUlWQlFaSUE5dy9HK2hF?=
 =?utf-8?B?cEtWODlPbnd6YmRleHZLUXl0aVdIYUVJS29ja1plYXJUN2NiZloza2t0K2VU?=
 =?utf-8?B?Y3V2ZnN3Z2NkczA0NlAxVk94OGR4bnVBVE04SnN0bmsrdTEwR3FxeEgrSnFR?=
 =?utf-8?B?WmR4ajNhMkJWcVhWRk5CdUQrS004VG1JMlFORGZRM2NMckVkWllBd0lvU1A5?=
 =?utf-8?B?YmFpWVAyeHJRaXFpYWZXN1dNNWhURkVRVmNQUDFhWkVyc0c3OUdsSWpLcWhh?=
 =?utf-8?B?QlVFTkJHams0SGJNQXFNR01sTHl5N2pvOEdpNGtYT0NMTVk4U204K3dUSUJT?=
 =?utf-8?B?aTZvTnF2dnZzUVBMeDlBQjRQalZobzRCb1lacWkzc3U0aU5zSWZMU0J6a1FB?=
 =?utf-8?B?eXNBbFdEM0g0NVU2QndMWm9VVkRQQzJQTzRZMGx1QmUxdWM1TldtbU5mWVNX?=
 =?utf-8?B?ZVdEcWxRdGgySFhyK0pMbC9pS0lhTnlsQnk4SEtYZTJPdmJVN1liWVRZS3ZB?=
 =?utf-8?B?YXlxWXpZeWNxODVsUGREVDdqSDk4ZmhUYUtoTk5rQ0hENWhNN0VDcWtLcDZF?=
 =?utf-8?B?MU5aWXdSZWFSMUs1VFpBQWJjbzN2RERhQThwZUdzVkpwRHNpMXhTM2FmMW9I?=
 =?utf-8?B?OEZBN3NUbXRRZmF2TjNYQjlOejNqWVZaeXR6U010V0UxTTQyR0tCZHUzSDgw?=
 =?utf-8?B?Rjlscmt5Zk5UR3NzM0RWQlRveGhISDN0dExERjY5cjN3dzFEOTlGeitxYTZF?=
 =?utf-8?B?WVAwdVJTbzBBR0VOei9BbVRGMm1STzQzNC9yZGsvOFV1Q2g4bWplcmRiczJD?=
 =?utf-8?B?RTJMZWliUm5TRGRoMzZUMHczRG00YWw5K0VnTFYyOEp4bWUya0Mxd3JVOU5M?=
 =?utf-8?B?bkFNdXc0dkwxM2lyRXJYRldVcXdVQnF1UXNCNUU3VzgwTGN0N1k5cUxkNzNS?=
 =?utf-8?B?RHdjdGVSUG1sMXJLQlh6TWE1TVN3RVZIcDZ1V0ZjckFidTIxeDhGZUhYUzFu?=
 =?utf-8?Q?e7ro0+pWBbzXCDE3nFcVBZuAt?=
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: DM6PR11MB3723.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0fa2a246-8e9b-406b-bce1-08dab5c2dc04
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2022 13:22:54.5771 (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: Mc8OpAQtEv16WUyu93IcGoaJ7mLMOeSWEt0xNSZLjmv5dj7MAnooZedmho5YHTe3gdZSbexKZmq8SNvm9aoAgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR11MB5575
X-OriginatorOrg: intel.com
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
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

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm
ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogTW9uZGF5LCBPY3RvYmVyIDI0LCAyMDIyIDE4
OjQ3DQo+IFRvOiBHdW8sIEp1bmZlbmcgPGp1bmZlbmcuZ3VvQGludGVsLmNvbT47IFpoYW5nLCBR
aSBaDQo+IDxxaS56LnpoYW5nQGludGVsLmNvbT47IFd1LCBKaW5namluZyA8amluZ2ppbmcud3VA
aW50ZWwuY29tPjsgWGluZywNCj4gQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRlbC5jb20+DQo+IENj
OiBkZXZAZHBkay5vcmc7IExpLCBYaWFveXVuIDx4aWFveXVuLmxpQGludGVsLmNvbT47DQo+IGF3
b2diZW1pbGFAZ29vZ2xlLmNvbTsgUmljaGFyZHNvbiwgQnJ1Y2UNCj4gPGJydWNlLnJpY2hhcmRz
b25AaW50ZWwuY29tPjsgaGVtYW50LmFncmF3YWxAbnhwLmNvbTsNCj4gc3RlcGhlbkBuZXR3b3Jr
cGx1bWJlci5vcmc7IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGludGVsLmNvbT47DQo+IFpoYW5n
LCBIZWxpbiA8aGVsaW4uemhhbmdAaW50ZWwuY29tPjsgV2FuZywgSGFpeXVlDQo+IDxoYWl5dWUu
d2FuZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjcgMy84XSBuZXQvZ3ZlOiBh
ZGQgc3VwcG9ydCBmb3IgZGV2aWNlIGluaXRpYWxpemF0aW9uDQo+IA0KPiBPbiAxMC8yNC8yMDIy
IDY6MDQgQU0sIEd1bywgSnVuZmVuZyB3cm90ZToNCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IEZlcnJ1aCBZaWdpdCA8ZmVycnVoLnlpZ2l0QGFt
ZC5jb20+DQo+ID4+IFNlbnQ6IEZyaWRheSwgT2N0b2JlciAyMSwgMjAyMiAxNzo1MA0KPiA+PiBU
bzogR3VvLCBKdW5mZW5nIDxqdW5mZW5nLmd1b0BpbnRlbC5jb20+OyBaaGFuZywgUWkgWg0KPiA+
PiA8cWkuei56aGFuZ0BpbnRlbC5jb20+OyBXdSwgSmluZ2ppbmcgPGppbmdqaW5nLnd1QGludGVs
LmNvbT47IFhpbmcsDQo+ID4+IEJlaWxlaSA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPg0KPiA+PiBD
YzogZGV2QGRwZGsub3JnOyBMaSwgWGlhb3l1biA8eGlhb3l1bi5saUBpbnRlbC5jb20+Ow0KPiA+
PiBhd29nYmVtaWxhQGdvb2dsZS5jb207IFJpY2hhcmRzb24sIEJydWNlDQo+ID4+IDxicnVjZS5y
aWNoYXJkc29uQGludGVsLmNvbT47IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207DQo+ID4+IHN0ZXBo
ZW5AbmV0d29ya3BsdW1iZXIub3JnOyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+
Ow0KPiA+PiBaaGFuZywgSGVsaW4gPGhlbGluLnpoYW5nQGludGVsLmNvbT47IFdhbmcsIEhhaXl1
ZQ0KPiA+PiA8aGFpeXVlLndhbmdAaW50ZWwuY29tPg0KPiA+PiBTdWJqZWN0OiBSZTogW1BBVENI
IHY3IDMvOF0gbmV0L2d2ZTogYWRkIHN1cHBvcnQgZm9yIGRldmljZQ0KPiBpbml0aWFsaXphdGlv
bg0KPiA+Pg0KPiA+PiBPbiAxMC8yMS8yMDIyIDEwOjE5IEFNLCBKdW5mZW5nIEd1byB3cm90ZToN
Cj4gPj4NCj4gPj4+DQo+ID4+PiBTdXBwb3J0IGRldmljZSBpbml0IGFuZCBhZGQgZm9sbG93aW5n
IGRldm9wcyBza2VsZXRvbjoNCj4gPj4+ICAgIC0gZGV2X2NvbmZpZ3VyZQ0KPiA+Pj4gICAgLSBk
ZXZfc3RhcnQNCj4gPj4+ICAgIC0gZGV2X3N0b3ANCj4gPj4+ICAgIC0gZGV2X2Nsb3NlDQo+ID4+
Pg0KPiA+Pj4gTm90ZSB0aGF0IGJ1aWxkIHN5c3RlbSAoaW5jbHVkaW5nIGRvYykgaXMgYWxzbyBh
ZGRlZCBpbiB0aGlzIHBhdGNoLg0KPiA+Pj4NCj4gPj4+IFNpZ25lZC1vZmYtYnk6IEhhaXl1ZSBX
YW5nIDxoYWl5dWUud2FuZ0BpbnRlbC5jb20+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBYaWFveXVu
IExpIDx4aWFveXVuLmxpQGludGVsLmNvbT4NCj4gPj4+IFNpZ25lZC1vZmYtYnk6IEp1bmZlbmcg
R3VvIDxqdW5mZW5nLmd1b0BpbnRlbC5jb20+DQo+ID4+DQo+ID4+IDwuLi4+DQo+ID4+DQo+ID4+
PiArc3RhdGljIGludA0KPiA+Pj4gK2d2ZV9kZXZfaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0
aF9kZXYpDQo+ID4+PiArew0KPiA+Pj4gKyAgICAgICBzdHJ1Y3QgZ3ZlX3ByaXYgKnByaXYgPSBl
dGhfZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gPj4+ICsgICAgICAgaW50IG1heF90eF9xdWV1
ZXMsIG1heF9yeF9xdWV1ZXM7DQo+ID4+PiArICAgICAgIHN0cnVjdCBydGVfcGNpX2RldmljZSAq
cGNpX2RldjsNCj4gPj4+ICsgICAgICAgc3RydWN0IGd2ZV9yZWdpc3RlcnMgKnJlZ19iYXI7DQo+
ID4+PiArICAgICAgIHJ0ZV9iZTMyX3QgKmRiX2JhcjsNCj4gPj4+ICsgICAgICAgaW50IGVycjsN
Cj4gPj4+ICsNCj4gPj4+ICsgICAgICAgZXRoX2Rldi0+ZGV2X29wcyA9ICZndmVfZXRoX2Rldl9v
cHM7DQo+ID4+PiArDQo+ID4+PiArICAgICAgIGlmIChydGVfZWFsX3Byb2Nlc3NfdHlwZSgpICE9
IFJURV9QUk9DX1BSSU1BUlkpDQo+ID4+PiArICAgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4+
PiArDQo+ID4+PiArICAgICAgIHBjaV9kZXYgPSBSVEVfREVWX1RPX1BDSShldGhfZGV2LT5kZXZp
Y2UpOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICAgICByZWdfYmFyID0gcGNpX2Rldi0+bWVtX3Jlc291
cmNlW0dWRV9SRUdfQkFSXS5hZGRyOw0KPiA+Pj4gKyAgICAgICBpZiAoIXJlZ19iYXIpIHsNCj4g
Pj4+ICsgICAgICAgICAgICAgICBQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gbWFwIHBjaSBi
YXIhIik7DQo+ID4+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+ID4+PiArICAg
ICAgIH0NCj4gPj4+ICsNCj4gPj4+ICsgICAgICAgZGJfYmFyID0gcGNpX2Rldi0+bWVtX3Jlc291
cmNlW0dWRV9EQl9CQVJdLmFkZHI7DQo+ID4+PiArICAgICAgIGlmICghZGJfYmFyKSB7DQo+ID4+
PiArICAgICAgICAgICAgICAgUE1EX0RSVl9MT0coRVJSLCAiRmFpbGVkIHRvIG1hcCBkb29yYmVs
bCBiYXIhIik7DQo+ID4+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+ID4+PiAr
ICAgICAgIH0NCj4gPj4+ICsNCj4gPj4+ICsgICAgICAgZ3ZlX3dyaXRlX3ZlcnNpb24oJnJlZ19i
YXItPmRyaXZlcl92ZXJzaW9uKTsNCj4gPj4+ICsgICAgICAgLyogR2V0IG1heCBxdWV1ZXMgdG8g
YWxsb2MgZXRoZXJkZXYgKi8NCj4gPj4+ICsgICAgICAgbWF4X3R4X3F1ZXVlcyA9IGlvcmVhZDMy
YmUoJnJlZ19iYXItPm1heF90eF9xdWV1ZXMpOw0KPiA+Pj4gKyAgICAgICBtYXhfcnhfcXVldWVz
ID0gaW9yZWFkMzJiZSgmcmVnX2Jhci0+bWF4X3J4X3F1ZXVlcyk7DQo+ID4+PiArDQo+ID4+PiAr
ICAgICAgIHByaXYtPnJlZ19iYXIwID0gcmVnX2JhcjsNCj4gPj4+ICsgICAgICAgcHJpdi0+ZGJf
YmFyMiA9IGRiX2JhcjsNCj4gPj4+ICsgICAgICAgcHJpdi0+cGNpX2RldiA9IHBjaV9kZXY7DQo+
ID4+PiArICAgICAgIHByaXYtPnN0YXRlX2ZsYWdzID0gMHgwOw0KPiA+Pj4gKw0KPiA+Pj4gKyAg
ICAgICBwcml2LT5tYXhfbmJfdHhxID0gbWF4X3R4X3F1ZXVlczsNCj4gPj4+ICsgICAgICAgcHJp
di0+bWF4X25iX3J4cSA9IG1heF9yeF9xdWV1ZXM7DQo+ID4+PiArDQo+ID4+PiArICAgICAgIGVy
ciA9IGd2ZV9pbml0X3ByaXYocHJpdiwgZmFsc2UpOw0KPiA+Pj4gKyAgICAgICBpZiAoZXJyKQ0K
PiA+Pj4gKyAgICAgICAgICAgICAgIHJldHVybiBlcnI7DQo+ID4+PiArDQo+ID4+PiArICAgICAg
IGV0aF9kZXYtPmRhdGEtPm1hY19hZGRycyA9ICZwcml2LT5kZXZfYWRkcjsNCj4gPj4+ICsNCj4g
Pj4NCj4gPj4gW2NvcHkvcGFzdGUgZnJvbSBwcmV2aW91cyB2ZXJzaW9uXQ0KPiA+Pg0KPiA+PiBX
aGF0IGlzIHRoZSB2YWx1ZSBpbiAncHJpdi0+ZGV2X2FkZHInPw0KPiA+PiBFdmVuIGFsbG9jYXRp
bmcgbWVtb3J5IGZvciAnZXRoX2Rldi0+ZGF0YS0+bWFjX2FkZHJzJyByZW1vdmVkIG9yDQo+IG5v
dCwNCj4gPj4gYXMNCj4gPj4gd2UgZGlzY3Vzc2VkLCBpbmRlcGVuZGVudCBmcm9tIGl0LCBuZWVk
IHRvIHNldCBhIHZhbGlkIHZhbHVlIHRvDQo+ID4+ICdwcml2LT5kZXZfYWRkcicuDQo+ID4NCj4g
PiBUaGUgdmFsdWUgaW4gJ3ByaXYtPmRldl9hZGRyJyBpcyB0aGUgJ3JlYWwnIG1hYyBhZGRyZXNz
IG9mIHRoZSBndm5pYyBwb3J0Lg0KPiA+IFNvIEkgc3VwcG9zZSB0aGF0IHRoZXJlIGlzIG5vIG5l
ZWQgdG8gc2V0IGEgZGVmYXVsdCB2YWxpZCBvbmUsIHNpbmNlIHdlDQo+IGNhbg0KPiA+IGdldCB0
aGVtL2l0IGZyb20gdGhlIGJhY2tlbmQgaW4gZ3ZlX2FkbWlucV9kZXNjcmliZV9kZXZpY2UocHJp
dikuDQo+IA0KPiBBY2ssIHRoYW5rcyBmb3IgY2xhcmlmaWNhdGlvbi4NCj4gDQo+IEluICdndmVf
YWRtaW5xX2Rlc2NyaWJlX2RldmljZSgpJywgUlRFX0VUSEVSX0FERFJfUFJUX0ZNVCAmDQo+IFJU
RV9FVEhFUl9BRERSX0JZVEVTIGNhbiBiZSB1c2VkIGZvciBsb2csIEkgd2lsbCBjb21tZW50IG9u
IHBhdGNoLg0KDQpUaGFua3MgZm9yIHRoZSBhZHZpY2UhIFdpbGwgdHJ5IHRoaXMgaW4gdGhlIGNv
bWluZyB2ZXJzaW9uLg0KDQo=