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 B69A4A0542; Sun, 9 Oct 2022 11:14:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A59D3400D5; Sun, 9 Oct 2022 11:14:18 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id F29D840042 for ; Sun, 9 Oct 2022 11:14:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665306857; x=1696842857; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=q0a8GLr3+Wvk3U0ED7b/JTaSyx/8TGVqvtPYVhdpf2I=; b=WNO41s0YT1LTHH5TscONc3fAR6JSO4qS1PQM5GhXmkJJSe3wktWI7udP E4VxV6d0zMthItU0AABVIdmDlHALPQVERPIU4WpjrDWOF+Ini3ZHTYD98 Q1kbzIepJN7vBuXLzfudPcHnLztDwM57MBnseB/5N7Bz9KIXilY9NxasW wbqnH3D8IhIuoLdGT7bzL9aHSF+kJHelOFRrLzuMd5XrbJoa5yQinEDuk uV0NsUutSek+m8kJw8uOaKRUCLWuOqBjWWRC/Zzpxv1sVpYn3y2TTSYl/ gXQIfKnGUiZhkEgaEgUN1TDKnmV7z7zvXrqTBcQdl7j4OM+dU9qxAJyqF w==; X-IronPort-AV: E=McAfee;i="6500,9779,10494"; a="302768692" X-IronPort-AV: E=Sophos;i="5.95,171,1661842800"; d="scan'208";a="302768692" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2022 02:14:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10494"; a="954584967" X-IronPort-AV: E=Sophos;i="5.95,171,1661842800"; d="scan'208";a="954584967" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga005.fm.intel.com with ESMTP; 09 Oct 2022 02:14:15 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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.2375.31; Sun, 9 Oct 2022 02:14:15 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx607.amr.corp.intel.com (10.22.229.20) 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, 9 Oct 2022 02:14:15 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) 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.2375.31; Sun, 9 Oct 2022 02:14:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dB09TPrbNMU9FaRtcl7v+1pyvYQ1lmojaLxHjHh+trLqgarc9pNdypgiMcHStKEQnGzboXaVHQ4COEXIP087CKwou2gkW4BHP+Qg259u/lOqgyDk9QXfgXmFInXkzJduozgiZ75hHrJ53SPTMI96C9njxnkozM9i6FER1HGE6ibvv9wdaUQcRDp5f9O/zf/vMFEw8leDKv7Nc6b6NB6f5KTPP0pE5bUNA151Ca01zOM+TXq470GNQ/LNV1e9ZLuNxdWUH37sOMU+IlBy3BpeAs+giR1PPJoHwvto5shrfDE2y7E5pOWJxUA049mQFvZ8hssimqpOKM00hvmC4AnR5w== 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=q0a8GLr3+Wvk3U0ED7b/JTaSyx/8TGVqvtPYVhdpf2I=; b=G9qfpi/Iq6oU+JrdNqTNXkhA3ain166xCqmTbJUV3nW+UWC3nxhkPb35SPR3f2iPQZay3IYlGI5+sORUUmmPdrI54ZupyOaprvUVrMmmVJV5cpNuze7Xo9QwARKRIGvRjDBDk85HtlBfCy/jplAbfb+mF7Kn3WFe4l0BR4YV46fd+GtghDVf/wZ50pmsBT6Si1GdJjZmfDJhInFNzwaAucq8c9Feu/5FzUMGqP2CU5lx9eIsF4+0qvuXYjgO2uonbdz3PaxfBsclwVlzBQ8DlXywMhyU95x2AllzLJqjP9I54nz/0P8XBCwlNQLg/7ncgQddDEwKo5jsUrVCsFCNzw== 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 MW3PR11MB4652.namprd11.prod.outlook.com (2603:10b6:303:5a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.24; Sun, 9 Oct 2022 09:14:12 +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.5676.032; Sun, 9 Oct 2022 09:14:12 +0000 From: "Guo, Junfeng" To: Ferruh Yigit , "Zhang, Qi Z" , "Wu, Jingjing" CC: "ferruh.yigit@xilinx.com" , "dev@dpdk.org" , "Li, Xiaoyun" , "awogbemila@google.com" , "Richardson, Bruce" , "Lin, Xueqin" , "Wang, Haiyue" Subject: RE: [PATCH v4 1/9] net/gve/base: introduce GVE PMD base code Thread-Topic: [PATCH v4 1/9] net/gve/base: introduce GVE PMD base code Thread-Index: AQHY0kN6ZEWU2oglrEiD00esNwFavK4BeNSAgAQnfgA= Date: Sun, 9 Oct 2022 09:14:12 +0000 Message-ID: References: <20220923093829.3019525-2-junfeng.guo@intel.com> <20220927073255.1803892-1-junfeng.guo@intel.com> <20220927073255.1803892-2-junfeng.guo@intel.com> <5dbd6741-8d7c-1185-dae5-ec2dc5c14e29@amd.com> In-Reply-To: <5dbd6741-8d7c-1185-dae5-ec2dc5c14e29@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_|MW3PR11MB4652:EE_ x-ms-office365-filtering-correlation-id: 7fbf4487-9a9e-4b40-9f05-08daa9d6a151 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lFrT3c+RarA5SlnhJvuMqsvABJelRStPNnD+vTrx2e7BF0OiwMY5zBedDJpEdpObuvW2cVjMfX42A2kl0aIdOIBdDfyHBJvdGRdCb7HD8qHNNeEASHuKpQT5FpSy/gDktMxZYU+l09oXQXcjjo4gDnM1a2XmeJUXjytmo/S0Qpni2IxPSsGo7IbH3uDrc0SKnhKX+gJm/iLwIZBI4qsGPOWZ8qs7YG/58W70Yx7qVoQwdmfY/IW1peHCtPRmGqPTDQ6kuZeUlrymbtSnGJiiNi/r5kmm+0w/ozh2tpQFWDm8WWL1VcZrtnx1AcU/ftBZXEl0iyPaiJykRJPw0DH+3PyTJhIDRyk+XgjwjkdSYJ5l6N+80yya0TBYvu+nze57rcAHny5uDJHstmqOVrIOXdj4hxS+v8WdckUV+7zQLz+bZ7kof2muOzkcmXQJdvdwywBg1ENHiRPXChjKvEacgx6bkpIoNF6ozX8xpuwip1pTaSI19VTm2aD0cW87VYMQ0NVe4RBup2XqlRGEuiME9ZQH+pKbn5xWh8dv2DG80THybmJhmIWUI5irsEv/CSSEZTMb9T7R6qG5KPyX0BunVRC8XKySPFcciTaOGwz4CpevGi38ucKT4jIlJ4Fk6BmxreKbbj0TTxnf1a2HfFVG72RfIDUkOs94qRq1KNl2FAvhcMr8yay0428UrHzv3Kp5GhCWk0zKDDY2qM0AJIXcbCJO0FlLqJ+lfwcms23nqnZYdqR5h5z2J/gTHDzAv/1PRy5Ym8nbaK17iXw9iMzpyffBYCm2wad1arNO9Md6R9Q= 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)(396003)(39860400002)(346002)(376002)(366004)(136003)(451199015)(53546011)(6506007)(9686003)(26005)(966005)(478600001)(7696005)(107886003)(83380400001)(186003)(5660300002)(2906002)(55016003)(316002)(110136005)(54906003)(6636002)(71200400001)(8676002)(8936002)(41300700001)(52536014)(4326008)(66946007)(66476007)(76116006)(66556008)(64756008)(66446008)(38070700005)(86362001)(33656002)(122000001)(38100700002)(82960400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?emkzMDhVNXlyamZVem80NjlNZUFCbkhsU3pIMXZjdGFyNW5xVjJxaG10VDhX?= =?utf-8?B?aUY0dTFoK29Vcm9tUnVkRlhNU2xudFpQeGI1LzV5bDBxYmtvaWorZ09xSFU4?= =?utf-8?B?MWx2UlFUTHRnZy8zeFdCRFRJNUs4YkNzaTBWUGFXdkpZZFhGWEF3YkpUZ3R6?= =?utf-8?B?TCtreDJITjNickdkZmw1bHhnMXBOditCYndLaU9LYVVKTmNtQyt5WDhuTXFn?= =?utf-8?B?MDlmTUdBKzJvbmFZZmt2c29CWlRwNzZHYUxTNElSZEptN0pUcE9zc2lHQWdB?= =?utf-8?B?VUlrSWpwWGRDcmVRUlMzallJYVVCVXd2bjNVdTVKZmVhSjVRLzVKMEphK2Jy?= =?utf-8?B?eXFXdEtTTjVVWTNyaGlKcTRhTEZjR2hBa1RjbWtyOFVBZldyaUlSTzZ1cWxR?= =?utf-8?B?VHRTU29KWGd5OTFBN2s1RGpwUkhDZlMycWdiU21HNEtWblJmbHdGZ202KzJy?= =?utf-8?B?c0xXOVFrLytwRFZWYnJ0TzcyWFAxaEJXSU00TWxiSDZEcDEzVDlKc1JXSTdB?= =?utf-8?B?eXRPb3I5QjBmckc4c0t2UExzaXk2UlA5WXZ6SEhyUEdpYTNpN0wvc21Uam01?= =?utf-8?B?RERTQkdRV0EvbE83bjYrTHY1Z0UrVjZJWWEzS2JMWWZoY1h6Nk5SQzM3SGdC?= =?utf-8?B?QlRCbyt3akV4Z0xBL0V6a1JiZnUvY0JxRXFMSUFjSElOdFZSeWkvNDBxdnV4?= =?utf-8?B?WGRIdWpSY0tpZjJBK2pNVlVvaXBEY1YxNnFWSGZnZDhCTmJTUGFzNUZVbGx4?= =?utf-8?B?ZlBLY2R4Kyt0d2VjUVpMZ1NYdTNDb3NHSng3c3B5SHF3V0daMytkYzUzQzhq?= =?utf-8?B?ejcrRFNxSVdrWGtyK1JlekI2c0swTUVESk9oU0xUbFl0YzIvZ0xwTW9aUGNY?= =?utf-8?B?czF5cGRFZDRMZFNvZng0eW9YWHlTSW9sNTdmL1dIYlcreFp5ZTNVVGdEVGEx?= =?utf-8?B?SXdtVmpDRnB0QVZRTzFJcEQzdlZCbmdJN2FyWVpHSjkxQlYrTm1oR2RtYkJs?= =?utf-8?B?Mm1zSXRTUjZCZkY3MEJYSDQ2ajRXcXg2eVYwbUFCSWNkUFVVZDhYbFY2RnNN?= =?utf-8?B?cG00OHhxc2NZc0NSd3lHZERLd3N2d2JMeEFLUVdHT0RHZnh1L0k0ZzdzZWJN?= =?utf-8?B?NCtsaTFCd0x3YjRXMVRjazdQRElsMUs3TGVsKzA3cWN3bEk1WE9xU2NZbnFG?= =?utf-8?B?V1N4VTM1RUpQWnlwMHlJakgwUVR6aS9LVng2cm53M29vdUdzRTJ3OEtPQmNS?= =?utf-8?B?YXRnZHo3TFVmQ1hGQitFQ1c5VjVmdzJUTmZEMUlSQ3NMTmNMWXd6N3FvVVl4?= =?utf-8?B?RFFCZ3RjZTkwRERSUlJxbHNEZzZKaGJsR2NDdmpDLzg4K0NKenI0YkJZdjFl?= =?utf-8?B?SCsrUEdBWEVSTG9CU2Z5RVB3c3Azdld4anUyN00wdjk0UkREUUlYVXgrZlpn?= =?utf-8?B?VHpOb2MyMWVPOFB0b2lXeFZNVlVjUmE2cTBuUGxFTGxQa3FSYWExODQrZnAz?= =?utf-8?B?K0lsYTh5RmoxNDRMSjNFK2g3T3BnRlNVUGRVUjA1Q3UwZitRZ3BjWWtzTHpu?= =?utf-8?B?S0JJcnNXTDlscFBZa0lESi9tWk93MjVVQlYvek1PY2RsN29IOUw1WHYxUlRv?= =?utf-8?B?Wm92N0VVcitid2tCWjluREsrbjJLNW41YTRveVZPZXhOVkNpaDRHR2l5Tmt0?= =?utf-8?B?VnpwN2wyZHhyaVJ4NGVxaE1vdFJ4SGhaaDNoeDUxUlFQWDI3OCthZlJTL0Np?= =?utf-8?B?cG42d1JOa0g3UzdZSytTdjYvLzd5N0dvYUpJOW1ZY3J2TWZqTWN3cXBzaWJ5?= =?utf-8?B?SnhDQlB0bmp1RnU4RnRySFBFd1gxQWdWMVNYSHBqMTVjTFljRjR3bjc0dldH?= =?utf-8?B?bGgvNzFqWXZzRU91UFJiaWx2bFZCYnhlbHNBRzVFK2tlSnY4M0pBb0VvOUxl?= =?utf-8?B?bjhsaURUTXR2bm5jVEw5cENYTEFrWTZTOFhZMW9jMmFUcTlGVkpmdFFBc2FZ?= =?utf-8?B?ZFZOSWZaUUZPWXg5dU1TdUk2aWRac0tUZ3kxQWt4S0pVRXF1Z3RBQ0JORlBa?= =?utf-8?B?WmxxMFRpa1FPendjeWJCL3ZKNWl3K3BjNUhCOGNzdjlQNUM5TS9zTEdPZzgz?= =?utf-8?Q?JprrQcLEHs2qwdFGmonc89ril?= 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: 7fbf4487-9a9e-4b40-9f05-08daa9d6a151 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2022 09:14:12.0766 (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: z7nG2ldVOduGSfMG7ZF3X7Jhsy3Qjx1MoD+VGTi/LlyeNvlXYDEiXfzSUbJ0JmlP9Mum4AdycvtA5NaEOpdSag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4652 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 ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIE9jdG9iZXIgNiwgMjAyMiAy MjoyMA0KPiBUbzogR3VvLCBKdW5mZW5nIDxqdW5mZW5nLmd1b0BpbnRlbC5jb20+OyBaaGFuZywg UWkgWg0KPiA8cWkuei56aGFuZ0BpbnRlbC5jb20+OyBXdSwgSmluZ2ppbmcgPGppbmdqaW5nLnd1 QGludGVsLmNvbT4NCj4gQ2M6IGZlcnJ1aC55aWdpdEB4aWxpbnguY29tOyBkZXZAZHBkay5vcmc7 IExpLCBYaWFveXVuDQo+IDx4aWFveXVuLmxpQGludGVsLmNvbT47IGF3b2diZW1pbGFAZ29vZ2xl LmNvbTsgUmljaGFyZHNvbiwgQnJ1Y2UNCj4gPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsg TGluLCBYdWVxaW4gPHh1ZXFpbi5saW5AaW50ZWwuY29tPjsNCj4gV2FuZywgSGFpeXVlIDxoYWl5 dWUud2FuZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMS85XSBuZXQvZ3Zl L2Jhc2U6IGludHJvZHVjZSBHVkUgUE1EIGJhc2UgY29kZQ0KPiANCj4gT24gOS8yNy8yMDIyIDg6 MzIgQU0sIEp1bmZlbmcgR3VvIHdyb3RlOg0KPiANCj4gPg0KPiA+IFRoZSBmb2xsb3dpbmcgYmFz ZSBjb2RlIGlzIGJhc2VkIG9uIEdvb2dsZSBWaXJ0dWFsIEV0aGVybmV0IChndmUpDQo+ID4gZHJp dmVyIHYxLjMuMCB1bmRlciBNSVQgbGljZW5zZS4NCj4gPiAtIGd2ZV9hZG1pbnEuYw0KPiA+IC0g Z3ZlX2FkbWlucS5oDQo+ID4gLSBndmVfZGVzYy5oDQo+ID4gLSBndmVfZGVzY19kcW8uaA0KPiA+ IC0gZ3ZlX3JlZ2lzdGVyLmgNCj4gPiAtIGd2ZS5oDQo+ID4NCj4gPiBUaGUgb3JpZ2luYWwgY29k ZSBpcyBpbjoNCj4gPiBodHRwczovL2dpdGh1Yi5jb20vR29vZ2xlQ2xvdWRQbGF0Zm9ybS9jb21w dXRlLXZpcnR1YWwtZXRoZXJuZXQtDQo+IGxpbnV4L1wNCj4gPiB0cmVlL3YxLjMuMC9nb29nbGUv Z3ZlDQo+ID4NCj4gPiBOb3RlIHRoYXQgdGhlc2UgY29kZSBhcmUgbm90IEludGVsIGZpbGVzIGFu ZCB0aGV5IGNvbWUgZnJvbSB0aGUga2VybmVsDQo+ID4gY29tbXVuaXR5LiBUaGUgYmFzZSBjb2Rl IHRoZXJlIGhhcyB0aGUgc3RhdGVtZW50IG9mDQo+ID4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IChHUEwtMi4wIE9SIE1JVCkuIEhlcmUgd2UganVzdCBmb2xsb3cgdGhlDQo+ID4gcmVxdWlyZWQg TUlUIGxpY2Vuc2UgYXMgYW4gZXhjZXB0aW9uIHRvIERQREsuDQo+ID4NCj4gPiBTaWduZWQtb2Zm LWJ5OiBYaWFveXVuIExpIDx4aWFveXVuLmxpQGludGVsLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5 OiBIYWl5dWUgV2FuZyA8aGFpeXVlLndhbmdAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6 IEp1bmZlbmcgR3VvIDxqdW5mZW5nLmd1b0BpbnRlbC5jb20+DQo+IA0KPiA8Li4uPg0KPiANCj4g PiArLyogUHJvY2VzcyBhbGwgZGV2aWNlIG9wdGlvbnMgZm9yIGEgZ2l2ZW4gZGVzY3JpYmUgZGV2 aWNlIGNhbGwuICovDQo+ID4gK3N0YXRpYyBpbnQNCj4gPiArZ3ZlX3Byb2Nlc3NfZGV2aWNlX29w dGlvbnMoc3RydWN0IGd2ZV9wcml2ICpwcml2LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBndmVfZGV2aWNlX2Rlc2NyaXB0b3IgKmRlc2NyaXB0b3IsDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGd2ZV9kZXZpY2Vfb3B0aW9uX2dxaV9yZGEgKipk ZXZfb3BfZ3FpX3JkYSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZ3Zl X2RldmljZV9vcHRpb25fZ3FpX3FwbCAqKmRldl9vcF9ncWlfcXBsLA0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBndmVfZGV2aWNlX29wdGlvbl9kcW9fcmRhICoqZGV2X29w X2Rxb19yZGEsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGd2ZV9kZXZp Y2Vfb3B0aW9uX2p1bWJvX2ZyYW1lcw0KPiAqKmRldl9vcF9qdW1ib19mcmFtZXMpDQo+ID4gK3sN Cj4gPiArICAgICAgIGNvbnN0IGludCBudW1fb3B0aW9ucyA9IGJlMTZfdG9fY3B1KGRlc2NyaXB0 b3ItDQo+ID5udW1fZGV2aWNlX29wdGlvbnMpOw0KPiA+ICsgICAgICAgc3RydWN0IGd2ZV9kZXZp Y2Vfb3B0aW9uICpkZXZfb3B0Ow0KPiA+ICsgICAgICAgaW50IGk7DQo+ID4gKw0KPiA+ICsgICAg ICAgLyogVGhlIG9wdGlvbnMgc3RydWN0IGRpcmVjdGx5IGZvbGxvd3MgdGhlIGRldmljZSBkZXNj cmlwdG9yLiAqLw0KPiA+ICsgICAgICAgZGV2X29wdCA9IFJURV9QVFJfQUREKGRlc2NyaXB0b3Is IHNpemVvZigqZGVzY3JpcHRvcikpOw0KPiA+ICsgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV9v cHRpb25zOyBpKyspIHsNCj4gPiArICAgICAgICAgICAgICAgc3RydWN0IGd2ZV9kZXZpY2Vfb3B0 aW9uICpuZXh0X29wdDsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgIG5leHRfb3B0ID0gZ3Zl X2dldF9uZXh0X29wdGlvbihkZXNjcmlwdG9yLCBkZXZfb3B0KTsNCj4gPiArICAgICAgICAgICAg ICAgaWYgKCFuZXh0X29wdCkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIFBNRF9EUlZf TE9HKEVSUiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3B0aW9u cyBleGNlZWQgZGV2aWNlX2Rlc2NyaXB0b3IncyB0b3RhbCBsZW5ndGguIik7DQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gKyAgICAgICAgICAgICAgIH0N Cj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgIGd2ZV9wYXJzZV9kZXZpY2Vfb3B0aW9uKHByaXYs IGRldl9vcHQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl dl9vcF9ncWlfcmRhLCBkZXZfb3BfZ3FpX3FwbCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGV2X29wX2Rxb19yZGEsIGRldl9vcF9qdW1ib19mcmFtZXMpOw0K PiA+ICsgICAgICAgICAgICAgICBkZXZfb3B0ID0gbmV4dF9vcHQ7DQo+ID4gKyAgICAgICB9DQo+ ID4gKw0KPiA+ICsgICAgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gK2ludCBndmVf YWRtaW5xX2FsbG9jKHN0cnVjdCBndmVfcHJpdiAqcHJpdikNCj4gDQo+IENhbiB5b3UgcGxlYXNl IGJlIGNvbnNpc3RlbnQgaW4gdGhlIHN5bnRheCwgYXQgbGVhc3Qgd2l0aGluIHNhbWUgZmlsZSwN Cj4gaWYgdGhpcyBmaWxlIGhhcyBzbGlnaHRseSBkaWZmZXJlbnQgc3ludGF4IGJlY2F1c2UgaXQg aXMgYmFzZSBmaWxlLCBrZWVwDQo+IHRoZSBmaWxlIHN5bnRheCBpbnN0ZWFkIG9mIG1peGluZyB3 aXRoIERQREsgc3ludGF4LA0KPiBsaWtlIHJldHVybiB0eXBlIG9mIGZ1bmN0aW9uIHNob3VsZCBi ZSBvbiBzZXBhcmF0ZSBsaW5lLg0KPiANCj4gQSBnZW5lcmljIGNvbW1lbnQgZm9yIGFsbCBiYXNl IGZpbGVzLg0KDQpUaGFua3MgZm9yIHJlbWluZGluZyENCldpbGwga2VlcCB0aGUgc2FtZSBzeW50 YXggd2l0aCBrZXJuZWwgY29kZSBmb3IgdGhlIGZpbGVzIHdpdGhpbiB0aGUgYmFzZSBmb2xkZXIu DQpBbmQgdXNlIERQREsgc3ludGF4IGZvciB0aGUgZmlsZXMgaW4gdGhlIHVwcGVyIGZvbGRlciBv ZiB0aGUgYmFzZS4NCkZvciB0aGUgYmFzZSBmaWxlcywgaXQgd291bGQgYmUgYmV0dGVyIHRvIGtl ZXAgbW9zdCBvZiB0aGUgY29kZSB3aXRoIHRoZSBvcmlnaW5zLg0KDQo+IA0KPiA8Li4uPg0KPiAN Cj4gPiAraW50IGd2ZV9hZG1pbnFfZGVzY3JpYmVfZGV2aWNlKHN0cnVjdCBndmVfcHJpdiAqcHJp dikNCj4gPiArew0KPiA+ICsgICAgICAgc3RydWN0IGd2ZV9kZXZpY2Vfb3B0aW9uX2p1bWJvX2Zy YW1lcyAqZGV2X29wX2p1bWJvX2ZyYW1lcw0KPiA9IE5VTEw7DQo+ID4gKyAgICAgICBzdHJ1Y3Qg Z3ZlX2RldmljZV9vcHRpb25fZ3FpX3JkYSAqZGV2X29wX2dxaV9yZGEgPSBOVUxMOw0KPiA+ICsg ICAgICAgc3RydWN0IGd2ZV9kZXZpY2Vfb3B0aW9uX2dxaV9xcGwgKmRldl9vcF9ncWlfcXBsID0g TlVMTDsNCj4gPiArICAgICAgIHN0cnVjdCBndmVfZGV2aWNlX29wdGlvbl9kcW9fcmRhICpkZXZf b3BfZHFvX3JkYSA9IE5VTEw7DQo+ID4gKyAgICAgICBzdHJ1Y3QgZ3ZlX2RldmljZV9kZXNjcmlw dG9yICpkZXNjcmlwdG9yOw0KPiA+ICsgICAgICAgc3RydWN0IGd2ZV9kbWFfbWVtIGRlc2NyaXB0 b3JfZG1hX21lbTsNCj4gPiArICAgICAgIHUzMiBzdXBwb3J0ZWRfZmVhdHVyZXNfbWFzayA9IDA7 DQo+ID4gKyAgICAgICB1bmlvbiBndmVfYWRtaW5xX2NvbW1hbmQgY21kOw0KPiA+ICsgICAgICAg aW50IGVyciA9IDA7DQo+ID4gKyAgICAgICB1OCAqbWFjOw0KPiA+ICsgICAgICAgdTE2IG10dTsN Cj4gPiArDQo+ID4gKyAgICAgICBtZW1zZXQoJmNtZCwgMCwgc2l6ZW9mKGNtZCkpOw0KPiA+ICsg ICAgICAgZGVzY3JpcHRvciA9IGd2ZV9hbGxvY19kbWFfbWVtKCZkZXNjcmlwdG9yX2RtYV9tZW0s DQo+IFBBR0VfU0laRSk7DQo+ID4gKyAgICAgICBpZiAoIWRlc2NyaXB0b3IpDQo+ID4gKyAgICAg ICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPiA+ICsgICAgICAgY21kLm9wY29kZSA9IGNwdV90 b19iZTMyKEdWRV9BRE1JTlFfREVTQ1JJQkVfREVWSUNFKTsNCj4gPiArICAgICAgIGNtZC5kZXNj cmliZV9kZXZpY2UuZGV2aWNlX2Rlc2NyaXB0b3JfYWRkciA9DQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNwdV90b19iZTY0KGRlc2NyaXB0b3JfZG1hX21lbS5w YSk7DQo+ID4gKyAgICAgICBjbWQuZGVzY3JpYmVfZGV2aWNlLmRldmljZV9kZXNjcmlwdG9yX3Zl cnNpb24gPQ0KPiA+ICsNCj4gY3B1X3RvX2JlMzIoR1ZFX0FETUlOUV9ERVZJQ0VfREVTQ1JJUFRP Ul9WRVJTSU9OKTsNCj4gPiArICAgICAgIGNtZC5kZXNjcmliZV9kZXZpY2UuYXZhaWxhYmxlX2xl bmd0aCA9IGNwdV90b19iZTMyKFBBR0VfU0laRSk7DQo+ID4gKw0KPiA+ICsgICAgICAgZXJyID0g Z3ZlX2FkbWlucV9leGVjdXRlX2NtZChwcml2LCAmY21kKTsNCj4gPiArICAgICAgIGlmIChlcnIp DQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8gZnJlZV9kZXZpY2VfZGVzY3JpcHRvcjsNCj4gPiAr DQo+ID4gKyAgICAgICBlcnIgPSBndmVfcHJvY2Vzc19kZXZpY2Vfb3B0aW9ucyhwcml2LCBkZXNj cmlwdG9yLA0KPiAmZGV2X29wX2dxaV9yZGEsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZGV2X29wX2dxaV9xcGwsICZkZXZfb3BfZHFvX3JkYSwNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZXZfb3BfanVtYm9fZnJh bWVzKTsNCj4gPiArICAgICAgIGlmIChlcnIpDQo+ID4gKyAgICAgICAgICAgICAgIGdvdG8gZnJl ZV9kZXZpY2VfZGVzY3JpcHRvcjsNCj4gPiArDQo+ID4gKyAgICAgICAvKiBJZiB0aGUgR1FJX1JB V19BRERSRVNTSU5HIG9wdGlvbiBpcyBub3QgZW5hYmxlZCBhbmQgdGhlDQo+IHF1ZXVlIGZvcm1h dA0KPiA+ICsgICAgICAgICogaXMgbm90IHNldCB0byBHcWlSZGEsIGNob29zZSB0aGUgcXVldWUg Zm9ybWF0IGluIGEgcHJpb3JpdHkgb3JkZXI6DQo+ID4gKyAgICAgICAgKiBEcW9SZGEsIEdxaVJk YSwgR3FpUXBsLiBVc2UgR3FpUXBsIGFzIGRlZmF1bHQuDQo+ID4gKyAgICAgICAgKi8NCj4gPiAr ICAgICAgIGlmIChkZXZfb3BfZHFvX3JkYSkgew0KPiA+ICsgICAgICAgICAgICAgICBwcml2LT5x dWV1ZV9mb3JtYXQgPSBHVkVfRFFPX1JEQV9GT1JNQVQ7DQo+ID4gKyAgICAgICAgICAgICAgIFBN RF9EUlZfTE9HKElORk8sICJEcml2ZXIgaXMgcnVubmluZyB3aXRoIERRTyBSREEgcXVldWUNCj4g Zm9ybWF0LiIpOw0KPiA+ICsgICAgICAgICAgICAgICBzdXBwb3J0ZWRfZmVhdHVyZXNfbWFzayA9 DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgYmUzMl90b19jcHUoZGV2X29wX2Rxb19yZGEt DQo+ID5zdXBwb3J0ZWRfZmVhdHVyZXNfbWFzayk7DQo+ID4gKyAgICAgICB9IGVsc2UgaWYgKGRl dl9vcF9ncWlfcmRhKSB7DQo+ID4gKyAgICAgICAgICAgICAgIHByaXYtPnF1ZXVlX2Zvcm1hdCA9 IEdWRV9HUUlfUkRBX0ZPUk1BVDsNCj4gPiArICAgICAgICAgICAgICAgUE1EX0RSVl9MT0coSU5G TywgIkRyaXZlciBpcyBydW5uaW5nIHdpdGggR1FJIFJEQSBxdWV1ZQ0KPiBmb3JtYXQuIik7DQo+ ID4gKyAgICAgICAgICAgICAgIHN1cHBvcnRlZF9mZWF0dXJlc19tYXNrID0NCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICBiZTMyX3RvX2NwdShkZXZfb3BfZ3FpX3JkYS0NCj4gPnN1cHBvcnRl ZF9mZWF0dXJlc19tYXNrKTsNCj4gPiArICAgICAgIH0gZWxzZSBpZiAocHJpdi0+cXVldWVfZm9y bWF0ID09IEdWRV9HUUlfUkRBX0ZPUk1BVCkgew0KPiA+ICsgICAgICAgICAgICAgICBQTURfRFJW X0xPRyhJTkZPLCAiRHJpdmVyIGlzIHJ1bm5pbmcgd2l0aCBHUUkgUkRBIHF1ZXVlDQo+IGZvcm1h dC4iKTsNCj4gPiArICAgICAgIH0gZWxzZSB7DQo+ID4gKyAgICAgICAgICAgICAgIHByaXYtPnF1 ZXVlX2Zvcm1hdCA9IEdWRV9HUUlfUVBMX0ZPUk1BVDsNCj4gPiArICAgICAgICAgICAgICAgaWYg KGRldl9vcF9ncWlfcXBsKQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRlZF9m ZWF0dXJlc19tYXNrID0NCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlMzJf dG9fY3B1KGRldl9vcF9ncWlfcXBsLQ0KPiA+c3VwcG9ydGVkX2ZlYXR1cmVzX21hc2spOw0KPiA+ ICsgICAgICAgICAgICAgICBQTURfRFJWX0xPRyhJTkZPLCAiRHJpdmVyIGlzIHJ1bm5pbmcgd2l0 aCBHUUkgUVBMIHF1ZXVlDQo+IGZvcm1hdC4iKTsNCj4gPiArICAgICAgIH0NCj4gPiArICAgICAg IGlmIChndmVfaXNfZ3FpKHByaXYpKSB7DQo+ID4gKyAgICAgICAgICAgICAgIGVyciA9IGd2ZV9z ZXRfZGVzY19jbnQocHJpdiwgZGVzY3JpcHRvcik7DQo+ID4gKyAgICAgICB9IGVsc2Ugew0KPiA+ ICsgICAgICAgICAgICAgICAvKiBEUU8gc3VwcG9ydHMgTFJPLiAqLw0KPiA+ICsgICAgICAgICAg ICAgICBlcnIgPSBndmVfc2V0X2Rlc2NfY250X2Rxbyhwcml2LCBkZXNjcmlwdG9yLA0KPiBkZXZf b3BfZHFvX3JkYSk7DQo+ID4gKyAgICAgICB9DQo+ID4gKyAgICAgICBpZiAoZXJyKQ0KPiA+ICsg ICAgICAgICAgICAgICBnb3RvIGZyZWVfZGV2aWNlX2Rlc2NyaXB0b3I7DQo+ID4gKw0KPiA+ICsg ICAgICAgcHJpdi0+bWF4X3JlZ2lzdGVyZWRfcGFnZXMgPQ0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYmU2NF90b19jcHUoZGVzY3JpcHRvci0+bWF4X3JlZ2lzdGVyZWRfcGFn ZXMpOw0KPiA+ICsgICAgICAgbXR1ID0gYmUxNl90b19jcHUoZGVzY3JpcHRvci0+bXR1KTsNCj4g PiArICAgICAgIGlmIChtdHUgPCBFVEhfTUlOX01UVSkgew0KPiA+ICsgICAgICAgICAgICAgICBQ TURfRFJWX0xPRyhFUlIsICJNVFUgJWQgYmVsb3cgbWluaW11bSBNVFUiLCBtdHUpOw0KPiA+ICsg ICAgICAgICAgICAgICBlcnIgPSAtRUlOVkFMOw0KPiA+ICsgICAgICAgICAgICAgICBnb3RvIGZy ZWVfZGV2aWNlX2Rlc2NyaXB0b3I7DQo+ID4gKyAgICAgICB9DQo+ID4gKyAgICAgICBwcml2LT5t YXhfbXR1ID0gbXR1Ow0KPiA+ICsgICAgICAgcHJpdi0+bnVtX2V2ZW50X2NvdW50ZXJzID0gYmUx Nl90b19jcHUoZGVzY3JpcHRvci0+Y291bnRlcnMpOw0KPiA+ICsgICAgICAgcnRlX21lbWNweShw cml2LT5kZXZfYWRkci5hZGRyX2J5dGVzLCBkZXNjcmlwdG9yLT5tYWMsDQo+IEVUSF9BTEVOKTsN Cj4gPiArICAgICAgIG1hYyA9IGRlc2NyaXB0b3ItPm1hYzsNCj4gPiArICAgICAgIFBNRF9EUlZf TE9HKElORk8sICJNQUMNCj4gYWRkcjogJTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4OiUwMngiLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgbWFjWzBdLCBtYWNbMV0sIG1hY1syXSwgbWFjWzNdLCBt YWNbNF0sIG1hY1s1XSk7DQo+ID4gKyAgICAgICBwcml2LT50eF9wYWdlc19wZXJfcXBsID0gYmUx Nl90b19jcHUoZGVzY3JpcHRvci0NCj4gPnR4X3BhZ2VzX3Blcl9xcGwpOw0KPiA+ICsgICAgICAg cHJpdi0+cnhfZGF0YV9zbG90X2NudCA9IGJlMTZfdG9fY3B1KGRlc2NyaXB0b3ItDQo+ID5yeF9w YWdlc19wZXJfcXBsKTsNCj4gPiArDQo+ID4gKyAgICAgICBpZiAoZ3ZlX2lzX2dxaShwcml2KSAm JiBwcml2LT5yeF9kYXRhX3Nsb3RfY250IDwgcHJpdi0+cnhfZGVzY19jbnQpDQo+IHsNCj4gPiAr ICAgICAgICAgICAgICAgUE1EX0RSVl9MT0coRVJSLCAicnhfZGF0YV9zbG90X2NudCBjYW5ub3Qg YmUgc21hbGxlcg0KPiB0aGFuIHJ4X2Rlc2NfY250LCBzZXR0aW5nIHJ4X2Rlc2NfY250IGRvd24g dG8gJWQiLA0KPiANCj4gQ2FuIHlvdSB0cnkgdG8gcmVkdWNlIHRoZSBsaW5lIGxlbmd0aCBhczsN Cj4gUE1EX0RSVl9MT0coRVJSLA0KPiAJInJ4X2RhdGFfc2xvdF9jbnQgY2Fubm90IGJlIHNtYWxs ZXIgdGhhbiByeF9kZXNjX2NudCwgc2V0dGluZw0KPiByeF9kZXNjX2NudCBkb3duIHRvICVkIiwN Cg0KU3VyZSwgaXQgY291bGQgYmUuIEJ1dCBpdCB3b3VsZCBzdGlsbCByZWFjaCB0aGUgMTAwIGNo YXJhY3RlcnMgbGltaXQgZXZlbiBzdGFydGVkDQp3aXRoIGEgbmV3IGxpbmUuLi4gR29vZCBuZXdz IGlzIHRoYXQgaXQgaXMgb25seSBsb2cgdGhhdCB3b24ndCB0cmlnZ2VyIHdhcm5pbmdzDQp3aGls ZSBydW5uaW5nIHRoZSBidWlsZC4NCg0K