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 A56D141CBA; Fri, 17 Feb 2023 07:44:29 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 69F3340EE1; Fri, 17 Feb 2023 07:44:28 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2049.outbound.protection.outlook.com [40.107.93.49]) by mails.dpdk.org (Postfix) with ESMTP id 3DDCE40A8B for ; Fri, 17 Feb 2023 07:44:26 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MbnUpPsPBUTZ8gtPqe8CDOi3kbfu5wm1576Ssj/PVwgu7JqaN7M/7DaGq93KseYnApM7trpdffQATRELbS3w9fEZfsXwhN2NkvmaPneqRVUKRmLH0Mzw84F0iFUejPfMZ4YPwrcxhilsT6BEu8/E1+JX8C2rjlzu2sOUIuLgSY5dgcve8Uv8/lg5NjiusjTwH9Vj6yLf3HVPcNRcsvAFxd9p4UNCEx6yYfYbX6lbGGasWXs+3QMsdBcQ7QNJ+Pi7iNG2AzgW89FQT9nnNKhwNpLdekuqqN4U5wWC/HJ1QoE7uF//6qu/sQdR+uj4dhQNj7BLxqJ8DRnv95kk8ETUbw== 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=CqjnpdP1YgkG05tb4rBpWQYTChGXZ6I79u9aAHwPkGM=; b=DjbE4aJgOY9tLoaZesTy+gwcFbrA5NDeX5RrTfOC7GgNVmFeh0h9ynduzLKxH3fTq9gRrpjYeT1t/kK3NU/UK2mFAPZo6oGVa3GB3zWlBp79GYrsGMTrE4KNDsTujNtn7AVxbrFiXpyWeatuxqGSEp9qop5vTNbhZLJrpHQ/abDeBiTfCcuwy7aK0x7p32KX3UG7gQHu1gB+nOc3xmBm7sGi58NM0uMQudWOGYgkBvlChy07/8ZSucBK8ZOCeYrDZ3PB9SgCAs1uFt9CDAUAayaPrGsWyY3bw8WPQmGL0vvF47TbnvVilDtz6WutVXu18h3dfbYBCnwvyZhwUkWNkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CqjnpdP1YgkG05tb4rBpWQYTChGXZ6I79u9aAHwPkGM=; b=B+g5qbbhiwxriyL52H4DZtlPTMEunADDOWh2p2tgfXzRrbPfDoH945F4IWdzC/k51LTuDpXQbw8KhI7iOY0MAjSjWDxjTVfvpHEJcTvj4hsD5gEVEgLDT9B9ErKF5mLo2reMEVvDD8qrmnre3ve4VOKjKHtzno8gQMn9bWLDcwh71FXo5KlTm6b5r69ywyPsqFwH7MSCPW/JshHDIEdsSuvUGuvppoXRjRQ2V60XsRXxN7Iq8eY7KMI/MduUB+idz9pgz6zXKafHW5TCruWpIO6PhCGqSgDqb4gbbc57w5LEic2O4g00GBC9lS4sI7UrG0gGDAsw8KCjsB8U+fYr9w== Received: from PH0PR12MB5451.namprd12.prod.outlook.com (2603:10b6:510:ee::20) by PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6111.12; Fri, 17 Feb 2023 06:44:24 +0000 Received: from PH0PR12MB5451.namprd12.prod.outlook.com ([fe80::eda3:8be9:a0a7:9f53]) by PH0PR12MB5451.namprd12.prod.outlook.com ([fe80::eda3:8be9:a0a7:9f53%6]) with mapi id 15.20.6111.015; Fri, 17 Feb 2023 06:44:23 +0000 From: "Jiawei(Jonny) Wang" To: Ferruh Yigit , Slava Ovsiienko , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "andrew.rybchenko@oktetlabs.ru" , Aman Singh , Yuying Zhang CC: "dev@dpdk.org" , Raslan Darawsheh Subject: RE: [PATCH v5 1/2] ethdev: introduce the Tx map API for aggregated ports Thread-Topic: [PATCH v5 1/2] ethdev: introduce the Tx map API for aggregated ports Thread-Index: AQHZQIvoaV4NNsu3U06E/+QndlyGba7R31+AgADPJAA= Date: Fri, 17 Feb 2023 06:44:23 +0000 Message-ID: References: <20230203050717.46914-1-jiaweiw@nvidia.com> <20230214154836.9681-1-jiaweiw@nvidia.com> <20230214154836.9681-2-jiaweiw@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR12MB5451:EE_|PH7PR12MB5685:EE_ x-ms-office365-filtering-correlation-id: e3877829-f920-427b-844e-08db10b267ec x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wtmkeRld3LqkJ54wD871G8gGv44JTtcIrfx1lYwVWfDn2uz/PSBiZ+3VujsL1YHcLgVcDESCOOwoFvrZuGuCcE83IvARb5QkDJ8P/VTJjogQ19Dt+lJo70PzNYDpVCi+SxOAImbm2BrtD/Pb5JvkQGvwemECb7LYmO1q+aNG+WOJlWrcYYlalODynvxcoJL9uEViiVap/BZGzsS0x5BDq93RBaEiYavM17G/6bIBoCdj0mkJX2QfHy8ymKjRZmiHFach6/IcYoZDNfmNNNXOP1jKIt/dgQ/pU9b+BBeLzh2cKfTff6xUoVXpPKQVk4taQGxoklPcSrHgh/zsEpB08nBC8aqCENi5qXPrWXiJrj6gG2VEvjC/U0pnxAHylOSAiaOPxWa7GENsBUdMgRpv/Iy+ZX2Gxt9/j8/WwnYjswCrkJX7ADCbxbw7m6YoSx35snnIkvS9pk19Mcjt4/u1Hu7i+j2NXr1+pCv+0Jc3rCgVsRqc7prZY7lc7Kox5ey4dgeWKsD0yu43aF2MCLAlJvpnXKy7fhwPgJqsYqtoEMT5FDwBi7CQkH5uIsq/0b6CLAN0TiUnyljpMmD4+n96U5GD7IBbOnNIkJ8/xXc3j567KM5h7fAvWu0CMlyqKuJXwJfKG4sMskTUuuR/y+omoFl31RrAmoN0Zqtc2ElE7Zk5wQbNWrmt9zB8ooR9hHFmZYLDJORMWGM3GzSWY7XHUw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR12MB5451.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(376002)(39860400002)(346002)(136003)(366004)(396003)(451199018)(38070700005)(64756008)(66446008)(83380400001)(66476007)(66556008)(8676002)(76116006)(41300700001)(4326008)(38100700002)(316002)(52536014)(8936002)(54906003)(66946007)(5660300002)(110136005)(122000001)(86362001)(7696005)(33656002)(107886003)(2906002)(55016003)(186003)(478600001)(26005)(9686003)(53546011)(6506007)(71200400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Ym8vVVZudVkzNENxYlZqWStSR3RtMFcrSkRsK0tRZGpSU2FRRDBHUjVPWURk?= =?utf-8?B?K0pSTEVDQTFKUGVLM2NpdURMOENTNGxOeFF1Q3lMOVZIa3lzTmlkMVE0clJV?= =?utf-8?B?bXV0S0FmL2dmQlNEcnI1eEYzTjlVQ1JqYnRVc25JQVdEd2wrLzd2eTA0Q2dQ?= =?utf-8?B?MU1wQ1pyNVI4YlNLWEdkQld5by9KbTFWZEVqdjBxcmZHYkFUaWI5M2RFUG9n?= =?utf-8?B?b1dvR24ySTg3TWUyRU9NRnozNnFuU0J0OVhKMGNkS2VRakQwbmJSQ3lNeWVz?= =?utf-8?B?QzZVQ2VCWjFQUWY4UHlaRmYxQjc1TFh6bSt5bjNYT1BvKzVHakpDU0YycFQ2?= =?utf-8?B?RnBDVlE5RnZBK254OE45RkpmVHRabHoxYmtqNDRjeHl4VlZJeEdPYnNjanVz?= =?utf-8?B?NWV4UlVtaWsxNE1zTCtHcFZoY2g5NGFXN0RTTnlJajQ4QjRLMEVOY1Q0SXpj?= =?utf-8?B?amRQbTNIMjlhbnlLQUl5b29ndXRld2ZQUzA1SWFMQi9kWlZlMytRUWVvZ1hm?= =?utf-8?B?Nml5YmlLSS91eU5WU1VsbHo2V3ZQdTRqTStaNURpZzV5Q1pyb0prNWVvdGth?= =?utf-8?B?OHlyaitPQlgzMThtMXltT0V4SktabnFpcmNrclRyWk80RjYzMlp6aEQ1VENP?= =?utf-8?B?b0I2NS84eDZpUERmQm5TOExEbXZuVDBjYmxEaXQyRFhnd25EamJYVUhDbDYz?= =?utf-8?B?YWdKd2IyNHRQK1EzSzNqSGJocm00cy9mbW9za0ZCcXdpMG5IOGNQdS9QWTlX?= =?utf-8?B?ejd5WmUzd0piOWxsRE9qRkJYbHprcnpZQXZqa05UWjg2aTBHZklNT3J5R1hj?= =?utf-8?B?VmJBSUV3clhBbWY3MWJKUSswMWg3eUlaQWhIMXpnQlNDeFdLVDM1SjJtOFQ5?= =?utf-8?B?eEQzcGpEYVlYMVZMNStFRC9Hd280QnFLTmNCN2xBZkZ6TzJQNkVoUjMzYzJ0?= =?utf-8?B?Mm5rQzZlTWNsVU9DcHBsMUlzZDg3YklSd0RlU0QxQU53OWJzcGFoeHNnakZL?= =?utf-8?B?QnlQU04rUExnMFRVS1FPR2lsNVI2SW52NU5QZXlROXVMVTBNTUtseXVEQ2tH?= =?utf-8?B?dEdEVkhneWNiVTA2SEtoSG9JYXFVOVNTVXM5eDNQRlV4YmNlbkgyZTdiQ2l6?= =?utf-8?B?SUp2c1BjTkJpaXNMakZKQzJJSHk0aktJMm93dkNpQU5sQ0NuL2RXVnNIVWtB?= =?utf-8?B?UE4vUWRSV1pIb0JQRkVlb29LNXlMaUVPSEltQTFVQTZrdlJkcHVudzdaS1k1?= =?utf-8?B?azBqZFdQZWZnVkpYRGpTOU1GaGVyTXloN2NaeDFoSU0wNGZLR0pGRDc4R1FU?= =?utf-8?B?YTdiWGZIUDZRTXVvUCtoektmSUxkQnY5VUo2R3NNdVgway9mdDBNZEorbG90?= =?utf-8?B?eVNtTVZVWkdDUXpXcjZFcHpneTZjeDdzUUovcE5jWXNVV2I4cGlOc0FtNjhp?= =?utf-8?B?azRHZC9MTkNOWm54Z1ptWGMzWlpWSnlIUytiSHZzM0ZiN0tKcUY1Y0UzK3pM?= =?utf-8?B?SmFQQWJUOHhlWUk1YUdBTEpVTjdUZUY1RXhKRmxCU29GQzFGTVlDNEl6aXVk?= =?utf-8?B?b1NjZjVma2lDc1BRNW42L0VzR2JVL0twLzIydEg0NFpjUFU1a01lVXRnelg1?= =?utf-8?B?bFAxT3hqekRrVEQwbHZ6M2dpQkZjSU0rU3liLzAwOXhrMjIzMGo3RjF2M0Vu?= =?utf-8?B?NmtXV0s5RGpaUi9MVEdXcHIyRmNwWlBJL2laYWwyYVk0aHpKM0Z2cWp2eVk0?= =?utf-8?B?RnRqaGg3Sng3aUZYTGFaZTVweS9ZZis5bjNua0dVMFF5aGxBMGUxSmRWVGRU?= =?utf-8?B?RTVIby9wcVNUaStsc0VnaDByTk4rdVluMUlSdS9NMnRLeTJOdXpwMitMSDdo?= =?utf-8?B?LzZEUHJaRTRiOU45dVNBZlozL1dic1hMVkV6dnBzNld3Q2Z0Y3MyeGhCRmN2?= =?utf-8?B?NmhPT0ozZFdvdnNqQllhMDJndjJvZXViekNzOWRZdmVPdldFdzV6dnB6K0Ns?= =?utf-8?B?SzloUHNUM0tTR2xKdUxlSTBPZ1BZODhwM2dYcGlXRUx6eGptV00wenRkY05F?= =?utf-8?B?TmYrdkJTNm9ub0wzcWFwTUkxRVBvM1JCRkJKWHljM2RRcGdXWGZSbTZBOXY2?= =?utf-8?Q?NyptBFANZbg99QVH9XfLTsXJ0?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR12MB5451.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e3877829-f920-427b-844e-08db10b267ec X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Feb 2023 06:44:23.6676 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9fTFcXESnJLEMUHGcUYXa/zsxJU2hC9haGZjT+a1R8gXWbIDFGvGBiGPiFBP70bEJ9Z31EofrLNpicXHILMEnw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5685 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 ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogRnJpZGF5LCBGZWJydWFyeSAxNywgMjAyMyAx OjU4IEFNDQo+IFRvOiBKaWF3ZWkoSm9ubnkpIFdhbmcgPGppYXdlaXdAbnZpZGlhLmNvbT47IFNs YXZhIE92c2lpZW5rbw0KPiA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT47IE9yaSBLYW0gPG9yaWth QG52aWRpYS5jb20+OyBOQlUtQ29udGFjdC0NCj4gVGhvbWFzIE1vbmphbG9uIChFWFRFUk5BTCkg PHRob21hc0Btb25qYWxvbi5uZXQ+Ow0KPiBhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydTsg QW1hbiBTaW5naCA8YW1hbi5kZWVwLnNpbmdoQGludGVsLmNvbT47DQo+IFl1eWluZyBaaGFuZyA8 eXV5aW5nLnpoYW5nQGludGVsLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgUmFzbGFuIERhcmF3 c2hlaCA8cmFzbGFuZEBudmlkaWEuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY1IDEvMl0g ZXRoZGV2OiBpbnRyb2R1Y2UgdGhlIFR4IG1hcCBBUEkgZm9yIGFnZ3JlZ2F0ZWQNCj4gcG9ydHMN Cj4gDQo+IE9uIDIvMTQvMjAyMyAzOjQ4IFBNLCBKaWF3ZWkgV2FuZyB3cm90ZToNCj4gPiBXaGVu IG11bHRpcGxlIHBvcnRzIGFyZSBhZ2dyZWdhdGVkIGludG8gYSBzaW5nbGUgRFBESyBwb3J0LA0K PiA+IChleGFtcGxlOiBMaW51eCBib25kaW5nLCBEUERLIGJvbmRpbmcsIGZhaWxzYWZlLCBldGMu KSwgd2Ugd2FudCB0bw0KPiA+IGtub3cgd2hpY2ggcG9ydCB1c2UgZm9yIFR4IHZpYSBhIHF1ZXVl Lg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBuZXcgZXRoZGV2IEFQSQ0KPiA+ IHJ0ZV9ldGhfZGV2X21hcF9hZ2dyX3R4X2FmZmluaXR5KCksIGl0J3MgdXNlZCB0byBtYXAgYSBU eCBxdWV1ZSB3aXRoDQo+ID4gYW4gYWdncmVnYXRlZCBwb3J0IG9mIHRoZSBEUERLIHBvcnQgKHNw ZWNpZmllZCB3aXRoIHBvcnRfaWQpLCBUaGUNCj4gPiBhZmZpbml0eSBpcyB0aGUgbnVtYmVyIG9m IHRoZSBhZ2dyZWdhdGVkIHBvcnQuDQo+ID4gVmFsdWUgMCBtZWFucyBubyBhZmZpbml0eSBhbmQg dHJhZmZpYyBjb3VsZCBiZSByb3V0ZWQgdG8gYW55DQo+ID4gYWdncmVnYXRlZCBwb3J0LCB0aGlz IGlzIHRoZSBkZWZhdWx0IGN1cnJlbnQgYmVoYXZpb3IuDQo+ID4NCj4gPiBUaGUgbWF4aW11bSBu dW1iZXIgb2YgYWZmaW5pdHkgaXMgZ2l2ZW4gYnkgcnRlX2V0aF9kZXZfY291bnRfYWdncl9wb3J0 cygpLg0KPiA+DQo+ID4gQWRkIHRoZSB0cmFjZSBwb2ludCBmb3IgZXRoZGV2IHJ0ZV9ldGhfZGV2 X2NvdW50X2FnZ3JfcG9ydHMoKSBhbmQNCj4gPiBydGVfZXRoX2Rldl9tYXBfYWdncl90eF9hZmZp bml0eSgpIGZ1bmN0aW9ucy4NCj4gPg0KPiA+IEFkZCB0aGUgdGVzdHBtZCBjb21tYW5kIGxpbmU6 DQo+ID4gdGVzdHBtZD4gcG9ydCBjb25maWcgKHBvcnRfaWQpIHR4cSAocXVldWVfaWQpIGFmZmlu aXR5ICh2YWx1ZSkNCj4gPg0KPiA+IEZvciBleGFtcGxlLCB0aGVyZSdyZSB0d28gcGh5c2ljYWwg cG9ydHMgY29ubmVjdGVkIHRvIGEgc2luZ2xlIERQREsNCj4gPiBwb3J0IChwb3J0IGlkIDApLCBh bmQgYWZmaW5pdHkgMSBzdG9vZCBmb3IgdGhlIGZpcnN0IHBoeXNpY2FsIHBvcnQgYW5kDQo+ID4g YWZmaW5pdHkgMiBzdG9vZCBmb3IgdGhlIHNlY29uZCBwaHlzaWNhbCBwb3J0Lg0KPiA+IFVzZSB0 aGUgYmVsb3cgY29tbWFuZHMgdG8gY29uZmlnIHR4IHBoeSBhZmZpbml0eSBmb3IgcGVyIFR4IFF1 ZXVlOg0KPiA+ICAgICAgICAgcG9ydCBjb25maWcgMCB0eHEgMCBhZmZpbml0eSAxDQo+ID4gICAg ICAgICBwb3J0IGNvbmZpZyAwIHR4cSAxIGFmZmluaXR5IDENCj4gPiAgICAgICAgIHBvcnQgY29u ZmlnIDAgdHhxIDIgYWZmaW5pdHkgMg0KPiA+ICAgICAgICAgcG9ydCBjb25maWcgMCB0eHEgMyBh ZmZpbml0eSAyDQo+ID4NCj4gPiBUaGVzZSBjb21tYW5kcyBjb25maWcgdGhlIFR4IFF1ZXVlIGlu ZGV4IDAgYW5kIFR4IFF1ZXVlIGluZGV4IDEgd2l0aA0KPiA+IHBoeSBhZmZpbml0eSAxLCB1c2Vz IFR4IFF1ZXVlIDAgb3IgVHggUXVldWUgMSBzZW5kIHBhY2tldHMsIHRoZXNlDQo+ID4gcGFja2V0 cyB3aWxsIGJlIHNlbnQgZnJvbSB0aGUgZmlyc3QgcGh5c2ljYWwgcG9ydCwgYW5kIHNpbWlsYXIg d2l0aA0KPiA+IHRoZSBzZWNvbmQgcGh5c2ljYWwgcG9ydCBpZiBzZW5kaW5nIHBhY2tldHMgd2l0 aCBUeCBRdWV1ZSAyIG9yIFR4DQo+ID4gUXVldWUgMy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6 IEppYXdlaSBXYW5nIDxqaWF3ZWl3QG52aWRpYS5jb20+DQo+IA0KPiA8Li4uPg0KPiANCj4gPiBk aWZmIC0tZ2l0IGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmMgYi9saWIvZXRoZGV2L3J0ZV9ldGhk ZXYuYyBpbmRleA0KPiA+IGRjMGE0ZWIxMmMuLjFkNWIzYTE2YjIgMTAwNjQ0DQo+ID4gLS0tIGEv bGliL2V0aGRldi9ydGVfZXRoZGV2LmMNCj4gPiArKysgYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYu Yw0KPiA+IEBAIC02OTE1LDYgKzY5MTUsNTUgQEANCj4gcnRlX2V0aF9idWZmZXJfc3BsaXRfZ2V0 X3N1cHBvcnRlZF9oZHJfcHR5cGVzKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQzMl90DQo+ICpwdHlw ZXMNCj4gPiAgCXJldHVybiBqOw0KPiA+ICB9DQo+ID4NCj4gPiAraW50IHJ0ZV9ldGhfZGV2X2Nv dW50X2FnZ3JfcG9ydHModWludDE2X3QgcG9ydF9pZCkgew0KPiA+ICsJc3RydWN0IHJ0ZV9ldGhf ZGV2ICpkZXY7DQo+ID4gKwlpbnQgcmV0Ow0KPiA+ICsNCj4gPiArCVJURV9FVEhfVkFMSURfUE9S VElEX09SX0VSUl9SRVQocG9ydF9pZCwgLUVOT0RFVik7DQo+ID4gKwlkZXYgPSAmcnRlX2V0aF9k ZXZpY2VzW3BvcnRfaWRdOw0KPiA+ICsNCj4gPiArCWlmICgqZGV2LT5kZXZfb3BzLT5jb3VudF9h Z2dyX3BvcnRzID09IE5VTEwpDQo+ID4gKwkJcmV0dXJuIC1FTk9UU1VQOw0KPiANCj4gV2hhdCBk byB5b3UgdGhpbmsgdG8gcmV0dXJuIGEgZGVmYXVsdCB2YWx1ZSB3aGVuIGRldl9vcHMgaXMgbm90 IGRlZmluZWQsDQo+IGFzc3VtaW5nIGRldmljZSBpcyBub3QgYSBib3VuZGVkIGRldmljZS4NCj4g Tm90IHN1cmUgd2hpY2ggb25lIGlzIGJldHRlciBmb3IgYXBwbGljYXRpb24sIHJldHVybiBhIGRl ZmF1bHQgdmFsdWUgb3IgZXJyb3IuDQo+IA0KDQpGb3IgZGV2aWNlIHdoaWNoIGlzbid0IGEgYm9u ZWQgZGV2aWNlLCB0aGUgY291bnQgc2hvdWxkIGJlIHplcm8uDQpTbywgd2UgY2FuIHJldHVybiAw IGFzIGRlZmF1bHQgdmFsdWUgaWYgdGhlIFBNRCBkb2Vzbid0IHN1cHBvcnQuDQoNClBlciBhcHBs aWNhdGlvbiBwZXJzcGVjdGl2ZSwgaXQgb25seSBuZWVkcyB0byBjaGVjayB0aGUgY291bnQgPiAw Lg0KDQo+IA0KPiA+ICsJcmV0ID0gZXRoX2Vycihwb3J0X2lkLCAoKmRldi0+ZGV2X29wcy0+Y291 bnRfYWdncl9wb3J0cykocG9ydF9pZCkpOw0KPiA+ICsNCj4gPiArCXJ0ZV9ldGhfdHJhY2VfY291 bnRfYWdncl9wb3J0cyhwb3J0X2lkLCByZXQpOw0KPiA+ICsNCj4gPiArCXJldHVybiByZXQ7DQo+ ID4gK30NCj4gPiArDQo+ID4gK2ludCBydGVfZXRoX2Rldl9tYXBfYWdncl90eF9hZmZpbml0eSh1 aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdA0KPiB0eF9xdWV1ZV9pZCwNCj4gPiArCQkJCSAgICAg dWludDhfdCBhZmZpbml0eSkNCj4gPiArew0KPiA+ICsJc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXY7 DQo+ID4gKwlpbnQgcmV0Ow0KPiA+ICsNCj4gPiArCVJURV9FVEhfVkFMSURfUE9SVElEX09SX0VS Ul9SRVQocG9ydF9pZCwgLUVOT0RFVik7DQo+ID4gKwlkZXYgPSAmcnRlX2V0aF9kZXZpY2VzW3Bv cnRfaWRdOw0KPiA+ICsNCj4gPiArCWlmICh0eF9xdWV1ZV9pZCA+PSBkZXYtPmRhdGEtPm5iX3R4 X3F1ZXVlcykgew0KPiA+ICsJCVJURV9FVEhERVZfTE9HKEVSUiwgIkludmFsaWQgVHggcXVldWVf aWQ9JXVcbiIsDQo+IHR4X3F1ZXVlX2lkKTsNCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiAr CX0NCj4gPiArDQo+IA0KPiBBbHRob3VnaCBkb2N1bWVudGF0aW9uIHNheXMgdGhpcyBBUEkgc2hv dWxkIGJlIGNhbGxlZCBiZWZvcmUgY29uZmlndXJlLCBpZiB1c2VyDQo+IG1pc3NlcyBpdCBJIGd1 ZXNzIGFib3ZlIGNhbiBjcmFzaCwgaXMgdGhlcmUgYSB3YXkgdG8gYWRkIHJ1bnRpbWUgY2hlY2ss IGxpa2UNCj4gY2hlY2tpbmcgJ2Rldi0+ZGF0YS0+ZGV2X2NvbmZpZ3VyZWQnPw0KPiANCg0KT0ss IEkgd2lsbCBhZGQgdGhlIGNoZWNraW5nIGFuZCByZXBvcnQgdGhlIGVycm9yIGlmIChkZXYtPmRh dGEtPmRldl9jb25maWd1cmVkID09IDApLg0KDQo+IA0KPiA+ICsJaWYgKCpkZXYtPmRldl9vcHMt Pm1hcF9hZ2dyX3R4X2FmZmluaXR5ID09IE5VTEwpDQo+ID4gKwkJcmV0dXJuIC1FTk9UU1VQOw0K PiA+ICsNCj4gPiArCWlmIChkZXYtPmRhdGEtPmRldl9zdGFydGVkKSB7DQo+ID4gKwkJUlRFX0VU SERFVl9MT0coRVJSLA0KPiA+ICsJCQkiUG9ydCAldSBtdXN0IGJlIHN0b3BwZWQgdG8gYWxsb3cg Y29uZmlndXJhdGlvblxuIiwNCj4gPiArCQkJcG9ydF9pZCk7DQo+ID4gKwkJcmV0dXJuIC1FQlVT WTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlyZXQgPSBldGhfZXJyKHBvcnRfaWQsICgqZGV2LT5k ZXZfb3BzLT5tYXBfYWdncl90eF9hZmZpbml0eSkocG9ydF9pZCwNCj4gPiArCQkJCXR4X3F1ZXVl X2lkLCBhZmZpbml0eSkpOw0KPiA+ICsNCj4gDQo+IFNob3VsZCBBUEkgY2hlY2sgaWYgcG9ydF9p ZCBpcyBhIGJvbmRpbmcgcG9ydCBiZWZvcmUgaXQgY29udGludWUgd2l0aCBtYXBwaW5nPw0KPiAN Cg0KSSBhZGRlZCB0aGlzIGNoZWNrIGluIHRoZSBhcHAgYmVmb3JlLCB3aWxsIG1vdmUgdG8gZXRo ZGV2IGxheWVyLg0KDQo+ID4gKwlydGVfZXRoX3RyYWNlX21hcF9hZ2dyX3R4X2FmZmluaXR5KHBv cnRfaWQsIHR4X3F1ZXVlX2lkLCBhZmZpbml0eSwNCj4gPiArcmV0KTsNCj4gPiArDQo+ID4gKwly ZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICBSVEVfTE9HX1JFR0lTVEVSX0RFRkFVTFQo cnRlX2V0aF9kZXZfbG9ndHlwZSwgSU5GTyk7DQo+ID4NCj4gPiAgUlRFX0lOSVQoZXRoZGV2X2lu aXRfdGVsZW1ldHJ5KQ0KPiA+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaCBi L2xpYi9ldGhkZXYvcnRlX2V0aGRldi5oIGluZGV4DQo+ID4gYzEyOWNhMWVhZi4uMDdiODI1MGVi OCAxMDA2NDQNCj4gPiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiA+ICsrKyBiL2xp Yi9ldGhkZXYvcnRlX2V0aGRldi5oDQo+ID4gQEAgLTI1ODksNiArMjU4OSw1MiBAQCBpbnQgcnRl X2V0aF9oYWlycGluX2JpbmQodWludDE2X3QgdHhfcG9ydCwNCj4gPiB1aW50MTZfdCByeF9wb3J0 KTsgIF9fcnRlX2V4cGVyaW1lbnRhbCAgaW50DQo+ID4gcnRlX2V0aF9oYWlycGluX3VuYmluZCh1 aW50MTZfdCB0eF9wb3J0LCB1aW50MTZfdCByeF9wb3J0KTsNCj4gPg0KPiA+ICsvKioNCj4gPiAr ICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdl IHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiBHZXQgdGhlIG51bWJlciBv ZiBhZ2dyZWdhdGVkIHBvcnRzLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gcG9ydF9pZA0KPiA+ ICsgKiAgIFRoZSBwb3J0IGlkZW50aWZpZXIgb2YgdGhlIEV0aGVybmV0IGRldmljZS4NCj4gPiAr ICogQHJldHVybg0KPiA+ICsgKiAgIC0gKD49MCkgdGhlIG51bWJlciBvZiBhZ2dyZWdhdGVkIHBv cnQgaWYgc3VjY2Vzcy4NCj4gPiArICogICAtICgtRU5PVFNVUCkgaWYgbm90IHN1cHBvcnRlZC4N Cj4gPiArICovDQo+ID4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPiA+ICtpbnQgcnRlX2V0aF9kZXZf Y291bnRfYWdncl9wb3J0cyh1aW50MTZfdCBwb3J0X2lkKTsNCj4gDQo+IA0KPiBDYW4geW91IHBs ZWFzZSBnaXZlIG1vcmUgZGV0YWlscyBpbiB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb24sIGluIHRo ZSBjb250ZXh0IG9mDQo+IHRoaXMgcGF0Y2ggaXQgaXMgY2xlYXIsIGJ1dCBzb21lb25lIHNlZXMg aXQgZmlyc3QgdGltZSBjYW4gYmUgY29uZnVzZWQgd2hhdCBpcw0KPiAiYWdncmVnYXRlZCBwb3J0 cyIgaXMuDQo+IA0KDQpPSywgZm9yIG11bHRpcGxlIHBvcnRzIGFyZSBhZ2dyZWdhdGVkIGludG8g c2luZ2xlIG9uZSwgd2UgY2FuIGNhbGwgdGhlc2UgcG9ydHMgYXMgImFnZ3JlZ2F0ZWQgcG9ydHMi Lg0KV2lsbCBhZGQgbW9yZSBkZXNjcmlwdGlvbiBpbiBuZXh0IHBhdGNoLg0KDQo+IFdoYXQgaXMg ZXhwZWN0ZWQgdmFsdWUgZm9yIHJlZ3VsYXIgcHlzaWNhbCBwb3J0LCB0aGF0IGRvZXNuJ3QgaGF2 ZSBhbnkgc3ViLQ0KPiBkZXZpY2VzLCAwIG9yIDE/IENhbiB5b3UgcGxlYXNlIGRvY3VtZW50Pw0K PiANCg0KT0ssIEFQSSByZXR1cm4gMCBmb3IgcmVndWxhciBwaHlzaWNhbCBwb3J0ICh3L28gYm9u ZGVkKS4NCldpbGwgYWRkIGRvY3VtZW50IGluIG5leHQgcGF0Y2guDQoNCj4gDQo+ID4gKw0KPiA+ ICsvKioNCj4gPiArICogQHdhcm5pbmcNCj4gPiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQ SSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlLg0KPiA+ICsgKg0KPiA+ICsgKiAgTWFw IGEgVHggcXVldWUgd2l0aCBhbiBhZ2dyZWdhdGVkIHBvcnQgb2YgdGhlIERQREsgcG9ydCAoc3Bl Y2lmaWVkIHdpdGgNCj4gcG9ydF9pZCkuDQo+ID4gKyAqICBXaGVuIG11bHRpcGxlIHBvcnRzIGFy ZSBhZ2dyZWdhdGVkIGludG8gYSBzaW5nbGUgb25lLA0KPiA+ICsgKiAgaXQgYWxsb3dzIHRvIGNo b29zZSB3aGljaCBwb3J0IHRvIHVzZSBmb3IgVHggdmlhIGEgcXVldWUuDQo+ID4gKyAqDQo+ID4g KyAqICBUaGUgYXBwbGljYXRpb24gc2hvdWxkIHVzZSBydGVfZXRoX2Rldl9tYXBfYWdncl90eF9h ZmZpbml0eSgpDQo+ID4gKyAqICBhZnRlciBydGVfZXRoX2Rldl9jb25maWd1cmUoKSwgcnRlX2V0 aF90eF9xdWV1ZV9zZXR1cCgpLCBhbmQNCj4gPiArICogIGJlZm9yZSBydGVfZXRoX2Rldl9zdGFy dCgpLg0KPiA+ICsgKg0KPiA+ICsgKiBAcGFyYW0gcG9ydF9pZA0KPiA+ICsgKiAgIFRoZSBpZGVu dGlmaWVyIG9mIHRoZSBwb3J0IHVzZWQgaW4gcnRlX2V0aF90eF9idXJzdCgpLg0KPiA+ICsgKiBA cGFyYW0gdHhfcXVldWVfaWQNCj4gPiArICogICBUaGUgaW5kZXggb2YgdGhlIHRyYW5zbWl0IHF1 ZXVlIHVzZWQgaW4gcnRlX2V0aF90eF9idXJzdCgpLg0KPiA+ICsgKiAgIFRoZSB2YWx1ZSBtdXN0 IGJlIGluIHRoZSByYW5nZSBbMCwgbmJfdHhfcXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVk DQo+ID4gKyAqICAgdG8gcnRlX2V0aF9kZXZfY29uZmlndXJlKCkuDQo+ID4gKyAqIEBwYXJhbSBh ZmZpbml0eQ0KPiA+ICsgKiAgIFRoZSBudW1iZXIgb2YgdGhlIGFnZ3JlZ2F0ZWQgcG9ydC4NCj4g PiArICogICBWYWx1ZSAwIG1lYW5zIG5vIGFmZmluaXR5IGFuZCB0cmFmZmljIGNvdWxkIGJlIHJv dXRlZCB0byBhbnkgYWdncmVnYXRlZA0KPiBwb3J0Lg0KPiA+ICsgKiAgIFRoZSBmaXJzdCBhZ2dy ZWdhdGVkIHBvcnQgaXMgbnVtYmVyIDEgYW5kIHNvIG9uLg0KPiA+ICsgKiAgIFRoZSBtYXhpbXVt IG51bWJlciBpcyBnaXZlbiBieSBydGVfZXRoX2Rldl9jb3VudF9hZ2dyX3BvcnRzKCkuDQo+ID4g KyAqDQo+ID4gKyAqIEByZXR1cm4NCj4gPiArICogICBaZXJvIGlmIHN1Y2Nlc3NmdWwuIE5vbi16 ZXJvIG90aGVyd2lzZS4NCj4gPiArICovDQo+ID4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPiA+ICtp bnQgcnRlX2V0aF9kZXZfbWFwX2FnZ3JfdHhfYWZmaW5pdHkodWludDE2X3QgcG9ydF9pZCwgdWlu dDE2X3QNCj4gdHhfcXVldWVfaWQsDQo+ID4gKwkJCQkgICAgIHVpbnQ4X3QgYWZmaW5pdHkpOw0K PiA+ICsNCj4gPiAgLyoqDQo+ID4gICAqIFJldHVybiB0aGUgTlVNQSBzb2NrZXQgdG8gd2hpY2gg YW4gRXRoZXJuZXQgZGV2aWNlIGlzIGNvbm5lY3RlZA0KPiA+ICAgKg0KPiA+IGRpZmYgLS1naXQg YS9saWIvZXRoZGV2L3ZlcnNpb24ubWFwIGIvbGliL2V0aGRldi92ZXJzaW9uLm1hcCBpbmRleA0K PiA+IGRiYzJiZmZlNjQuLjY4NWFhNzFlNTEgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRldi92 ZXJzaW9uLm1hcA0KPiA+ICsrKyBiL2xpYi9ldGhkZXYvdmVyc2lvbi5tYXANCj4gPiBAQCAtMzAw LDYgKzMwMCw4IEBAIEVYUEVSSU1FTlRBTCB7DQo+ID4gIAlydGVfbXRyX21ldGVyX3Byb2ZpbGVf Z2V0Ow0KPiA+DQo+ID4gIAkjIGFkZGVkIGluIDIzLjAzDQo+ID4gKwlydGVfZXRoX2Rldl9jb3Vu dF9hZ2dyX3BvcnRzOw0KPiA+ICsJcnRlX2V0aF9kZXZfbWFwX2FnZ3JfdHhfYWZmaW5pdHk7DQo+ ID4gIAlydGVfZmxvd19hc3luY19jcmVhdGVfYnlfaW5kZXg7DQo+ID4gIH07DQo+ID4NCg0KVGhh bmtzLg0K