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 8AF47A0C46; Tue, 7 Sep 2021 10:58:50 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7599241135; Tue, 7 Sep 2021 10:58:50 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2067.outbound.protection.outlook.com [40.107.244.67]) by mails.dpdk.org (Postfix) with ESMTP id C9780410F0; Mon, 6 Sep 2021 19:22:40 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Dc1mpRHb33HTIKAOGKukUSGp9o0wBh7/sOYIfbcZnMJiIl8hgGt8o3XonptQSC0nwn4H3pnlFzQeY4FsFbePiDSHKGVrb0vPf4GSWQpR3mRTTs5KZYEigEc6qCDAlxDoGtLRFY63vXiSBuLj2lVqmQ5EFNr+BruhrLEhtf2oPKXTtyy/o0u0ri9SNOZ+Ke2BpN3q9XQaTey+X4S7mFbHmiNYrQq/GyNEAWP0HwwmPoIOxq6umJapcGGYH6c1yTM/brs+ZC0kHSk1fLY1QMYB3KKeiVlJhrqWvE8wv26kRNKcZxAFQg/aGRQh259s0oarI4sOxDEYRIVm/HJFZCTylw== 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; bh=PewkqNg58UYBlDJEu15GpubsxzjFaWC7213zq65DfaY=; b=fEY+qsp5Ebkeq4Iztr2YVxBRl90KsL2BxiaGEUwcX6QRHA4Bx5gVs/5wjYykZ1phMuoLREB2pHeKZKL9Bbwa6WuDl6jxubiBq59sa67gAMAVJ+wd4V7nWcqCoQK5WRZvhDy4qqsoMlIlXVlAcbrNF/AAVUZvhsE4/PKTUdd5X7rK2FvRQx9WFoBe+nYxkvOtS3f09mja9zJsoKTXMegPnKdROXiloi3yknFJeMWHB9gRfvKbVSpeSlAeBYeufEMLJAicJDQFuzVbqr0u1L5DhkSiQW+ND7nE9keRiZ/gkwDfLVN/iVxeTQ+EiI8/yS5k/BQ+sSyTkCOb9c5f4JS/jg== 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=PewkqNg58UYBlDJEu15GpubsxzjFaWC7213zq65DfaY=; b=JE2TQIpAllGgwchKiS5YQhCmAozpLloXAR9xQPhnuXb+6dNiqBxGq+7OK9ayi7LVE9+pGBwYaUJi64B2GBvbtCo/Jq1KXqOvp7iyu6quTm5ZImjFY5EBcAijEgz4NEfmQe/M7/1lRBuo7abMHrhAWG+q+JgPIIchnaQ5naihpvjaCDBY99hcZnHGdDr5C0LSqmJ96Hmgbooqjb+QHrnjAZZbN+VzqL7uU2IsTkBDeo4pqO7XJ7Ckp+nrqngCH5re5u4cinDX8w2idpCT/76tREa4L/qMJPzERWWcT6HFPlfXfVtMso204mcO2V+twEhBsiNGIV0mY5Ur5c9mKk2yNQ== Received: from DM6PR12MB4107.namprd12.prod.outlook.com (2603:10b6:5:218::7) by DM5PR12MB1292.namprd12.prod.outlook.com (2603:10b6:3:73::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.20; Mon, 6 Sep 2021 17:22:38 +0000 Received: from DM6PR12MB4107.namprd12.prod.outlook.com ([fe80::1556:93f2:3c85:3769]) by DM6PR12MB4107.namprd12.prod.outlook.com ([fe80::1556:93f2:3c85:3769%3]) with mapi id 15.20.4478.025; Mon, 6 Sep 2021 17:22:38 +0000 From: Elena Agostini To: "Wang, Haiyue" , Jerin Jacob CC: NBU-Contact-Thomas Monjalon , Jerin Jacob , dpdk-dev , Stephen Hemminger , David Marchand , Andrew Rybchenko , Honnappa Nagarahalli , "Yigit, Ferruh" , "techboard@dpdk.org" Thread-Topic: [dpdk-dev] [RFC PATCH v2 0/7] heterogeneous computing library Thread-Index: AQHXmygsE2g136TDxUCI8rp76gsZ7KuHRToAgAKzFoCABU6M0IABew0AgAZuR2CAAB7/gIAAAXAQ Date: Mon, 6 Sep 2021 17:22:37 +0000 Message-ID: References: <20210602203531.2288645-1-thomas@monjalon.net> <2204873.CS8KgQhqXy@thomas> <4431702.ObvnSNnLSN@thomas> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Enabled=True; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SiteId=43083d15-7273-40c1-b7db-39efd9ccc17a; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Owner=eagostini@nvidia.com; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SetDate=2021-09-06T16:12:07.7259280Z; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Name=Unrestricted; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Application=Microsoft Azure Information Protection; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_ActionId=337119a2-0a5a-44f8-bd40-0cdeb8ea9c7b; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Extended_MSFT_Method=Automatic authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 262abd93-af0a-420b-7ee7-08d9715aec9d x-ms-traffictypediagnostic: DM5PR12MB1292: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CJwekgz6RRXCCXRJ+EsLZIC5BUwYp6d+C7OQkCJQ6k1arQJ+rF8roNYjYD/k2UtlpUmux09/4RHU8UF4TlzxHbfuNl3ogkdkPeI1EXsKkUtVaqBM8bUuVT7iGA+TQ206nHaY7VIdIyYyH1B9wlkTBBry/FIbKl5+0zzJmQYmGNvdru4BnWsR4974lMrEp2pnmGebYnHXHhvsfKg/RrHA8HXx0XFzrrhg1Z2HlIRDPNENov3o9gT0Kse0vibA7d8DJIaVrfjRYrjGWZZwvtki037SL4d4J/t7EA+drAH1Iczm9pvGNbw2/IKKnKVv3Tu4a9nJgKPxoHKAu0SmhjlKZFQmvWYVqV6Xv0/3v9jmcp+QUnSXcV5OYvE2Q9b/8llgOD4vgsEV8hLP7fyPoDpmPTuPgTC9e82geIp3s4qqr1sImOkz5NHhrKLGCXSh8Hxne6uLr+enf6mje/UeJc0r1z1nsS/vpOQAiZdfokX0Ne0OnHE/tSow7D7DeZXXT//2pqA7d2ZA+OMhf6aCqFPpn+7YHZWUbonfCw09+dQN2qeZnqWnFPWOD9gZ27Yxaux+Pa33VkMTmHsLiiofqQzPXJS73Zz0hv5rXDi1RBH6o/1yYzh8HxhvltSaNHCid14nbTVT5w0u5ANAr2tMLMYqur1EKHh4C21znKFIrBHbLdfq+EKnd8dE+P4rzcto8m9CeWvTxjZ4qQy8hBJg62CAJKxZHF2+H0W5g410Tdd84PGeR8nl/cCoo3ulM4ioc37Zxpt4aJ1asOHsHUQY/ywEL24ufdt3R9Nzl+hy/U/mEe0= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4107.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(39860400002)(346002)(376002)(366004)(66946007)(8936002)(52536014)(7696005)(66476007)(86362001)(54906003)(33656002)(66446008)(64756008)(83380400001)(66556008)(4326008)(9686003)(38100700002)(122000001)(478600001)(110136005)(8676002)(5660300002)(38070700005)(7416002)(966005)(71200400001)(186003)(6506007)(2906002)(76116006)(53546011)(316002)(55016002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bExSa2dnN2lqYmZrdWxReitCK2plbDRaKzlLalIzNWNFMDBzVnl0M0I1SGNn?= =?utf-8?B?UnFZVnkvNk1KbnpEVVhWNGxMSHhraVhxaDk4aUtwVDlSdElVQ0dJL050aTJL?= =?utf-8?B?SERKa2dhazdKOHlRZDI3dEVRSDRmSG9GclA3VmNsemdjUm9MdDhvaXA0N1h1?= =?utf-8?B?VG9mRHduMkg4NVJyYVFOL1pEc3crV3FzNkI4eU5pMEFqc2QrVGJLQi9ZaGFo?= =?utf-8?B?RmgwMnBHUkFNQ2VRSGJka0s2UWhZZHNWVmI5bXd2VzJRcTlRRDUzRzZOK0ds?= =?utf-8?B?Z0hDdVdkcEdJVllQUkhaTngybGlzVjc4dFpsV3JiMXptMUh0bFk1bFFaVERG?= =?utf-8?B?QmFsTTYxdFVRdXpaZkdNclRIMlJnaTBKMTdIQWpuYXNrY2o0Q0tNbnFMd0Z6?= =?utf-8?B?ZUNFdHJmdEhlcnBSL3FMZWd6Tk1Kd1Z5KzYvL2hLMlhEazVBem9yWWR3MWc2?= =?utf-8?B?akVTbjV0Q0JubG5tVUxkK2ZadG1FQStVVnBSYnFOUmNSN2YyMENCNXhIZlB4?= =?utf-8?B?cEx0c00xREN4SVIydk9EZVJHTTVabmo2UzFrTUVOaXRJa1RaVE9Jd3lmUWlV?= =?utf-8?B?cDNzVnBuSllMRi8rOGhDWkpVQ3Y4TVBJell0NmVyTC9PcEN5VXFZNXpScWZQ?= =?utf-8?B?bjZoVVhjK0d5cnozMTlqRW5sTUtXTWN1RTJERzMvT2ZWL2w1VUR2dXhFVkN1?= =?utf-8?B?QWRzNEFXS1UvNmZKRWFrR2xoZ3JwVmdSSXQ3YWMvOWV5NE9FU3BRb2tDS2Ey?= =?utf-8?B?UGZtYXlQM1J3K0VtYThkTmJHRjNiczBMdlRpekxnS3pzU3Q2MkVaUmpVbkxa?= =?utf-8?B?Y09jTUExSzJGN3RDZ1ROTWREdTZuVWdxTWkybTlrdXJ4QmJvU3hFaG9IdCts?= =?utf-8?B?bmIveVhwRnJmR3VUNjBkUURGcW04QkRIM3hRMFNTVlVLWWZiZ2JhcmlpUjZU?= =?utf-8?B?SGQzNUdBNU0vWml4MjBsY29nbytWRW13WTlDM21iK2FZSk9QU3BWNUlkdStP?= =?utf-8?B?M0dXN2phNmRZaHZOYmVSaHVVOXd2a2FRaUtHSHJWd2QvVTFCZWZHVUFVTDhD?= =?utf-8?B?S1Q0RG90L0FoYVkyNm5TSzlWR2ZLcUk5L0ZsWWVEYTBkWkNRK2k2dUJtazFo?= =?utf-8?B?a1QxaHRUblM3Uk1ITjhLRVpwSHNJMllsYk5OWEV6TXl1MmdoMDRkOGtxNk5B?= =?utf-8?B?aDgvc0x1Wm5WQUlnSkkvaVhjdGE3NlJOckc2V3ZTTkZHVFNVSkowSW01WTBx?= =?utf-8?B?ajRaMDJLd1N1aEhvK0hRcGprbVluQ1BNUTBMRFpUV3FGVW1YK3BoUGhsbkxN?= =?utf-8?B?MDg0cTJzb2NheGxFVk4yRmxzekd5bGR3UVN2cmE4WC9EUTFaT1picDdKTlZG?= =?utf-8?B?UVJOSmlSM0U1b1A3R0ZBb2trTGt4ZCs2d2k5UU1vWmw3bFRtajUzZm9IWDVt?= =?utf-8?B?ak16S3Q2ejNtV2IveHErUk51Z1BpOUk4bXFqYWc4TFNOQnNjYkZQSlFpV1ZD?= =?utf-8?B?NThrbzBqZktsQnFHK3NKNEhDK0swNCtvTnpVWnEzSThtdlcyTHdLN3h5RGVw?= =?utf-8?B?ekQ0TGUvZVUyYjh3cUo1NmphZTJKUCtvOWF5OWRYbi9MVzZ0dEM5bTFHOVBK?= =?utf-8?B?N3RDaUxiMDFvc1Y3eGpraGgzeDdickRYa0MyRElNcm8va1JrUVczVVZhb2hw?= =?utf-8?B?KytEZDRuc3VFYzl1YnI5ejVBS2VKMVFQdzBZcWJYUUlLTTR0eWJhWGpGWDlN?= =?utf-8?B?bDg1K3VoT1NYMWZmdnM4dC9OeTFPZDRUaG0xcWhxY1l3V29ENDF1ZkRtblpB?= =?utf-8?Q?Yi7vO+dNkzOSA8IJSCQz8HOtVZr8ekHKG1+MI=3D?= x-ms-exchange-transport-forked: True 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: DM6PR12MB4107.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 262abd93-af0a-420b-7ee7-08d9715aec9d X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2021 17:22:37.9181 (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: 8ZimucJFlz/j88gyNnLsiKKOk+oVZncpqvFGdb2m70xd3jBOzPzSuwcbQhciMT+1a7+kwI8dRFpuw+8Y2OeZRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1292 X-Mailman-Approved-At: Tue, 07 Sep 2021 10:58:50 +0200 Subject: Re: [dpdk-dev] [RFC PATCH v2 0/7] heterogeneous computing library 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 Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV2FuZywgSGFpeXVlIDxo YWl5dWUud2FuZ0BpbnRlbC5jb20+DQo+IFNlbnQ6IE1vbmRheSwgU2VwdGVtYmVyIDYsIDIwMjEg NzoxNSBQTQ0KPiBUbzogRWxlbmEgQWdvc3RpbmkgPGVhZ29zdGluaUBudmlkaWEuY29tPjsgSmVy aW4gSmFjb2INCj4gPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gQ2M6IE5CVS1Db250YWN0LVRo b21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEplcmluIEphY29iDQo+IDxqZXJp bmpAbWFydmVsbC5jb20+OyBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgU3RlcGhlbiBIZW1taW5n ZXINCj4gPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPjsgRGF2aWQgTWFyY2hhbmQNCj4gPGRh dmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+OyBBbmRyZXcgUnliY2hlbmtvDQo+IDxhbmRyZXcucnli Y2hlbmtvQG9rdGV0bGFicy5ydT47IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+IDxob25uYXBwYS5u YWdhcmFoYWxsaUBhcm0uY29tPjsgWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNv bT47DQo+IHRlY2hib2FyZEBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUkZD IFBBVENIIHYyIDAvN10gaGV0ZXJvZ2VuZW91cyBjb21wdXRpbmcNCj4gbGlicmFyeQ0KPiANCj4g DQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBFbGVuYSBBZ29zdGlu aSA8ZWFnb3N0aW5pQG52aWRpYS5jb20+DQo+ID4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDcs IDIwMjEgMDA6MTENCj4gPiBUbzogSmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4N Cj4gPiBDYzogV2FuZywgSGFpeXVlIDxoYWl5dWUud2FuZ0BpbnRlbC5jb20+OyBOQlUtQ29udGFj dC1UaG9tYXMNCj4gTW9uamFsb24NCj4gPiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IEplcmluIEph Y29iIDxqZXJpbmpAbWFydmVsbC5jb20+OyBkcGRrLWRldg0KPiA+IDxkZXZAZHBkay5vcmc+OyBT dGVwaGVuIEhlbW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+Ow0KPiBEYXZpZA0K PiA+IE1hcmNoYW5kIDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPjsgQW5kcmV3IFJ5YmNoZW5r bw0KPiA+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IEhvbm5hcHBhIE5hZ2FyYWhh bGxpDQo+ID4gPGhvbm5hcHBhLm5hZ2FyYWhhbGxpQGFybS5jb20+OyBZaWdpdCwgRmVycnVoDQo+ ID4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+OyB0ZWNoYm9hcmRAZHBkay5vcmcNCj4gPiBTdWJq ZWN0OiBSRTogW2RwZGstZGV2XSBbUkZDIFBBVENIIHYyIDAvN10gaGV0ZXJvZ2VuZW91cyBjb21w dXRpbmcNCj4gPiBsaWJyYXJ5DQo+ID4NCj4gPg0KPiA+DQo+IA0KPiANCj4gPiA+ID4NCj4gPiA+ ID4gSSdkIGxpa2UgdG8gaW50cm9kdWNlICh3aXRoIGEgZGVkaWNhdGVkIG9wdGlvbikgdGhlIG1l bW9yeSBBUEkgaW4NCj4gPiA+ID4gdGVzdHBtZCB0byBwcm92aWRlIGFuIGV4YW1wbGUgb2YgaG93 IHRvIFRYL1JYIHBhY2tldHMgdXNpbmcgZGV2aWNlDQo+ID4gPiBtZW1vcnkuDQo+ID4gPg0KPiA+ ID4gTm90IHN1cmUgd2l0aG91dCBlbWJlZGRpbmcgc2lkZWJhbmQgY29tbXVuaWNhdGlvbiBtZWNo YW5pc20gaG93DQo+IGl0DQo+ID4gPiBjYW4gbm90aWZ5IHRvIEdQVSBhbmQgYmFjayB0byBDUFUu IElmIHlvdSBjb3VsZCBzaGFyZSB0aGUgZXhhbXBsZQ0KPiA+ID4gQVBJIHNlcXVlbmNlIHRoYXQg aGVscHMgdG8gdXMgdW5kZXJzdGFuZCB0aGUgbGV2ZWwgb2YgY291cGxpbmcgd2l0aA0KPiB0ZXN0 cG1kLg0KPiA+ID4NCj4gPg0KPiA+IFRoZXJlIGlzIG5vIG5lZWQgb2YgY29tbXVuaWNhdGlvbiBt ZWNoYW5pc20gaGVyZS4NCj4gPiBBc3N1bWluZyB0aGVyZSBpcyBub3Qgd29ya2xvYWQgdG8gcHJv Y2VzcyBuZXR3b3JrIHBhY2tldHMgKHRvIG5vdA0KPiA+IGNvbXBsaWNhdGUgdGhpbmdzKSwgdGhl IHN0ZXBzIGFyZToNCj4gPiAxKSBDcmVhdGUgYSBEUERLIG1lbXBvb2wgd2l0aCBkZXZpY2UgZXh0 ZXJuYWwgbWVtb3J5IHVzaW5nIHRoZSBoY2Rldg0KPiA+IChvciBncHVkZXYpIGxpYnJhcnkNCj4g PiAyKSBVc2UgdGhhdCBtZW1wb29sIHRvIHR4L3J4L2Z3ZCBwYWNrZXRzDQo+ID4NCj4gPiBBcyBh biBleGFtcGxlLCB5b3UgbG9vayBhdCBteSBsMmZ3ZC1udiBhcHBsaWNhdGlvbiBoZXJlOg0KPiA+ IGh0dHBzOi8vZ2l0aHViLmNvbS9OVklESUEvbDJmd2QtbnYNCj4gPg0KPiANCj4gVG8gZW5oYW5j ZSB0aGUgJ3J0ZV9leHRtZW1fcmVnaXN0ZXInIC8gJ3J0ZV9wa3RtYnVmX3Bvb2xfY3JlYXRlX2V4 dGJ1ZicNCj4gPw0KPiANCg0KVGhlIHB1cnBvc2Ugb2YgdGhlc2UgdHdvIGZ1bmN0aW9ucyBpcyBk aWZmZXJlbnQuDQpIZXJlIERQREsgYWxsb3dzIHRoZSB1c2VyIHRvIHVzZSBhbnkga2luZCBvZiBt ZW1vcnkgdG8gcngvdHggcGFja2V0cy4NCkl0J3Mgbm90IGFib3V0IGFsbG9jYXRpbmcgbWVtb3J5 Lg0KDQpNYXliZSBJJ20gbWlzc2luZyB0aGUgcG9pbnQgaGVyZTogd2hhdCdzIHRoZSBtYWluIG9i amVjdGlvbiBpbiBoYXZpbmcgYSBHUFUgbGlicmFyeT8NCg0KPiAgICAgICAgIGlmIChsMmZ3ZF9t ZW1fdHlwZSA9PSBNRU1fSE9TVF9QSU5ORUQpIHsNCj4gICAgICAgICAgICAgICAgIGV4dF9tZW0u YnVmX3B0ciA9IHJ0ZV9tYWxsb2MoImV4dG1lbSIsIGV4dF9tZW0uYnVmX2xlbiwgMCk7DQo+ICAg ICAgICAgICAgICAgICBDVURBX0NIRUNLKGN1ZGFIb3N0UmVnaXN0ZXIoZXh0X21lbS5idWZfcHRy LA0KPiBleHRfbWVtLmJ1Zl9sZW4sIGN1ZGFIb3N0UmVnaXN0ZXJNYXBwZWQpKTsNCj4gICAgICAg ICAgICAgICAgIHZvaWQgKnBEZXZpY2U7DQo+ICAgICAgICAgICAgICAgICBDVURBX0NIRUNLKGN1 ZGFIb3N0R2V0RGV2aWNlUG9pbnRlcigmcERldmljZSwNCj4gZXh0X21lbS5idWZfcHRyLCAwKSk7 DQo+ICAgICAgICAgICAgICAgICBpZiAocERldmljZSAhPSBleHRfbWVtLmJ1Zl9wdHIpDQo+ICAg ICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9leGl0KEVYSVRfRkFJTFVSRSwgIkdQVSBwb2ludGVy IGRvZXMgbm90IG1hdGNoIENQVQ0KPiBwb2ludGVyXG4iKTsNCj4gICAgICAgICB9IGVsc2Ugew0K PiAgICAgICAgICAgICAgICAgZXh0X21lbS5idWZfaW92YSA9IFJURV9CQURfSU9WQTsNCj4gICAg ICAgICAgICAgICAgIENVREFfQ0hFQ0soY3VkYU1hbGxvYygmZXh0X21lbS5idWZfcHRyLA0KPiBl eHRfbWVtLmJ1Zl9sZW4pKTsNCj4gICAgICAgICAgICAgICAgIGlmIChleHRfbWVtLmJ1Zl9wdHIg PT0gTlVMTCkNCj4gICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2V4aXQoRVhJVF9GQUlMVVJF LCAiQ291bGQgbm90IGFsbG9jYXRlIEdQVSBtZW1vcnlcbiIpOw0KPiANCj4gICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCBmbGFnID0gMTsNCj4gICAgICAgICAgICAgICAgIENVcmVzdWx0IHN0 YXR1cyA9IGN1UG9pbnRlclNldEF0dHJpYnV0ZSgmZmxhZywNCj4gQ1VfUE9JTlRFUl9BVFRSSUJV VEVfU1lOQ19NRU1PUFMsIChDVWRldmljZXB0cilleHRfbWVtLmJ1Zl9wdHIpOw0KPiAgICAgICAg ICAgICAgICAgaWYgKENVREFfU1VDQ0VTUyAhPSBzdGF0dXMpIHsNCj4gICAgICAgICAgICAgICAg ICAgICAgICAgcnRlX2V4aXQoRVhJVF9GQUlMVVJFLCAiQ291bGQgbm90IHNldCBTWU5DIE1FTU9Q IGF0dHJpYnV0ZQ0KPiBmb3IgR1BVIG1lbW9yeSBhdCAlbGx4XG4iLCAoQ1VkZXZpY2VwdHIpZXh0 X21lbS5idWZfcHRyKTsNCj4gICAgICAgICAgICAgICAgIH0NCj4gICAgICAgICAgICAgICAgIHJl dCA9IHJ0ZV9leHRtZW1fcmVnaXN0ZXIoZXh0X21lbS5idWZfcHRyLCBleHRfbWVtLmJ1Zl9sZW4s DQo+IE5VTEwsIGV4dF9tZW0uYnVmX2lvdmEsIEdQVV9QQUdFX1NJWkUpOw0KPiAgICAgICAgICAg ICAgICAgaWYgKHJldCkNCj4gICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2V4aXQoRVhJVF9G QUlMVVJFLCAiQ291bGQgbm90IHJlZ2lzdGVyIEdQVSBtZW1vcnlcbiIpOw0KPiAgICAgICAgIH0N Cj4gICAgICAgICByZXQgPSBydGVfZGV2X2RtYV9tYXAocnRlX2V0aF9kZXZpY2VzW2wyZndkX3Bv cnRfaWRdLmRldmljZSwNCj4gZXh0X21lbS5idWZfcHRyLCBleHRfbWVtLmJ1Zl9pb3ZhLCBleHRf bWVtLmJ1Zl9sZW4pOw0KPiAgICAgICAgIGlmIChyZXQpDQo+ICAgICAgICAgICAgICAgICBydGVf ZXhpdChFWElUX0ZBSUxVUkUsICJDb3VsZCBub3QgRE1BIG1hcCBFWFQgbWVtb3J5XG4iKTsNCj4g ICAgICAgICBtcG9vbF9wYXlsb2FkID0gcnRlX3BrdG1idWZfcG9vbF9jcmVhdGVfZXh0YnVmKCJw YXlsb2FkX21wb29sIiwNCj4gbDJmd2RfbmJfbWJ1ZnMsDQo+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAwLCAwLCBleHRfbWVtLmVsdF9zaXplLA0KPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcnRlX3NvY2tldF9pZCgpLA0KPiAmZXh0X21lbSwgMSk7DQo+ICAgICAgICAg aWYgKG1wb29sX3BheWxvYWQgPT0gTlVMTCkNCj4gICAgICAgICAgICAgICAgIHJ0ZV9leGl0KEVY SVRfRkFJTFVSRSwgIkNvdWxkIG5vdCBjcmVhdGUgRVhUIG1lbW9yeQ0KPiBtZW1wb29sXG4iKTsN Cj4gDQo+IA0KDQo=