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 C8547A00C5; Mon, 24 Oct 2022 04:10:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BC2F64161A; Mon, 24 Oct 2022 04:10:24 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 8D5C541611 for ; Mon, 24 Oct 2022 04:10:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666577422; x=1698113422; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=xlkTvatUF7AjlWPHsouCPj3XczHinx1KTZHDwsnXNpA=; b=b9eCJwP9QX5IrzDrKgbPOKMkWAxUZOxlNe8DJcREz1PGOG8hX3mYGoJj Ljyc6ELHfC82pxAvRnYRzsxF8qVY+qVx0tm7hLnuvndRO6THWFcfbU8/M SiUGuOyfZH8lcKcRzutPCbAfK6Pfm+506N4fN0HFPTpoT17OpF1OhLHJc G95KfBmZbh58TF+HJfFxhXLzZQxDAxMKBDltARBGHmuQZnbYoDnrWwSjL TE5epHjhrl7LBJM9dZS/qn8NJ5xKrf1v0C+Bejx0ucYW43uQuFPCvMbLh FpZG8XCSMrcsYz03j5iV97R3Tcek4R3kjCIMb5vOIFQhirCpoo1nKXvAl g==; X-IronPort-AV: E=McAfee;i="6500,9779,10509"; a="309006493" X-IronPort-AV: E=Sophos;i="5.95,207,1661842800"; d="scan'208";a="309006493" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Oct 2022 19:10:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10509"; a="720338071" X-IronPort-AV: E=Sophos;i="5.95,207,1661842800"; d="scan'208";a="720338071" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by FMSMGA003.fm.intel.com with ESMTP; 23 Oct 2022 19:10:21 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sun, 23 Oct 2022 19:10:21 -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; Sun, 23 Oct 2022 19:10:20 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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; Sun, 23 Oct 2022 19:10:20 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108) 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.2375.31; Sun, 23 Oct 2022 19:10:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CPX14I0qVfNNzG93Fj9xbIZU1q4DYR+iUdWV4Ihi180oWcoaGQjPiQdaMNplmmp5U0r42qucv/J+yCopndMgRD2l80A3ZPvSsy258Idd9yOuyk8yE1jeD4EJ3DB3W9epiad8ktZc6YhuNpIDO28ExaA2mHjdYHF1TnACqrGnyHbZXLfmTkWvuuzQTsZcDUNzhHRwCdJCvQSTZbvZDu0nztiJCODo1r88+DXKmIaCjgMfvi9Twbr3Md2KN0+E5LEsgKa6epniLFzlCc6NxaA5IYKXvqpguqGyd0z4P85s7jy+7ScLJaLh2sjMJGlC80htRen+XvmUoLsw9G2tcQHYwQ== 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=xlkTvatUF7AjlWPHsouCPj3XczHinx1KTZHDwsnXNpA=; b=gm1+sQTGns3E/Yi9LdQ2mSePimunJXhNDROIaV5/Zn/aLQajHu/ZyaLuKP4tiXifH3xfxztlUVLGaTRXL5EU34Y6MRU9uCFu0vPFITxbPJwEWrtpgV7toco9O7b2zt9u3QgwmLk9O/J3giR4r0uBFpvdIGIIYZStlYv6zravTUWy/O9np8LVxfjDMA2DcGmtlWwRPlUTbx+df0XNp09CU+ir2WAW5AQ4hgLzl8XY1oKFCuHkcbx99sDm2ENyNJT+V0BI67ZBCbSNX2QSBN41e/BDdWRZw/uZykSq6UUdU5ta+dwtq/b8+NTANrqHgWO4iAKi/AIvzPCFp8hBhnhAwg== 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 BL3PR11MB6363.namprd11.prod.outlook.com (2603:10b6:208:3b6::5) 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 02:10:18 +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 02:10:18 +0000 From: "Guo, Junfeng" To: Ferruh Yigit , "Zhang, Qi Z" , "Wu, Jingjing" , "Xing, Beilei" CC: "dev@dpdk.org" , "Li, Xiaoyun" , "awogbemila@google.com" , "Richardson, Bruce" , "hemant.agrawal@nxp.com" , "stephen@networkplumber.org" , "Xia, Chenbo" , "Zhang, Helin" , "Wang, Haiyue" Subject: RE: [PATCH v6 3/8] net/gve: add support for device initialization Thread-Topic: [PATCH v6 3/8] net/gve: add support for device initialization Thread-Index: AQHY5HAiVGoK53W+V0aQ4u89X430Lq4XW2+AgAD7MYA= Date: Mon, 24 Oct 2022 02:10:18 +0000 Message-ID: References: <20221010101757.878317-2-junfeng.guo@intel.com> <20221020103656.1068036-1-junfeng.guo@intel.com> <20221020103656.1068036-4-junfeng.guo@intel.com> <1427101c-d584-f937-c8ac-1462e757216f@amd.com> In-Reply-To: <1427101c-d584-f937-c8ac-1462e757216f@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_|BL3PR11MB6363:EE_ x-ms-office365-filtering-correlation-id: 9322dd49-19e6-473a-9c02-08dab564e5fc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tThtOuJ6V9uG6AUr0gw61Lo0r60w6d142sQ5TdhLO1ITS+9EEo42WoNB9CEs8LpL8jJNxEK7r/gpDX1GQcoRXbdy0Y7eAjR7ok/3dsgrMeHn9UBhM4O4xVZx+2a7sgPCbUENIKKXU39QC8xT4zhckpA4G/3OkeMdtFztNmy/6GcCME1uqnDl5a0ZBRCkw9fsQC/7JKjCI7N//woEoWbuDlRPGd2H+Weu8hWmZE/9MNV9vwpEt9cwFSHk8grnNF45w/wC01TXe9ML7DZTUjMjFk7Hasp66v/ui0MO7le+VSleGo67Be67vBqtz0WVFMBvzXb4f8qPUGhXHf/MMdvSsgPwWVyDGvfqD2t/LByjjJVUNaiKJy/zDl04f21pffAw4ie98jdcbEhOUlKunsSOM1OscnHBCejViX62Zj+QiZBAP2aq8WxsDaVy43Os58/TiGwhxmPIM/ktc4CJzNKPsDawGuqFGV0sO0InrrjJNpCQnViYO6u/GTBe1lewWoA7vKBK+fYefu5hF2eao2Ir289D/ZPLfoJ+Wj3Dn8EoQK9Y1wMG5AjaOGfPrEf1zRyKK1+p355A6cb9WuQXF3IlkNEwVBKPDJ+JFN0WMFBY0/htrn2/qdP2C0PeyORB7UhMoZl9fxLibnDxr9wEVvhFHhm+j6h/DE8hba2KRvtmuFd57gduEjxN3faHc5emjzKfBgsdRNI/UaDoSo3EtPr/8/mr6sNjERRVAbzgYvH8iPXLtyovWouzQTqh0RfFnbAZByev1l794Hwh7+pEiQzIZw== 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)(346002)(39860400002)(366004)(136003)(396003)(376002)(451199015)(5660300002)(186003)(83380400001)(38070700005)(38100700002)(86362001)(122000001)(82960400001)(2906002)(52536014)(55016003)(41300700001)(8936002)(478600001)(9686003)(26005)(71200400001)(107886003)(6506007)(76116006)(64756008)(66446008)(66556008)(53546011)(8676002)(4326008)(66946007)(316002)(110136005)(54906003)(6636002)(66476007)(33656002)(7696005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TmRUQVlyamJLc2g3Ylo4Yk9TT3I5dXJ0NDBEdWhjd2JqNy8zcjZjV2lvS0NO?= =?utf-8?B?VVM3dlFyUEVNTENRTGRrWGFocVV5U0ZCWk9nVHUyRHNRamNEaC9wWVpneGh6?= =?utf-8?B?Y2lRTTlKLzVNS251bHZGcndCUWtMM0hJK1hvY3dqOUcyZkZGdHQ4R011S1JJ?= =?utf-8?B?RUdQT3NFWVBTckZOcTYvTXZ1UUp1V3puN2JrRzJJdS9SeVAxSEd3KzErSFoy?= =?utf-8?B?S012MzRzRUFpU1FrQjhYTUNtMVc5d0dzUllscW9iLzg3T2J4T1VMU1hwS2Vn?= =?utf-8?B?NEZSZ0w2UzZJbk05QUNUVjNTdTdCcVNDWHBTZnArY05kYzNTRkpZOHo1RnI0?= =?utf-8?B?UWlPQ3UyRFlxYmpKWG50T1FRaC9YZ21LWlhZRXJWYUI0TFVQbWRXRUlKblF0?= =?utf-8?B?aDlTWFVzb1N2dWVHRlB3VURGWEJjYnMxbHJHVmRZNVJaNCtmVDN3N3dRcU9i?= =?utf-8?B?K3NCUm56cGdSNEFvaStRc29FS2k0bG1ndWh2Ti9ES09sQmRaUURoeXBPV3pO?= =?utf-8?B?TW95bElGZTZRTXYzeGV3S3BBU1FadUFwSlphTDBvTFVZNnIyUnJyZ3ZPM2xB?= =?utf-8?B?ZG8xbEQzYTJDZkhlNEFvMG13ZTkxaXNzVTFuUVNuaTlqMm9aM0Y0YTNUbnVY?= =?utf-8?B?RFY1b2JSd2pQZmpYNUpPaDFLWXF5Ukd6a1ZqdFgraUN2YitHZ0lITjFnNlRj?= =?utf-8?B?Z1U2b0tJMmxzenQrb0E4OFJaU0JXU1Byek9tV0tMUkZMK0tjNjdqcm9MOHVo?= =?utf-8?B?eGxnWVN2dzc4T3oxQzRJdFYrWVY1MGg4dEVjUXhqSDh4Z2RiWUd4bVJHT3VE?= =?utf-8?B?R3pSdGVucmhRejhubW0wL2o2N2ZucGt3LzhJMnVhZ1hsQUducWFpbXgycjJi?= =?utf-8?B?My9oNzVPYjc1c0lBMi8wQU8yWTZ4TXdCSU5nMnNqR2hSaE1QM3FhTnFoZjcy?= =?utf-8?B?NjR3a2dGdGNLNjhuTW5CbTUrUC85QXhiWExBVUkzRCsrYjlleENTbyt3SlZk?= =?utf-8?B?b29kU0tBVVF6eXZ2V0szamc2cXBIdlNjYjEvemgwUGJPbVJkQStab3FRcXhV?= =?utf-8?B?cUN5UVVvbi9KSTllRko5Y3pGZGl1VkJlSnNoUnYzWkNqK09vNDlsN0ZQRlRx?= =?utf-8?B?R3AzRE1ybm1sU1U2SCtyN2JkT2U3a00zRWF1TmRRRTNlaXZNbEpWZUtqYWQr?= =?utf-8?B?UDg4a3ptYmY0NzgrdGtkOWlnUlJvbmxkSmY2Z1F3ZmxtclN3cm1hWk83K1Fa?= =?utf-8?B?TCt1RUNMY2VuNWhldjFyOWFJbE4wMC9yV0NBK3hyR2VwM2JjRVNaZWxLOUNJ?= =?utf-8?B?YWNiMWdGaFAraEtGZE8vQktXU29kRjVGTWxtbUErZVJqbmVRT2I2Q0p4bVVw?= =?utf-8?B?QVpETUdmVHZBRmZCRFJrUW0vWlNCOWRLd2pZRVQxWTFQQzNkcDhlczN4cVcv?= =?utf-8?B?b2RTTkkvbFEyeFh4OUlMNEZaY2dMWjlKTHRybHNoWGRNK3NrLzhsMWdtekhR?= =?utf-8?B?ZGZveGRQR09FZnJQUDdOU1U2dllNSTgxUHRhOHFFZG1xRVEzOFlvNEZ3a1ps?= =?utf-8?B?cW1pNmdzcnpZVklUTmVsRkZhRHVZTUo4eDAvWDgwUEpKcnorQVM0b1ZxUjFZ?= =?utf-8?B?RmtwYjgwbUNTL0ltTTdRak5ITjNYUUNwTWpMZWhLcDVNQ0dQOWFZNW5oS2cw?= =?utf-8?B?c2I5MjY3dDJPWGpZL29wM0QySmVLa0lQQytRREhWaE0rME0vTVdZUXVWK0dS?= =?utf-8?B?QUpTNTlxVEpsOXVLckZzaFpDSXE3bXZLODZ6T0syTU1ocE5DL3ZEMU4wZlBs?= =?utf-8?B?eGtzSi91SC9XUHRTOHVpUVlybnl6dVJlNit1bnNDYzlHZUZoeWFtYXYyMVpS?= =?utf-8?B?Rys2SnM5TVMxcXdqZTFRbkhUZFFlSlM0eDY5cEFmeThsdEJzaWV5NktxcUh0?= =?utf-8?B?eGhnV0NPZ09UVWhJL3RXN3ZJN0lKc3JROXg2L1JhYlVlVGt2YVovOEtLNUs5?= =?utf-8?B?aTBodE53bFZKbi91MERMMEh3YkhOczZ4c280NmpKQlFQWEFRa2tMcWRhck5n?= =?utf-8?B?T3pNdjlCZk5wblV2clNQRXptYm1sMXFnNGVZa1dGeWFWby92VFRRN3VaYk44?= =?utf-8?Q?JFQFdsoD2k7qr7IWOzXYfAsvc?= 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: 9322dd49-19e6-473a-9c02-08dab564e5fc X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Oct 2022 02:10:18.6084 (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: K1OI0xkyFMnzRqhCNBQAQ2cjcwp37V3BMv8DsDkXmZjxGplXvZGOUP5tkVVamZxaWXO2lYSwmdPVlNBDbOOm/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR11MB6363 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgMjAsIDIwMjIg MjI6NDINCj4gVG86IEd1bywgSnVuZmVuZyA8anVuZmVuZy5ndW9AaW50ZWwuY29tPjsgWmhhbmcs IFFpIFoNCj4gPHFpLnouemhhbmdAaW50ZWwuY29tPjsgV3UsIEppbmdqaW5nIDxqaW5namluZy53 dUBpbnRlbC5jb20+OyBYaW5nLA0KPiBCZWlsZWkgPGJlaWxlaS54aW5nQGludGVsLmNvbT4NCj4g Q2M6IGRldkBkcGRrLm9yZzsgTGksIFhpYW95dW4gPHhpYW95dW4ubGlAaW50ZWwuY29tPjsNCj4g YXdvZ2JlbWlsYUBnb29nbGUuY29tOyBSaWNoYXJkc29uLCBCcnVjZQ0KPiA8YnJ1Y2UucmljaGFy ZHNvbkBpbnRlbC5jb20+OyBoZW1hbnQuYWdyYXdhbEBueHAuY29tOw0KPiBzdGVwaGVuQG5ldHdv cmtwbHVtYmVyLm9yZzsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPjsNCj4gWmhh bmcsIEhlbGluIDxoZWxpbi56aGFuZ0BpbnRlbC5jb20+OyBXYW5nLCBIYWl5dWUNCj4gPGhhaXl1 ZS53YW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NiAzLzhdIG5ldC9ndmU6 IGFkZCBzdXBwb3J0IGZvciBkZXZpY2UgaW5pdGlhbGl6YXRpb24NCj4gDQo+IE9uIDEwLzIwLzIw MjIgMTE6MzYgQU0sIEp1bmZlbmcgR3VvIHdyb3RlOg0KPiANCj4gPg0KPiA+IFN1cHBvcnQgZGV2 aWNlIGluaXQgYW5kIGFkZCBmb2xsb3dpbmcgZGV2b3BzIHNrZWxldG9uOg0KPiA+ICAgLSBkZXZf Y29uZmlndXJlDQo+ID4gICAtIGRldl9zdGFydA0KPiA+ICAgLSBkZXZfc3RvcA0KPiA+ICAgLSBk ZXZfY2xvc2UNCj4gPg0KPiA+IE5vdGUgdGhhdCBidWlsZCBzeXN0ZW0gKGluY2x1ZGluZyBkb2Mp IGlzIGFsc28gYWRkZWQgaW4gdGhpcyBwYXRjaC4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEhh aXl1ZSBXYW5nIDxoYWl5dWUud2FuZ0BpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogWGlh b3l1biBMaSA8eGlhb3l1bi5saUBpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogSnVuZmVu ZyBHdW8gPGp1bmZlbmcuZ3VvQGludGVsLmNvbT4NCj4gDQo+IDwuLi4+DQo+IA0KPiA+IGluZGV4 IDFjM2RhZjE0MWQuLjcxNTAxM2ZhMzUgMTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRlcy9yZWxf bm90ZXMvcmVsZWFzZV8yMl8xMS5yc3QNCj4gPiArKysgYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9y ZWxlYXNlXzIyXzExLnJzdA0KPiA+IEBAIC0xNDAsNiArMTQwLDExIEBAIE5ldyBGZWF0dXJlcw0K PiA+DQo+ID4gICAgICogTWFkZSBjb21wYXRpYmxlIHdpdGggbGliYnBmIHYwLjguMCAod2hlbiB1 c2VkIHdpdGggbGlieGRwKS4NCj4gPg0KPiA+ICsqICoqQWRkZWQgR1ZFIG5ldCBQTUQqKg0KPiA+ ICsNCj4gPiArICAqIEFkZGVkIHRoZSBuZXcgYGBndmVgYCBuZXQgZHJpdmVyIGZvciBHb29nbGUg VmlydHVhbCBFdGhlcm5ldCBkZXZpY2VzLg0KPiA+ICsgICogU2VlIHRoZSA6ZG9jOmAuLi9uaWNz L2d2ZWAgTklDIGd1aWRlIGZvciBtb3JlIGRldGFpbHMgb24gdGhpcyBuZXcNCj4gZHJpdmVyLg0K PiA+ICsNCj4gDQo+IENhbiB5b3UgcGxlYXNlIG1vdmUgaXQgb25lIG1vcmUgZG93biwganVzdCBh Ym92ZSAnSW50ZWwnLCB0byBzb3J0IGl0DQo+IGFscGhhYmV0aWNhbGx5IGJhc2VkIG9uIFZlbmRv ciBuYW1lLCBpbiB0aGlzIGNhc2UgJ0cnIEkgZ3Vlc3MuDQo+IFdlIGFyZSBhbG1vc3QgdGhlcmUg OikNCg0KU3VyZSwgdGhhbmtzIGZvciByZW1pbmRpbmcgdGhpcyENCg0KPiANCj4gPC4uLj4NCj4g DQo+ID4gK3N0YXRpYyBpbnQNCj4gPiArZ3ZlX2Rldl9pbml0KHN0cnVjdCBydGVfZXRoX2RldiAq ZXRoX2RldikNCj4gPiArew0KPiA+ICsgICAgICAgc3RydWN0IGd2ZV9wcml2ICpwcml2ID0gZXRo X2Rldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+ID4gKyAgICAgICBpbnQgbWF4X3R4X3F1ZXVlcywg bWF4X3J4X3F1ZXVlczsNCj4gPiArICAgICAgIHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rl djsNCj4gPiArICAgICAgIHN0cnVjdCBndmVfcmVnaXN0ZXJzICpyZWdfYmFyOw0KPiA+ICsgICAg ICAgcnRlX2JlMzJfdCAqZGJfYmFyOw0KPiA+ICsgICAgICAgaW50IGVycjsNCj4gPiArDQo+ID4g KyAgICAgICBldGhfZGV2LT5kZXZfb3BzID0gJmd2ZV9ldGhfZGV2X29wczsNCj4gPiArDQo+ID4g KyAgICAgICBpZiAocnRlX2VhbF9wcm9jZXNzX3R5cGUoKSAhPSBSVEVfUFJPQ19QUklNQVJZKQ0K PiA+ICsgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiArDQo+ID4gKyAgICAgICBwY2lfZGV2 ID0gUlRFX0RFVl9UT19QQ0koZXRoX2Rldi0+ZGV2aWNlKTsNCj4gPiArDQo+ID4gKyAgICAgICBy ZWdfYmFyID0gcGNpX2Rldi0+bWVtX3Jlc291cmNlW0dWRV9SRUdfQkFSXS5hZGRyOw0KPiA+ICsg ICAgICAgaWYgKCFyZWdfYmFyKSB7DQo+ID4gKyAgICAgICAgICAgICAgIFBNRF9EUlZfTE9HKEVS UiwgIkZhaWxlZCB0byBtYXAgcGNpIGJhciEiKTsNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJu IC1FTk9NRU07DQo+ID4gKyAgICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAgZGJfYmFyID0gcGNp X2Rldi0+bWVtX3Jlc291cmNlW0dWRV9EQl9CQVJdLmFkZHI7DQo+ID4gKyAgICAgICBpZiAoIWRi X2Jhcikgew0KPiA+ICsgICAgICAgICAgICAgICBQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8g bWFwIGRvb3JiZWxsIGJhciEiKTsNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07 DQo+ID4gKyAgICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAgZ3ZlX3dyaXRlX3ZlcnNpb24oJnJl Z19iYXItPmRyaXZlcl92ZXJzaW9uKTsNCj4gPiArICAgICAgIC8qIEdldCBtYXggcXVldWVzIHRv IGFsbG9jIGV0aGVyZGV2ICovDQo+ID4gKyAgICAgICBtYXhfdHhfcXVldWVzID0gaW9yZWFkMzJi ZSgmcmVnX2Jhci0+bWF4X3R4X3F1ZXVlcyk7DQo+ID4gKyAgICAgICBtYXhfcnhfcXVldWVzID0g aW9yZWFkMzJiZSgmcmVnX2Jhci0+bWF4X3J4X3F1ZXVlcyk7DQo+ID4gKw0KPiA+ICsgICAgICAg cHJpdi0+cmVnX2JhcjAgPSByZWdfYmFyOw0KPiA+ICsgICAgICAgcHJpdi0+ZGJfYmFyMiA9IGRi X2JhcjsNCj4gPiArICAgICAgIHByaXYtPnBjaV9kZXYgPSBwY2lfZGV2Ow0KPiA+ICsgICAgICAg cHJpdi0+c3RhdGVfZmxhZ3MgPSAweDA7DQo+ID4gKw0KPiA+ICsgICAgICAgcHJpdi0+bWF4X25i X3R4cSA9IG1heF90eF9xdWV1ZXM7DQo+ID4gKyAgICAgICBwcml2LT5tYXhfbmJfcnhxID0gbWF4 X3J4X3F1ZXVlczsNCj4gPiArDQo+ID4gKyAgICAgICBlcnIgPSBndmVfaW5pdF9wcml2KHByaXYs IGZhbHNlKTsNCj4gPiArICAgICAgIGlmIChlcnIpDQo+ID4gKyAgICAgICAgICAgICAgIHJldHVy biBlcnI7DQo+ID4gKw0KPiA+ICsgICAgICAgZXRoX2Rldi0+ZGF0YS0+bWFjX2FkZHJzID0gcnRl X3ptYWxsb2MoImd2ZV9tYWMiLCBzaXplb2Yoc3RydWN0DQo+IHJ0ZV9ldGhlcl9hZGRyKSwgMCk7 DQo+ID4gKyAgICAgICBpZiAoIWV0aF9kZXYtPmRhdGEtPm1hY19hZGRycykgew0KPiA+ICsgICAg ICAgICAgICAgICBQTURfRFJWX0xPRyhFUlIsICJGYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5IHRv IHN0b3JlIG1hYw0KPiBhZGRyZXNzIik7DQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5P TUVNOw0KPiA+ICsgICAgICAgfQ0KPiA+ICsgICAgICAgcnRlX2V0aGVyX2FkZHJfY29weSgmcHJp di0+ZGV2X2FkZHIsIGV0aF9kZXYtPmRhdGEtDQo+ID5tYWNfYWRkcnMpOw0KPiA+ICsNCj4gDQo+ IFdoYXQgaXMgdGhlIHZhbHVlIGluICdwcml2LT5kZXZfYWRkcic/DQo+IEV2ZW4gYWxsb2NhdGlu ZyBtZW1vcnkgZm9yICdldGhfZGV2LT5kYXRhLT5tYWNfYWRkcnMnIHJlbW92ZWQgb3Igbm90LA0K PiBhcw0KPiB3ZSBkaXNjdXNzZWQsIGluZGVwZW5kZW50IGZyb20gaXQsIG5lZWQgdG8gc2V0IGEg dmFsaWQgdmFsdWUgdG8NCj4gJ3ByaXYtPmRldl9hZGRyJy4NCg0KQWdhaW4sIHRoYW5rcyBmb3Ig dGhlIGV4cGxhbmF0aW9uIQ0KV2lsbCB1cGRhdGUgdGhpcyBhbmQgcmUtdmFsaWRhdGUgZm9yIHRo aXMuDQpUaGUgYWRkciB2YWx1ZSBjb3VsZCBiZSBsaWtlICIgNDI6MDE6MEE6MDA6MDg6MDMiLg0K VGhhbmtzIQ0KDQo+IA0KPiA8Li4uPg0KPiANCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv Z3ZlL3ZlcnNpb24ubWFwIGIvZHJpdmVycy9uZXQvZ3ZlL3ZlcnNpb24ubWFwDQo+ID4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gPiBpbmRleCAwMDAwMDAwMDAwLi5jMmUwNzIzYjRjDQo+ID4gLS0t IC9kZXYvbnVsbA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2d2ZS92ZXJzaW9uLm1hcA0KPiA+IEBA IC0wLDAgKzEsMyBAQA0KPiA+ICtEUERLXzIyIHsNCj4gDQo+IERQREtfMjMNCj4gDQo+IEluIGNh c2UgaXQgaXMgbm90IGNsZWFyLCBzaW5jZSB0aGlzIGNvbW1lbnQgc2tpcHBlZCBpbiBwcmV2aW91 cyBhIGZldw0KPiB2ZXJzaW9ucywgdGhlIEFCSSB2ZXJzaW9uIHNob3VsZCBiZSAnRFBES18yMycs IHNvIHRoZSBjb250ZW50IG9mIHRoaXMNCj4gZmlsZSBzaG91bGQgYmU7DQo+IA0KPiBEUERLXzIz IHsNCj4gICAgICAgICAgbG9jYWw6ICo7DQo+IH07DQoNClN1cmUsIHdpbGwgdXBkYXRlIHRoaXMg aW4gdGhlIGNvbWluZyB2ZXJzaW9uLiBUaGFua3MgYSBsb3QhDQoNCg==