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 CF130A034C; Wed, 31 Aug 2022 20:05:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9857740684; Wed, 31 Aug 2022 20:05:42 +0200 (CEST) Received: from na01-obe.outbound.protection.outlook.com (mail-eastus2azon11021027.outbound.protection.outlook.com [52.101.57.27]) by mails.dpdk.org (Postfix) with ESMTP id 4ED7640395 for ; Wed, 31 Aug 2022 20:05:41 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M6XylZgPh/CFju4t6sIk456aVKE+wKGNliqysWjogfC74S/EBl3xoUcqPBhEFhHKcY6wxHvtBKyBRAYb6PXP/lEZW4r/r6+vphEUIOHk4Pe5OoSOzsOGMlkb7XGcEAdsLp+sdNSm+vezJ5NdZfGgaiLPjt1QXkJj3OeJ7t+dfTY1/V3t75ix6IBgtWtttuNUhQqiFKAHy0oj//UER1PmzMswEzVCQv/151n2vXJL5S0sghQjv5o29xAnFRIftlvEW3k07sxK0UWY5hcn9pgeLbgvkqgPFIspXmShiQFVwU0QEM8hEKzV+vJN3XIX+WO/nzuU96iKwXQAT9m+lF/WCw== 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=rroA9TyzdaN7EzYN4VP0DCj1dHWZrW/mJ7XLDUVc078=; b=Io3KvcpckD56CuIMNttRJ6YXY9h4yy5HOckYNf3zr2A5qKDqJ/R/zaeUPka0eP7J1iY/OVSPTfm5fWVqG+mlCmgsIRphVpb3rIo1i8RokCi92dg/Vt+kqqrWOnIBndKniMpecY9fVIS8AnaTwFNzLZ9i+UGsiTQ/k4wraaOUMxphDWDJB7uxam7MuvXPvt0Js60FSCh4n2zw4KM5xm0AG50tcwBZcYWoiDsZT27Zjg7fNMdsieT+JNltpgnsfu5p1/uqPpcNV2ZeDPBJm6VuOCUNGm6OU5RzE5pZ3/oNwq0SLnIFn9T8UoCVON6VESjU6pxX4Xtf83KFou9DHMVuMA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rroA9TyzdaN7EzYN4VP0DCj1dHWZrW/mJ7XLDUVc078=; b=ANC9JANXVY6uhh2dgPV90OUy5s3tENs8VYIE4z6k3j353Vrj/5FZLNWIc7cMpKsJoz7DGP2tdsZpM3teALYKuMp/f+h8S7vwsf8W48Vk8EDu4v2okik/vTbMEGY8Uq1ECkmQA+vYBE80HptxmznFe0oxDdQHUUA/RjaDhV1HUDM= Received: from MN0PR21MB3264.namprd21.prod.outlook.com (2603:10b6:208:37c::19) by CH2PR21MB1446.namprd21.prod.outlook.com (2603:10b6:610:5c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.5; Wed, 31 Aug 2022 18:05:38 +0000 Received: from MN0PR21MB3264.namprd21.prod.outlook.com ([fe80::790f:90cc:f0be:4473]) by MN0PR21MB3264.namprd21.prod.outlook.com ([fe80::790f:90cc:f0be:4473%6]) with mapi id 15.20.5612.003; Wed, 31 Aug 2022 18:05:38 +0000 From: Long Li To: "lihuisong (C)" , Ferruh Yigit CC: "dev@dpdk.org" , Ajay Sharma , Stephen Hemminger Subject: RE: [Patch v6 01/18] net/mana: add basic driver, build environment and doc Thread-Topic: [Patch v6 01/18] net/mana: add basic driver, build environment and doc Thread-Index: AQHYvMMcd2wwHX4AIUyVWI99rwIFwq3IOaSAgAETaGA= Date: Wed, 31 Aug 2022 18:05:38 +0000 Message-ID: References: <1661899911-13086-1-git-send-email-longli@linuxonhyperv.com> <1661899911-13086-2-git-send-email-longli@linuxonhyperv.com> <020abf35-2bb0-795c-fc2f-c970f12c875c@huawei.com> In-Reply-To: <020abf35-2bb0-795c-fc2f-c970f12c875c@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=b2a6db71-23f6-42e5-8d88-c4ae4c431452; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-08-31T17:58:33Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN0PR21MB3264:EE_|CH2PR21MB1446:EE_ x-ms-office365-filtering-correlation-id: a79ec3e2-7d51-44d8-76d0-08da8b7b68e3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cjAgW4rvdqJUakhFOIetLM7eY3a1fJv6fif3dZk7Ar7Bmzc5S57HQe7m+8ytIuF3ovl8vRVkyaLopN2/pOlWxzWBdUU1FztWoJDRr3Afd4pObUVvuuJfs5/qRid7oGVXmQKQTma4PXUxPoQTtJfe5CKhKAmDJmvxS1lM9m2MtGAGzFE0298bvtT50ngro9OTlt5KQuZtbEslPZ7jOpfdRxz5/Xe6wCuu5RKyXi5EnSBDZWkJOXzBoR58hheBXrrGSJUKSKHq63IyO5tlgl5IYmcZ5KTFUCjz5z3Xct/VjXFyaT8OIseVLagq1JsrCwrMTVRRsgOl7OwBRdvVvPXzK1tMifKMX770qCZraYE1udZSgJuvSnBJgroJwjKq7/tVN+csaCtsiIGvkagzsj+xy1kCt2B2xBHY8gb0Q8DrTH1pJG8iTt2b9zSE70tFxhiJv/oFjnvUFe2Sa/uGURRNnCD6dT1hTHSG+8CuhEyC26DDmFjv+nPWeUXf/6pipudpCWOzlp/JXr+kIKo5P5rCJ/Wg1nATap/sM+dJp6jbKn+YODGiLoad1rikLxv8Su6BiI6KDlgcfCGuXGj+zisS/KYx7lxspt5MAcR+L0BN/AsRqo74MTxlBd5fGZeGMFvgr80ROl71E/BteYzfXZq/1/04Hsz6ktPrw1sGaQyTDBm3xBmfbCbR9I9LGhSZ3MF9dsUSRj+Mmg0E3ekL3v90o78TNLLAINz5U5hijx59D2iqN4VLbiqLk4vZGyeXtwxEIG0jSxW0gvdXqOo6rdIdyAZDMxhCimm7rI5GH3x9Y6zkVBvarNpH+XYPmfSmJn86 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR21MB3264.namprd21.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(376002)(396003)(136003)(346002)(366004)(39860400002)(451199009)(82950400001)(82960400001)(38070700005)(38100700002)(122000001)(33656002)(86362001)(186003)(83380400001)(9686003)(71200400001)(8990500004)(41300700001)(107886003)(478600001)(54906003)(110136005)(316002)(6506007)(26005)(7696005)(10290500003)(52536014)(8676002)(5660300002)(8936002)(4326008)(55016003)(2906002)(66946007)(66556008)(64756008)(66446008)(66476007)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UGVxTGJyT1Zhc29IYUJHSVBJQzRVMHEwL2g5dDZjU3dpQ1dCWEdNZFdLUDVm?= =?utf-8?B?USttWWc3TEl2d2JvMGxSYnhnc2VDUTVpNEVxQzNlM01wWHQxd3puVnZCNkxU?= =?utf-8?B?cjZxcmltcE9IMGZiUVNQTUxHeG9PaUxGRUFpUktuc0NDM2NBV1ZJdjUwU2x3?= =?utf-8?B?NURBU21CL1FTUlgwcjNuUDN0VGk4M09LTzB3VTBMSjlHLzg5d1d1aHZWd0hK?= =?utf-8?B?TXFEY1ZlZ05lMURoQ2lzazJsMEVlN24yenIvSmpNdS9kR1N1cWpjOTdBUitJ?= =?utf-8?B?QzE1d2xVeGdWVklOaXM0VEhzQXFRYjdxMW0xaS9BVW8wbkdKRTZWbUJ4dDRm?= =?utf-8?B?TlFqdXBlY3g5MHZtZHBYZ29YOTdsajVudTlKc0lvZkVrZk9ZRUxlSnpxUmVq?= =?utf-8?B?UjVpUVdxZWFob1I1UHh4OGorbXBCRjBVN29BM3J1UFRUOE1DMHQvTVRDbzlX?= =?utf-8?B?QWlIS1ZPWFNaYk9BaHVZWnRaSTNqQldvZk5vUmdmNnZLTVMwa0JpL2hJUlBk?= =?utf-8?B?Y3AweDVTMWlXTjVFREhjbll6ODkwZ3JkRm1EaGJmNUdYS25mZXhmamZ2R05N?= =?utf-8?B?bUQ2M0V6aURmT0ZoWjljNWZtc2trQmV2S1l2Z0V6NU51czV5TERzM1NFaG1r?= =?utf-8?B?bGNYVGpMSVFmRlduMjg5cjRhWW9lZUJFMmJ2Q1RPYlNGTWtDTm1RdVZNdHE0?= =?utf-8?B?VkZsVld2czQreUFTS1RGZlZVb2kwMmlFTUNZaWIrYm5sQ0JVSVJYbkppcEF2?= =?utf-8?B?NmNGRWtUM3ROcHgyZGNpdEpUblJnMDNadFVQMnZ0QkZmeVF0dnBoeXUrQXJ3?= =?utf-8?B?L3EvbEN5K2RIeWVvaUNjNmhNYkxPcnR0TlI3UDcySlcyaElHdXhsenJTM1hD?= =?utf-8?B?eCtnMnhqc0ZGaWN4b3NtNWdHMkVGV0JxY29wcjNOWXRWeUJaWXhWMTBDSENG?= =?utf-8?B?aFg4djI3cjgvMXJrSVcvMGdsSm9mUXVPUmJRbXFUV2RRQS9IMVVyRzc1MDJl?= =?utf-8?B?ZTB2UmJVL2VuT0pGN3FvSlpxYm56enR0bnh4ekY5QzN5M0JLV2NGUmtBMUQ0?= =?utf-8?B?NGw1RURLMEZYajRsZ3Y3NCtVdmxwK0dqYUNWOUVNeWNlQTNkMlVseFpSZnlP?= =?utf-8?B?L1dQa0JQUkYwTFRuYS9KVjZjbHJKbWlDb1hXRGNrSUwzbHB5cU9sSHlLaFpB?= =?utf-8?B?N1dkRnBRTlJDSWpoM1JxQ211VlVoOEJhYXVjczZldVJOQnFMV3NTWjRGdnVa?= =?utf-8?B?bWJFZENUVHc4M0Z2M2VwN2Nkc1QrMXBRUjRMUi8wOXZNczl6TDJXRURtZXRB?= =?utf-8?B?RElDdUJhbW5UMEdVWkNWRm1jeHpKQS90cHFwTVlNbzQ2OUNzbjZjSjI1L0dq?= =?utf-8?B?TnJVaDZiRy9scVp3Z2dML1R1cUZhYitWeXNJVm83dXlNMGN1ZFdibTJOdDdj?= =?utf-8?B?V3hzekNES2t4eExEeFczVkFjbkZRcHZSdU96RTNDK0tvRnJlSFQ2TWcvR3ZE?= =?utf-8?B?bHlSR1dTQW80Vk13VldHc2lVdmVUL2RRemtGWVc4MlZTR3MyMEk1OXlndU5X?= =?utf-8?B?SEh0SFpacjczOFpXSHJlQ05WM1RaUVdHRGl6eDVSeVVnN2tKamp3VlgreURJ?= =?utf-8?B?T1QxcDJxZlRQdlpaaFRvdDFlYWRoZHM1QzVoU01LeVRuWElkSXJ6WjJQUGZH?= =?utf-8?B?RVZ3TXFlSGxDeGdJRUZ0YVdjTmYzVHZEQXUxaTN3ZXJMQXc2YVNjZmVMSDNY?= =?utf-8?B?S2VkelFzdXlXeG5xYng0bVJPa3FMT08waVk4UnhoS0ZMS1krOEN5a3BTWG9l?= =?utf-8?B?OGhEemJRS2hjZXVuQ0JFQmhDeG5EMDlqSmVoTGNQQ3M1RUJqMEhFUit3RWZV?= =?utf-8?B?UjE3aCtPN251QjVvdTQwYUZqMGExL1J0c1l0WlYxeEdGL2xqV2tTdHh0NDdw?= =?utf-8?B?OUhKbEk1Y1M3SW5zRW4wcXU0MVNLVjc4aHZXanNYSVNPbStFdDVLZjBueW0z?= =?utf-8?B?blA3KytlSWtFTDNERmpGdEhtdDNYSXh1N1ZZUC93VnNlbjZMS2Y4Y25RZVl3?= =?utf-8?B?enVvN1lGcCtJck1IS1k3WTVsYnNLcWpNeVFSZ0JNZ3dpL0hrN1NpMHpvM1h3?= =?utf-8?Q?bPYAbf7SF+1GJp5z9QwoJSPRl?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR21MB1446 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 PiBTdWJqZWN0OiBSZTogW1BhdGNoIHY2IDAxLzE4XSBuZXQvbWFuYTogYWRkIGJhc2ljIGRyaXZl ciwgYnVpbGQgZW52aXJvbm1lbnQNCj4gYW5kIGRvYw0KPiANCj4gDQo+IOWcqCAyMDIyLzgvMzEg Njo1MSwgbG9uZ2xpQGxpbnV4b25oeXBlcnYuY29tIOWGmemBkzoNCj4gPiBGcm9tOiBMb25nIExp IDxsb25nbGlAbWljcm9zb2Z0LmNvbT4NCj4gPg0KPiA+IE1BTkEgaXMgYSBQQ0kgZGV2aWNlLiBJ dCB1c2VzIElCIHZlcmJzIHRvIGFjY2VzcyBoYXJkd2FyZSB0aHJvdWdoIHRoZQ0KPiA+IGtlcm5l bCBSRE1BIGxheWVyLiBUaGlzIHBhdGNoIGludHJvZHVjZXMgYnVpbGQgZW52aXJvbm1lbnQgYW5k IGJhc2ljDQo+ID4gZGV2aWNlIHByb2JlIGZ1bmN0aW9ucy4NCj4gPg0KPiA+IFNpZ25lZC1vZmYt Ynk6IExvbmcgTGkgPGxvbmdsaUBtaWNyb3NvZnQuY29tPg0KPiA+IC0tLQ0KPiA+IENoYW5nZSBs b2c6DQo+ID4gdjI6DQo+ID4gRml4IHR5cG9zLg0KPiA+IE1ha2UgdGhlIGRyaXZlciBidWlsZCBv bmx5IG9uIHg4Ni02NCBhbmQgTGludXguDQo+ID4gUmVtb3ZlIHVudXNlZCBoZWFkZXIgZmlsZXMu DQo+ID4gQ2hhbmdlIHBvcnQgZGVmaW5pdGlvbiB0byB1aW50MTZfdCBvciB1aW50OF90IChmb3Ig SUIpLg0KPiA+IFVzZSBnZXRsaW5lKCkgaW4gcGxhY2Ugb2YgZmdldHMoKSB0byByZWFkIGFuZCB0 cnVuY2F0ZSBhIGxpbmUuDQo+ID4gdjM6DQo+ID4gQWRkIG1lc29uIGJ1aWxkIGNoZWNrIGZvciBy ZXF1aXJlZCBmdW5jdGlvbnMgZnJvbSBSRE1BIGRpcmVjdCB2ZXJiDQo+ID4gaGVhZGVyIGZpbGUN Cj4gPiB2NDoNCj4gPiBSZW1vdmUgZXh0cmEgIlxuIiBpbiBsb2dnaW5nIGNvZGUuDQo+ID4gVXNl ICJyIiBpbiBwbGFjZSBvZiAicmIiIGluIGZvcGVuKCkgdG8gcmVhZCB0ZXh0IGZpbGVzLg0KPiA+ DQo+ID4gW3NuaXBdDQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IG1hbmFfcGNpX3Byb2JlX21hYyhz dHJ1Y3QgcnRlX3BjaV9kcml2ZXIgKnBjaV9kcnYNCj4gX19ydGVfdW51c2VkLA0KPiA+ICsJCQkg ICAgICBzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYsDQo+ID4gKwkJCSAgICAgIHN0cnVj dCBydGVfZXRoZXJfYWRkciAqbWFjX2FkZHIpIHsNCj4gPiArCXN0cnVjdCBpYnZfZGV2aWNlICoq aWJ2X2xpc3Q7DQo+ID4gKwlpbnQgaWJ2X2lkeDsNCj4gPiArCXN0cnVjdCBpYnZfY29udGV4dCAq Y3R4Ow0KPiA+ICsJc3RydWN0IGlidl9kZXZpY2VfYXR0cl9leCBkZXZfYXR0cjsNCj4gPiArCWlu dCBudW1fZGV2aWNlczsNCj4gPiArCWludCByZXQgPSAwOw0KPiA+ICsJdWludDhfdCBwb3J0Ow0K PiA+ICsJc3RydWN0IG1hbmFfcHJpdiAqcHJpdiA9IE5VTEw7DQo+ID4gKwlzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmV0aF9kZXYgPSBOVUxMOw0KPiA+ICsJYm9vbCBmb3VuZF9wb3J0Ow0KPiA+ICsNCj4g PiArCWlidl9saXN0ID0gaWJ2X2dldF9kZXZpY2VfbGlzdCgmbnVtX2RldmljZXMpOw0KPiA+ICsJ Zm9yIChpYnZfaWR4ID0gMDsgaWJ2X2lkeCA8IG51bV9kZXZpY2VzOyBpYnZfaWR4KyspIHsNCj4g PiArCQlzdHJ1Y3QgaWJ2X2RldmljZSAqaWJkZXYgPSBpYnZfbGlzdFtpYnZfaWR4XTsNCj4gPiAr CQlzdHJ1Y3QgcnRlX3BjaV9hZGRyIHBjaV9hZGRyOw0KPiA+ICsNCj4gPiArCQlEUlZfTE9HKElO Rk8sICJQcm9iZSBkZXZpY2UgbmFtZSAlcyBkZXZfbmFtZSAlcw0KPiBpYmRldl9wYXRoICVzIiwN Cj4gPiArCQkJaWJkZXYtPm5hbWUsIGliZGV2LT5kZXZfbmFtZSwgaWJkZXYtDQo+ID5pYmRldl9w YXRoKTsNCj4gPiArDQo+ID4gKwkJaWYgKG1hbmFfaWJ2X2RldmljZV90b19wY2lfYWRkcihpYmRl diwgJnBjaV9hZGRyKSkNCj4gPiArCQkJY29udGludWU7DQo+ID4gKw0KPiA+ICsJCS8qIElnbm9y ZSBpZiB0aGlzIElCIGRldmljZSBpcyBub3QgdGhpcyBQQ0kgZGV2aWNlICovDQo+ID4gKwkJaWYg KHBjaV9kZXYtPmFkZHIuZG9tYWluICE9IHBjaV9hZGRyLmRvbWFpbiB8fA0KPiA+ICsJCSAgICBw Y2lfZGV2LT5hZGRyLmJ1cyAhPSBwY2lfYWRkci5idXMgfHwNCj4gPiArCQkgICAgcGNpX2Rldi0+ YWRkci5kZXZpZCAhPSBwY2lfYWRkci5kZXZpZCB8fA0KPiA+ICsJCSAgICBwY2lfZGV2LT5hZGRy LmZ1bmN0aW9uICE9IHBjaV9hZGRyLmZ1bmN0aW9uKQ0KPiA+ICsJCQljb250aW51ZTsNCj4gPiAr DQo+ID4gKwkJY3R4ID0gaWJ2X29wZW5fZGV2aWNlKGliZGV2KTsNCj4gPiArCQlpZiAoIWN0eCkg ew0KPiA+ICsJCQlEUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBvcGVuIElCIGRldmljZSAlcyIsDQo+ ID4gKwkJCQlpYmRldi0+bmFtZSk7DQo+ID4gKwkJCWNvbnRpbnVlOw0KPiA+ICsJCX0NCj4gPiAr DQo+ID4gKwkJcmV0ID0gaWJ2X3F1ZXJ5X2RldmljZV9leChjdHgsIE5VTEwsICZkZXZfYXR0cik7 DQo+ID4gKwkJRFJWX0xPRyhJTkZPLCAiZGV2X2F0dHIub3JpZ19hdHRyLnBoeXNfcG9ydF9jbnQg JXUiLA0KPiA+ICsJCQlkZXZfYXR0ci5vcmlnX2F0dHIucGh5c19wb3J0X2NudCk7DQo+ID4gKwkJ Zm91bmRfcG9ydCA9IGZhbHNlOw0KPiA+ICsNCj4gPiArCQlmb3IgKHBvcnQgPSAxOyBwb3J0IDw9 IGRldl9hdHRyLm9yaWdfYXR0ci5waHlzX3BvcnRfY250Ow0KPiA+ICsJCSAgICAgcG9ydCsrKSB7 DQo+ID4gKwkJCXN0cnVjdCBpYnZfcGFyZW50X2RvbWFpbl9pbml0X2F0dHIgYXR0ciA9IHt9Ow0K PiA+ICsJCQlzdHJ1Y3QgcnRlX2V0aGVyX2FkZHIgYWRkcjsNCj4gPiArCQkJY2hhciBhZGRyZXNz WzY0XTsNCj4gPiArCQkJY2hhciBuYW1lW1JURV9FVEhfTkFNRV9NQVhfTEVOXTsNCj4gPiArDQo+ ID4gKwkJCXJldCA9IGdldF9wb3J0X21hYyhpYmRldiwgcG9ydCwgJmFkZHIpOw0KPiA+ICsJCQlp ZiAocmV0KQ0KPiA+ICsJCQkJY29udGludWU7DQo+ID4gKw0KPiA+ICsJCQlpZiAobWFjX2FkZHIg JiYgIXJ0ZV9pc19zYW1lX2V0aGVyX2FkZHIoJmFkZHIsDQo+IG1hY19hZGRyKSkNCj4gPiArCQkJ CWNvbnRpbnVlOw0KPiA+ICsNCj4gPiArCQkJcnRlX2V0aGVyX2Zvcm1hdF9hZGRyKGFkZHJlc3Ms IHNpemVvZihhZGRyZXNzKSwNCj4gJmFkZHIpOw0KPiA+ICsJCQlEUlZfTE9HKElORk8sICJkZXZp Y2UgbG9jYXRlZCBwb3J0ICV1IGFkZHJlc3MNCj4gJXMiLA0KPiA+ICsJCQkJcG9ydCwgYWRkcmVz cyk7DQo+ID4gKwkJCWZvdW5kX3BvcnQgPSB0cnVlOw0KPiA+ICsNCj4gPiArCQkJcHJpdiA9IHJ0 ZV96bWFsbG9jX3NvY2tldChOVUxMLCBzaXplb2YoKnByaXYpLA0KPiA+ICsJCQkJCQkgIFJURV9D QUNIRV9MSU5FX1NJWkUsDQo+ID4gKwkJCQkJCSAgU09DS0VUX0lEX0FOWSk7DQo+ID4gKwkJCWlm ICghcHJpdikgew0KPiA+ICsJCQkJcmV0ID0gLUVOT01FTTsNCj4gPiArCQkJCWdvdG8gZmFpbGVk Ow0KPiA+ICsJCQl9DQo+ID4gKw0KPiA+ICsJCQlzbnByaW50ZihuYW1lLCBzaXplb2YobmFtZSks ICIlc19wb3J0JWQiLA0KPiA+ICsJCQkJIHBjaV9kZXYtPmRldmljZS5uYW1lLCBwb3J0KTsNCj4g PiArDQo+ID4gKwkJCWlmIChydGVfZWFsX3Byb2Nlc3NfdHlwZSgpID09DQo+IFJURV9QUk9DX1NF Q09OREFSWSkgew0KPiA+ICsJCQkJaW50IGZkOw0KPiA+ICsNCj4gPiArCQkJCWV0aF9kZXYgPQ0K PiBydGVfZXRoX2Rldl9hdHRhY2hfc2Vjb25kYXJ5KG5hbWUpOw0KPiA+ICsJCQkJaWYgKCFldGhf ZGV2KSB7DQo+ID4gKwkJCQkJRFJWX0xPRyhFUlIsICJDYW4ndCBhdHRhY2ggdG8gZGV2DQo+ICVz IiwNCj4gPiArCQkJCQkJbmFtZSk7DQo+ID4gKwkJCQkJcmV0ID0gLUVOT01FTTsNCj4gPiArCQkJ CQlnb3RvIGZhaWxlZDsNCj4gPiArCQkJCX0NCj4gPiArDQo+ID4gKwkJCQlldGhfZGV2LT5kZXZp Y2UgPSAmcGNpX2Rldi0+ZGV2aWNlOw0KPiA+ICsJCQkJZXRoX2Rldi0+ZGV2X29wcyA9ICZtYW5h X2Rldl9zZWNfb3BzOw0KPiA+ICsJCQkJcmV0ID0gbWFuYV9wcm9jX3ByaXZfaW5pdChldGhfZGV2 KTsNCj4gPiArCQkJCWlmIChyZXQpDQo+ID4gKwkJCQkJZ290byBmYWlsZWQ7DQo+ID4gKwkJCQlw cml2LT5wcm9jZXNzX3ByaXYgPSBldGhfZGV2LQ0KPiA+cHJvY2Vzc19wcml2YXRlOw0KPiA+ICsN Cj4gPiArCQkJCS8qIEdldCB0aGUgSUIgRkQgZnJvbSB0aGUgcHJpbWFyeSBwcm9jZXNzICovDQo+ ID4gKwkJCQlmZCA9DQo+IG1hbmFfbXBfcmVxX3ZlcmJzX2NtZF9mZChldGhfZGV2KTsNCj4gPiAr CQkJCWlmIChmZCA8IDApIHsNCj4gPiArCQkJCQlEUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBnZXQg RkQgJWQiLA0KPiBmZCk7DQo+ID4gKwkJCQkJcmV0ID0gLUVOT0RFVjsNCj4gPiArCQkJCQlnb3Rv IGZhaWxlZDsNCj4gPiArCQkJCX0NCj4gPiArDQo+ID4gKwkJCQlyZXQgPQ0KPiBtYW5hX21hcF9k b29yYmVsbF9zZWNvbmRhcnkoZXRoX2RldiwgZmQpOw0KPiA+ICsJCQkJaWYgKHJldCkgew0KPiA+ ICsJCQkJCURSVl9MT0coRVJSLCAiRmFpbGVkIHNlY29uZGFyeQ0KPiBtYXAgJWQiLA0KPiA+ICsJ CQkJCQlmZCk7DQo+ID4gKwkJCQkJZ290byBmYWlsZWQ7DQo+ID4gKwkJCQl9DQo+ID4gKw0KPiA+ ICsJCQkJLyogZmQgaXMgbm8gbm90IHVzZWQgYWZ0ZXIgbWFwcGluZyBkb29yYmVsbCAqLw0KPiA+ ICsJCQkJY2xvc2UoZmQpOw0KPiA+ICsNCj4gPiArCQkJCXJ0ZV9zcGlubG9ja19sb2NrKCZtYW5h X3NoYXJlZF9kYXRhLQ0KPiA+bG9jayk7DQo+ID4gKwkJCQltYW5hX3NoYXJlZF9kYXRhLT5zZWNv bmRhcnlfY250Kys7DQo+ID4gKwkJCQltYW5hX2xvY2FsX2RhdGEuc2Vjb25kYXJ5X2NudCsrOw0K PiA+ICsJCQkJcnRlX3NwaW5sb2NrX3VubG9jaygmbWFuYV9zaGFyZWRfZGF0YS0NCj4gPmxvY2sp Ow0KPiA+ICsNCj4gPiArCQkJCXJ0ZV9ldGhfY29weV9wY2lfaW5mbyhldGhfZGV2LCBwY2lfZGV2 KTsNCj4gPiArCQkJCXJ0ZV9ldGhfZGV2X3Byb2JpbmdfZmluaXNoKGV0aF9kZXYpOw0KPiA+ICsN Cj4gPiArCQkJCS8qIEltcG9zc2libGUgdG8gaGF2ZSBtb3JlIHRoYW4gb25lIHBvcnQNCj4gPiAr CQkJCSAqIG1hdGNoaW5nIGEgTUFDIGFkZHJlc3MNCj4gPiArCQkJCSAqLw0KPiA+ICsJCQkJY29u dGludWU7DQo+ID4gKwkJCX0NCj4gPiArDQo+ID4gKwkJCWV0aF9kZXYgPSBydGVfZXRoX2Rldl9h bGxvY2F0ZShuYW1lKTsNCj4gPiArCQkJaWYgKCFldGhfZGV2KSB7DQo+ID4gKwkJCQlyZXQgPSAt RU5PTUVNOw0KPiA+ICsJCQkJZ290byBmYWlsZWQ7DQo+ID4gKwkJCX0NCj4gPiArDQo+ID4gKwkJ CWV0aF9kZXYtPmRhdGEtPm1hY19hZGRycyA9DQo+ID4gKwkJCQlydGVfY2FsbG9jKCJtYW5hX21h YyIsIDEsDQo+ID4gKwkJCQkJICAgc2l6ZW9mKHN0cnVjdCBydGVfZXRoZXJfYWRkciksIDApOw0K PiA+ICsJCQlpZiAoIWV0aF9kZXYtPmRhdGEtPm1hY19hZGRycykgew0KPiA+ICsJCQkJcmV0ID0g LUVOT01FTTsNCj4gPiArCQkJCWdvdG8gZmFpbGVkOw0KPiA+ICsJCQl9DQo+ID4gKw0KPiA+ICsJ CQlydGVfZXRoZXJfYWRkcl9jb3B5KCZhZGRyLCBldGhfZGV2LT5kYXRhLQ0KPiA+bWFjX2FkZHJz KTsNCj4gPiArDQo+ID4gKwkJCXByaXYtPmliX3BkID0gaWJ2X2FsbG9jX3BkKGN0eCk7DQo+ID4g KwkJCWlmICghcHJpdi0+aWJfcGQpIHsNCj4gPiArCQkJCURSVl9MT0coRVJSLCAiaWJ2X2FsbG9j X3BkIGZhaWxlZCBwb3J0ICVkIiwNCj4gcG9ydCk7DQo+ID4gKwkJCQlyZXQgPSAtRU5PTUVNOw0K PiA+ICsJCQkJZ290byBmYWlsZWQ7DQo+ID4gKwkJCX0NCj4gPiArDQo+ID4gKwkJCS8qIENyZWF0 ZSBhIHBhcmVudCBkb21haW4gd2l0aCB0aGUgcG9ydCBudW1iZXIgKi8NCj4gPiArCQkJYXR0ci5w ZCA9IHByaXYtPmliX3BkOw0KPiA+ICsJCQlhdHRyLmNvbXBfbWFzayA9DQo+IElCVl9QQVJFTlRf RE9NQUlOX0lOSVRfQVRUUl9QRF9DT05URVhUOw0KPiA+ICsJCQlhdHRyLnBkX2NvbnRleHQgPSAo dm9pZCAqKSh1aW50NjRfdClwb3J0Ow0KPiA+ICsJCQlwcml2LT5pYl9wYXJlbnRfcGQgPSBpYnZf YWxsb2NfcGFyZW50X2RvbWFpbihjdHgsDQo+ICZhdHRyKTsNCj4gPiArCQkJaWYgKCFwcml2LT5p Yl9wYXJlbnRfcGQpIHsNCj4gPiArCQkJCURSVl9MT0coRVJSLA0KPiA+ICsJCQkJCSJpYnZfYWxs b2NfcGFyZW50X2RvbWFpbiBmYWlsZWQgcG9ydA0KPiAlZCIsDQo+ID4gKwkJCQkJcG9ydCk7DQo+ ID4gKwkJCQlyZXQgPSAtRU5PTUVNOw0KPiA+ICsJCQkJZ290byBmYWlsZWQ7DQo+ID4gKwkJCX0N Cj4gPiArDQo+ID4gKwkJCXByaXYtPmliX2N0eCA9IGN0eDsNCj4gPiArCQkJcHJpdi0+cG9ydF9p ZCA9IGV0aF9kZXYtPmRhdGEtPnBvcnRfaWQ7DQo+ID4gKwkJCXByaXYtPmRldl9wb3J0ID0gcG9y dDsNCj4gPiArCQkJZXRoX2Rldi0+ZGF0YS0+ZGV2X3ByaXZhdGUgPSBwcml2Ow0KPiA+ICsJCQlw cml2LT5kZXZfZGF0YSA9IGV0aF9kZXYtPmRhdGE7DQo+ID4gKw0KPiA+ICsJCQlwcml2LT5tYXhf cnhfcXVldWVzID0gZGV2X2F0dHIub3JpZ19hdHRyLm1heF9xcDsNCj4gPiArCQkJcHJpdi0+bWF4 X3R4X3F1ZXVlcyA9IGRldl9hdHRyLm9yaWdfYXR0ci5tYXhfcXA7DQo+ID4gKw0KPiA+ICsJCQlw cml2LT5tYXhfcnhfZGVzYyA9DQo+ID4gKwkJCQlSVEVfTUlOKGRldl9hdHRyLm9yaWdfYXR0ci5t YXhfcXBfd3IsDQo+ID4gKwkJCQkJZGV2X2F0dHIub3JpZ19hdHRyLm1heF9jcWUpOw0KPiA+ICsJ CQlwcml2LT5tYXhfdHhfZGVzYyA9DQo+ID4gKwkJCQlSVEVfTUlOKGRldl9hdHRyLm9yaWdfYXR0 ci5tYXhfcXBfd3IsDQo+ID4gKwkJCQkJZGV2X2F0dHIub3JpZ19hdHRyLm1heF9jcWUpOw0KPiA+ ICsNCj4gPiArCQkJcHJpdi0+bWF4X3NlbmRfc2dlID0gZGV2X2F0dHIub3JpZ19hdHRyLm1heF9z Z2U7DQo+ID4gKwkJCXByaXYtPm1heF9yZWN2X3NnZSA9IGRldl9hdHRyLm9yaWdfYXR0ci5tYXhf c2dlOw0KPiA+ICsNCj4gPiArCQkJcHJpdi0+bWF4X21yID0gZGV2X2F0dHIub3JpZ19hdHRyLm1h eF9tcjsNCj4gPiArCQkJcHJpdi0+bWF4X21yX3NpemUgPQ0KPiBkZXZfYXR0ci5vcmlnX2F0dHIu bWF4X21yX3NpemU7DQo+ID4gKw0KPiA+ICsJCQlEUlZfTE9HKElORk8sICJkZXYgJXMgbWF4IHF1 ZXVlcyAlZCBkZXNjICVkDQo+IHNnZSAlZCIsDQo+ID4gKwkJCQluYW1lLCBwcml2LT5tYXhfcnhf cXVldWVzLCBwcml2LQ0KPiA+bWF4X3J4X2Rlc2MsDQo+ID4gKwkJCQlwcml2LT5tYXhfc2VuZF9z Z2UpOw0KPiA+ICsNCj4gPiArCQkJcnRlX3NwaW5sb2NrX2xvY2soJm1hbmFfc2hhcmVkX2RhdGEt PmxvY2spOw0KPiA+ICsJCQltYW5hX3NoYXJlZF9kYXRhLT5wcmltYXJ5X2NudCsrOw0KPiA+ICsJ CQlydGVfc3BpbmxvY2tfdW5sb2NrKCZtYW5hX3NoYXJlZF9kYXRhLT5sb2NrKTsNCj4gPiArDQo+ ID4gKwkJCWV0aF9kZXYtPmRhdGEtPmRldl9mbGFncyB8PQ0KPiBSVEVfRVRIX0RFVl9JTlRSX1JN VjsNCj4gPiArDQo+ID4gKwkJCWV0aF9kZXYtPmRldmljZSA9ICZwY2lfZGV2LT5kZXZpY2U7DQo+ ID4gKwkJCWV0aF9kZXYtPmRhdGEtPmRldl9mbGFncyB8PQ0KPiA+ICsJCQkJUlRFX0VUSF9ERVZf QVVUT0ZJTExfUVVFVUVfWFNUQVRTOw0KPiA+ICsNCj4gDQo+IFBsZWFzZSBkbyBub3QgdXNlIHRo ZSB0ZW1wb3JhcnkgbWFjcm8uIFBsZWFzZSByZXZpZXcgdGhpcyBwYXRjaDoNCj4gDQo+IGYzMGU2 OWI0MWY5NCAoImV0aGRldjogYWRkIGRldmljZSBmbGFnIHRvIGJ5cGFzcyBhdXRvLWZpbGxlZCBx dWV1ZSB4c3RhdHMiKQ0KPiANCj4gVGhpcyBwYXRjaCByZXF1aXJlcyB0aGF0IHBlciBxdWV1ZSBz dGF0aXN0aWNzIGFyZSBmaWxsZWQgaW4NCj4gLnhzdGF0c19nZXQoKSBieSBQTUQuDQoNClRoYW5r cyBmb3IgcG9pbnRpbmcgdGhpcyBvdXQuDQoNCkl0IHNlZW1zIHNvbWUgUE1EcyBhcmUgc3RpbGwg ZGVwZW5kaW5nIG9uIHRoaXMgZmxhZyBmb3IgeHN0YXRzLg0KDQpNQU5BIGRvZXNuJ3QgaW1wbGVt ZW50IHhzdGF0c19nZXQoKSBjdXJyZW50bHksIHRoaXMgZmxhZyBpcyB1c2VmdWwuIElzIGl0IG9r YXkgdG8ga2VlcCB1c2luZyB0aGlzIGZsYWcgYmVmb3JlIGl0J3MgZmluYWxseSB0aGUgdGltZSB0 byByZW1vdmUgaXQgZnJvbSBhbGwgUE1Ecywgb3Igd2hlbiBNQU5BIGltcGxlbWVudHMgeHN0YXRz Pw0KDQoNCg==