From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id D76E4A09FF; Wed, 6 Jan 2021 08:50:47 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8C03F160849; Wed, 6 Jan 2021 08:50:47 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id C05BB16082B for ; Wed, 6 Jan 2021 08:50:45 +0100 (CET) IronPort-SDR: tbRhDFEhoyohH6RkTvkkAzC75ugDINrhwxMru6OnAhO1Dk5tU2NDS6JWdNJAbrjmv4D8/y2twC E4WD1wer2tqg== X-IronPort-AV: E=McAfee;i="6000,8403,9855"; a="177396915" X-IronPort-AV: E=Sophos;i="5.78,479,1599548400"; d="scan'208";a="177396915" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jan 2021 23:50:44 -0800 IronPort-SDR: n71YH0+cGHuWWoVoZ045XPI+poB9QqC/hQmVZeUJx2kPwj3TW+SoCjX6CdUzFVAueE3i/cR3xp CtK+dMOCPlHw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,479,1599548400"; d="scan'208";a="343423176" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga007.fm.intel.com with ESMTP; 05 Jan 2021 23:50:43 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 5 Jan 2021 23:50:42 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 5 Jan 2021 23:50:42 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.48) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 5 Jan 2021 23:50:41 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hW7DVKnKsgCqnQgsmiapVjtDuPqZO/rckNEhSTydxY5hJwcgpV9KYrAmb2P5cwxMqCRrs2aknb15wLotaZ3FinlFhgERJ//LrWCirALLZ9CJJ2osBJ8qo0oqV0Fk+V1SGWU1ddo8kGCgrVXITsgHXMe/D+KiqXhzQwnOXUpA7WXf8UCYcqNxgjnQYzZBzof9hIZXyPUkJ/nl09mWCn5IvMLQ6WVlW2q3S9YPcsONSOAPA1d0kG/pxrfwrBHgpWGMEuctBRpay/berH03OCdZcE1eyHXjDD2sajDPcVOMzjC9XpUKCLnxfkljE/b5w1NTiuPcW2c4g1+XSC8DV2LAlg== 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-SenderADCheck; bh=8FGoqv6RqKWntaOu7+zoeGkApVAlGVCDiT/487doa4c=; b=HaZG+sVzVOVRLM9ml8HyzrS/4KfeMqeYSWvUizQ0heRJ590yTOg0CPGZxHR87m5tVzlvvcFaqvLvFFcIBzXzel9UTEPuWgMjzaoja704yrreXmxrw7AK/4uaBVTGhSAsrkAR2VB6pZm/7g0lgyIYB2gdoKMhvVcMTGgdfWMgUQ8hffw+uiSYGLcLseHfS9dVEUUnocBDpoo2l/YZng1hnCrsRPU9H3om2rULFTrPkZNP+83h566gZ74SS76Na5WyFBj7f1/ZJsDsLcEG31ZnjJqaB2XTF70oqHOn2KcqzabCi56ymdmt1jMYqDtN+2u/LYzIwjuZhulXH2scZ8drYg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8FGoqv6RqKWntaOu7+zoeGkApVAlGVCDiT/487doa4c=; b=keXCZKhL5Ru+hWf4Nww4a/pKoGaVWG8FeXeqOkL2Zy9Etp6Z43KJVeaCTlKwEvmiswo1zxbAByHEyGylVZgAY+jFYTKhWFWY1mmNdLvPrPMoVQQMXk7pcox89dN2qRjrQ0XmT6grufb9avVGE6ib7lk26uHEshP8AVcMCtnOfVo= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3808.namprd11.prod.outlook.com (2603:10b6:208:f8::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.20; Wed, 6 Jan 2021 07:50:38 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::74f2:ba7f:cb22:5272%7]) with mapi id 15.20.3721.024; Wed, 6 Jan 2021 07:50:38 +0000 From: "Xia, Chenbo" To: "Xing, Beilei" , "dev@dpdk.org" , "thomas@monjalon.net" , "david.marchand@redhat.com" CC: "stephen@networkplumber.org" , "Liang, Cunming" , "Lu, Xiuchun" , "Li, Miao" , "Wu, Jingjing" Thread-Topic: [dpdk-dev] [PATCH 3/9] vfio_user: implement device and region related APIs Thread-Index: AQHW1RMzEdxUX4jAJk6ehfQlh8j6m6oaNd0AgAAgtoA= Date: Wed, 6 Jan 2021 07:50:38 +0000 Message-ID: References: <20201218073851.93609-1-chenbo.xia@intel.com> <20201218073851.93609-4-chenbo.xia@intel.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 89ca524e-0d8f-41b2-ca91-08d8b217c205 x-ms-traffictypediagnostic: MN2PR11MB3808: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:983; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5xs/pQAZYFurkyKKoJp9D448/Iapd53Q/4ehaVY6Uf4jGV2Sb2wDQyXFWHpxZeK9N570vKZg3FYkyMKmOCAmMpK9B7GyYeY4tSi5xgTnINPj+moiFRwLJun2c9LXGEkj35nVne/yP9llQF+tRgtQNFNRe5DsvjkxpsWLwsi9YC1iIWxW5Drpsu1QHnmMT5JnIEmMuRB9CBCZB26iEy1Y1wfxK6//bhqMoFcGxiDFaE0oiblgQKuN0Ih0m3GGihzpGG8UmLdko0dsWGPGFI/7FMecmYrioLwOozuS+gzUycUT3/iGByT1mDIRB1obGW/gNx2Zh2uLvLwKG9Sk+wgKA7NgYFJaC0sJetL32eupjA6OeGa0uWi5FRDFAGfFKOZCmOaosp6bOT5As/v7Rx5BKg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(39860400002)(396003)(366004)(136003)(478600001)(9686003)(5660300002)(26005)(66556008)(53546011)(66946007)(64756008)(186003)(66476007)(7696005)(4326008)(76116006)(55016002)(110136005)(54906003)(86362001)(66446008)(2906002)(33656002)(6506007)(107886003)(52536014)(83380400001)(8936002)(71200400001)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?SDF0Q09ka0J2aVNCRDUvakVnUzl4bC9aakkwamVhS1Q3RnBsUlBBRldZNFZx?= =?utf-8?B?WGNDb2xxV1pEKzNhSUpRbTBkb1JmZm1JbExKZmpoTk1kVlZXREo0d3g3TUVm?= =?utf-8?B?NnpsU3J3ZG4rZEtsZDNEdHNxSjdlelgwV0dhRm03SHA5TmJXZitxL2xjQzlp?= =?utf-8?B?VHM2UWlqQ3A5R0hUOUlFUkhyWGEvdzVRVlNhVVQ4bkRnK05Na3BtRWloeTNq?= =?utf-8?B?S3lDTHF6bU5pa3JRajY3TGNaditXZDFEN2xBS3A3cnFEY2FkOFQzNFBBRDNo?= =?utf-8?B?aHJIVnNNSWFLR2RRMlpTQ3o4QXJTeVJFZUd4R2llTGlnb0E1NHlYUEVtQ25j?= =?utf-8?B?bWczZm5UV2FEaFV6dm1raWtkZStGeEJuNUkrOWNMQ2EzWmxZKytYSHhsclZI?= =?utf-8?B?ek41UlJVN09SVjZHTjk0bU5tL3pjZlhEZXpldUNWbnFFVzlaU3F6UThVcThz?= =?utf-8?B?ZXJDU3ppK2V2NEQyQ1hFUVpZc1Zhd0NjMk14dG5zNm9Dc0ZwNXkvd2w0NnQv?= =?utf-8?B?YkxNajU1SUN1K1A5NXJHTHY0TlM0OGVFVGt3eHp4ZjNQaWJRUk9HVk4xMWJK?= =?utf-8?B?T0laRVg4QkM5WWpCYXg0TTFwbGdYaW5LekVDbzVqV2RCQjFrMmlyUUlMYktV?= =?utf-8?B?bG1iWVZHbmdoZGYzQkhMa1lwOU1RbHRjMDZrTWNSV21NTVNmakFqMW42ZmFz?= =?utf-8?B?bnlBbkRZZTZzekpsa0JzRnpvMjlEVVc3RkdoUUliampvNzRJb2Z0aUtld1dL?= =?utf-8?B?REszUTU2QjNncEdRVlMrOURpYW9lSHBpTXR6aXczRlpuczVJSllpd3JTN3lH?= =?utf-8?B?bkwySWl5eFJ5TnVsdjZiejZtb05WaUxGeXlqMVQrVEUveUhZZHBPckNoUHc5?= =?utf-8?B?S08rVitZWjZUV3podWZoeHk0K1FMWDBOZFpXNjBUZUtTK3RtVmM2UkcrekIw?= =?utf-8?B?dTJEYmJxaER2cTBJMUw3dFd2emRVcTJPUU5ad0ZUQ0FWL21CeTYxSVZ3aUNE?= =?utf-8?B?VGNRMFBZeFRCa2EyRDREd1UzbTh4dFRBbHNqQlcwcmtaRitucEhaU2ZhMXlX?= =?utf-8?B?bGdwMGdaQUJxbmgyTHM5UkNEckVlREtrRXlqRWNGNTJJTEl5UWg2dXJEVFM1?= =?utf-8?B?MGdTTWQ0UW1BdGVJdFlYY3dyVHcwdHk0TTdYa1RKeHVqcWUvUjZQN1hIZHM0?= =?utf-8?B?eDVvOFA3RWsrbEtqM09Dd3daUGRTMWJEOUhsL2xQaHpScGthUk1qc2JFK1dj?= =?utf-8?B?UENnbC9icG1vcVIzN2pUMlF3dGVtSmphM293TzJXT0orMzBVeFNHeVYycEZP?= =?utf-8?Q?eTADJBbwsG4/I=3D?= 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: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89ca524e-0d8f-41b2-ca91-08d8b217c205 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Jan 2021 07:50:38.0207 (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: h2QmH3+0/YhwRJceOmuLiiZGqMtYQyiOINE8aPnsvrE1uhfelurYDGNmJ5wA8cTwx6lkWQJtHt0VfWDWcDlAJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3808 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 3/9] vfio_user: implement device and region related APIs 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" SGkgQmVpbGVpLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFhpbmcs IEJlaWxlaSA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIEphbnVh cnkgNiwgMjAyMSAxOjUyIFBNDQo+IFRvOiBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5j b20+OyBkZXZAZHBkay5vcmc7IHRob21hc0Btb25qYWxvbi5uZXQ7DQo+IGRhdmlkLm1hcmNoYW5k QHJlZGhhdC5jb20NCj4gQ2M6IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBMaWFuZywgQ3Vu bWluZyA8Y3VubWluZy5saWFuZ0BpbnRlbC5jb20+OyBMdSwNCj4gWGl1Y2h1biA8eGl1Y2h1bi5s dUBpbnRlbC5jb20+OyBMaSwgTWlhbyA8bWlhby5saUBpbnRlbC5jb20+OyBXdSwgSmluZ2ppbmcN Cj4gPGppbmdqaW5nLnd1QGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BB VENIIDMvOV0gdmZpb191c2VyOiBpbXBsZW1lbnQgZGV2aWNlIGFuZCByZWdpb24NCj4gcmVsYXRl ZCBBUElzDQo+IA0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBG cm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgQ2hlbmJvIFhpYQ0K PiA+IFNlbnQ6IEZyaWRheSwgRGVjZW1iZXIgMTgsIDIwMjAgMzozOSBQTQ0KPiA+IFRvOiBkZXZA ZHBkay5vcmc7IHRob21hc0Btb25qYWxvbi5uZXQ7IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20N Cj4gPiBDYzogc3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc7IExpYW5nLCBDdW5taW5nDQo+ID4g PGN1bm1pbmcubGlhbmdAaW50ZWwuY29tPjsgTHUsIFhpdWNodW4gPHhpdWNodW4ubHVAaW50ZWwu Y29tPjsgTGksIE1pYW8NCj4gPiA8bWlhby5saUBpbnRlbC5jb20+OyBXdSwgSmluZ2ppbmcgPGpp bmdqaW5nLnd1QGludGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBbZHBkay1kZXZdIFtQQVRDSCAzLzld IHZmaW9fdXNlcjogaW1wbGVtZW50IGRldmljZSBhbmQgcmVnaW9uDQo+ID4gcmVsYXRlZCBBUElz DQo+ID4NCj4gPiBUaGlzIHBhdGNoIGludHJvZHVjZXMgZGV2aWNlIGFuZCByZWdpb24gcmVsYXRl ZCBBUElzLCB3aGljaCBhcmUNCj4gPiBydGVfdmZpb191c2VyX3NldF9kZXZfaW5mbygpIGFuZCBy dGVfdmZpb191c2VyX3NldF9yZWdfaW5mbygpLg0KPiA+IFRoZSBjb3JyZXNwb25kaW5nIHZmaW8t dXNlciBjb21tYW5kIGhhbmRsaW5nIGlzIGFsc28gYWRkZWQgd2l0aCB0aGUNCj4gPiBkZWZpbml0 aW9uIG9mIGFsbCB2ZmlvLXVzZXIgY29tbWFuZCBpZGVudGl0eS4NCj4gPg0KPiA+IFNpZ25lZC1v ZmYtYnk6IENoZW5ibyBYaWEgPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiA+IFNpZ25lZC1vZmYt Ynk6IFhpdWNodW4gTHUgPHhpdWNodW4ubHVAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICBsaWIv bGlicnRlX3ZmaW9fdXNlci9ydGVfdmZpb191c2VyLmggICAgfCAgNjAgKysrKysrDQo+ID4gIGxp Yi9saWJydGVfdmZpb191c2VyL3ZlcnNpb24ubWFwICAgICAgICB8ICAgMiArDQo+ID4gIGxpYi9s aWJydGVfdmZpb191c2VyL3ZmaW9fdXNlcl9iYXNlLmMgICB8ICAxMiArKw0KPiA+ICBsaWIvbGli cnRlX3ZmaW9fdXNlci92ZmlvX3VzZXJfYmFzZS5oICAgfCAgMzIgKysrLQ0KPiA+ICBsaWIvbGli cnRlX3ZmaW9fdXNlci92ZmlvX3VzZXJfc2VydmVyLmMgfCAyMzIgKysrKysrKysrKysrKysrKysr KysrKysrDQo+ID4gIGxpYi9saWJydGVfdmZpb191c2VyL3ZmaW9fdXNlcl9zZXJ2ZXIuaCB8ICAg MiArDQo+ID4gIDYgZmlsZXMgY2hhbmdlZCwgMzM5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX3ZmaW9fdXNlci9ydGVfdmZpb191 c2VyLmgNCj4gPiBiL2xpYi9saWJydGVfdmZpb191c2VyL3J0ZV92ZmlvX3VzZXIuaA0KPiA+IGlu ZGV4IDBkNGY2YzFiZTIuLjhhOTk5YzdhYTAgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV92 ZmlvX3VzZXIvcnRlX3ZmaW9fdXNlci5oDQo+ID4gKysrIGIvbGliL2xpYnJ0ZV92ZmlvX3VzZXIv cnRlX3ZmaW9fdXNlci5oDQo+ID4gQEAgLTUsMTMgKzUsMzUgQEANCj4gPiAgI2lmbmRlZiBfUlRF X1ZGSU9fVVNFUl9IDQo+ID4gICNkZWZpbmUgX1JURV9WRklPX1VTRVJfSA0KPiA+DQo+IA0KPiA8 c25pcD4NCj4gDQo+ID4gK3N0YXRpYyBpbnQgdmZpb191c2VyX2RldmljZV9nZXRfcmVnX2luZm8o c3RydWN0IHZmaW9fdXNlcl9zZXJ2ZXIgKmRldiwNCj4gPiArCVZGSU9fVVNFUl9NU0cgKm1zZykN Cj4gPiArew0KPiA+ICsJc3RydWN0IHZmaW9fdXNlcl9yZWcgKnJlZyA9ICZtc2ctPnBheWxvYWQu cmVnX2luZm87DQo+ID4gKwlzdHJ1Y3QgcnRlX3ZmaW9fdXNlcl9yZWdfaW5mbyAqcmVnX2luZm87 DQo+ID4gKwlzdHJ1Y3QgdmZpb19yZWdpb25faW5mbyAqdmluZm87DQo+ID4gKw0KPiA+ICsJaWYg KHZmaW9fdXNlcl9jaGVja19tc2dfZmRudW0obXNnLCAwKSAhPSAwKQ0KPiA+ICsJCXJldHVybiAt RUlOVkFMOw0KPiA+ICsNCj4gPiArCWlmIChtc2ctPnNpemUgPiBzaXplb2YoKnJlZykgKyBWRklP X1VTRVJfTVNHX0hEUl9TSVpFIHx8DQo+ID4gKwkJZGV2LT5yZWctPnJlZ19udW0gPD0gcmVnLT5y ZWdfaW5mby5pbmRleCkgew0KPiA+ICsJCVZGSU9fVVNFUl9MT0coRVJSLCAiSW52YWxpZCBtZXNz YWdlIGZvciBnZXQgZGV2IGluZm9cbiIpOw0KPiANCj4gSW52YWxpZCBtZXNzYWdlIGZvciBnZXQg cmVnaW9uIGluZm8/DQoNClllcy4uIFdpbGwgZml4IGl0IGluIHYyLg0KDQo+IA0KPiA+ICsJCXJl dHVybiAtRUlOVkFMOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJlZ19pbmZvID0gJmRldi0+cmVn LT5yZWdfaW5mb1tyZWctPnJlZ19pbmZvLmluZGV4XTsNCj4gPiArCXZpbmZvID0gcmVnX2luZm8t PmluZm87DQo+ID4gKwltZW1jcHkocmVnLCB2aW5mbywgdmluZm8tPmFyZ3N6KTsNCj4gPiArDQo+ ID4gKwlpZiAocmVnX2luZm8tPmZkICE9IC0xKSB7DQo+ID4gKwkJbXNnLT5mZF9udW0gPSAxOw0K PiA+ICsJCW1zZy0+ZmRzWzBdID0gcmVnX2luZm8tPmZkOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiAr CVZGSU9fVVNFUl9MT0coREVCVUcsICJSZWdpb24oJXUpIGluZm86IGFkZHIoMHglIiBQUkl4NjQg IiksDQo+ID4gZmQoJWQpLCAiDQo+ID4gKwkJInN6KDB4JWxseCksIGFyZ3N6KDB4JXgpLCBjX29m ZigweCV4KSwgZmxhZ3MoMHgleCkgIg0KPiA+ICsJCSJvZmYoMHglbGx4KVxuIiwgdmluZm8tPmlu ZGV4LCAodWludDY0X3QpcmVnX2luZm8tPmJhc2UsDQo+ID4gKwkJcmVnX2luZm8tPmZkLCB2aW5m by0+c2l6ZSwgdmluZm8tPmFyZ3N6LCB2aW5mby0+Y2FwX29mZnNldCwNCj4gPiArCQl2aW5mby0+ ZmxhZ3MsIHZpbmZvLT5vZmZzZXQpOw0KPiA+ICsNCj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ ID4gKw0KPiANCj4gPHNuaXA+DQo+IA0KPiA+ICtpbnQgcnRlX3ZmaW9fdXNlcl9zZXRfZGV2X2lu Zm8oY29uc3QgY2hhciAqc29ja19hZGRyLA0KPiA+ICsJc3RydWN0IHZmaW9fZGV2aWNlX2luZm8g KmRldl9pbmZvKQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgdmZpb191c2VyX3NlcnZlciAqZGV2Ow0K PiA+ICsJc3RydWN0IHZmaW9fdXNlcl9zZXJ2ZXJfc29ja2V0ICpzazsNCj4gPiArCWludCBkZXZf aWQ7DQo+ID4gKw0KPiA+ICsJaWYgKCFkZXZfaW5mbykNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4g Kw0KPiA+ICsJcHRocmVhZF9tdXRleF9sb2NrKCZ2ZmlvX2VwX3NvY2subXV0ZXgpOw0KPiA+ICsJ c2sgPSBmaW5kX3ZmaW9fdXNlcl9zb2NrZXQoc29ja19hZGRyKTsNCj4gPiArCXB0aHJlYWRfbXV0 ZXhfdW5sb2NrKCZ2ZmlvX2VwX3NvY2subXV0ZXgpOw0KPiA+ICsNCj4gPiArCWlmICghc2spIHsN Cj4gPiArCQlWRklPX1VTRVJfTE9HKEVSUiwgIkZhaWxlZCB0byBzZXQgZGV2aWNlIGluZm8gd2l0 aA0KPiA+IHNvY2tfYWRkciAiDQo+ID4gKwkJCSIlczogYWRkciBub3QgcmVnaXN0ZXJlZC5cbiIs IHNvY2tfYWRkcik7DQo+ID4gKwkJcmV0dXJuIC0xOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCWRl dl9pZCA9IHNrLT5zb2NrLmRldl9pZDsNCj4gPiArCWRldiA9IHZmaW9fdXNlcl9nZXRfZGV2aWNl KGRldl9pZCk7DQo+ID4gKwlpZiAoIWRldikgew0KPiA+ICsJCVZGSU9fVVNFUl9MT0coRVJSLCAi RmFpbGVkIHRvIHNldCBkZXZpY2UgaW5mbzoiDQo+ID4gKwkJCSJkZXZpY2UgJWQgbm90IGZvdW5k LlxuIiwgZGV2X2lkKTsNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJ aWYgKGRldi0+c3RhcnRlZCkgew0KPiA+ICsJCVZGSU9fVVNFUl9MT0coRVJSLCAiRmFpbGVkIHRv IHNldCBkZXZpY2UgaW5mbyBmb3INCj4gPiBkZXZpY2UgJWRcbiINCj4gPiArCQkJICIsIGRldmlj ZSBhbHJlYWR5IHN0YXJ0ZWRcbiIsIGRldl9pZCk7DQo+ID4gKwkJcmV0dXJuIC0xOw0KPiA+ICsJ fQ0KPiA+ICsNCj4gPiArCWRldi0+ZGV2X2luZm8gPSBkZXZfaW5mbzsNCj4gPiArDQo+ID4gKwly ZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAraW50IHJ0ZV92ZmlvX3VzZXJfc2V0X3JlZ19p bmZvKGNvbnN0IGNoYXIgKnNvY2tfYWRkciwNCj4gPiArCXN0cnVjdCBydGVfdmZpb191c2VyX3Jl Z2lvbnMgKnJlZykNCj4gPiArew0KPiA+ICsJc3RydWN0IHZmaW9fdXNlcl9zZXJ2ZXIgKmRldjsN Cj4gPiArCXN0cnVjdCB2ZmlvX3VzZXJfc2VydmVyX3NvY2tldCAqc2s7DQo+ID4gKwlpbnQgZGV2 X2lkOw0KPiA+ICsNCj4gPiArCWlmICghcmVnKQ0KPiA+ICsJCXJldHVybiAtMTsNCj4gPiArDQo+ ID4gKwlwdGhyZWFkX211dGV4X2xvY2soJnZmaW9fZXBfc29jay5tdXRleCk7DQo+ID4gKwlzayA9 IGZpbmRfdmZpb191c2VyX3NvY2tldChzb2NrX2FkZHIpOw0KPiA+ICsJcHRocmVhZF9tdXRleF91 bmxvY2soJnZmaW9fZXBfc29jay5tdXRleCk7DQo+ID4gKw0KPiA+ICsJaWYgKCFzaykgew0KPiA+ ICsJCVZGSU9fVVNFUl9MT0coRVJSLCAiRmFpbGVkIHRvIHNldCByZWdpb24gaW5mbyB3aXRoDQo+ ID4gc29ja19hZGRyOiINCj4gPiArCQkJIiVzOiBhZGRyIG5vdCByZWdpc3RlcmVkLlxuIiwgc29j a19hZGRyKTsNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJZGV2X2lk ID0gc2stPnNvY2suZGV2X2lkOw0KPiA+ICsJZGV2ID0gdmZpb191c2VyX2dldF9kZXZpY2UoZGV2 X2lkKTsNCj4gPiArCWlmICghZGV2KSB7DQo+ID4gKwkJVkZJT19VU0VSX0xPRyhFUlIsICJGYWls ZWQgdG8gc2V0IHJlZ2lvbiBpbmZvOiINCj4gPiArCQkJImRldmljZSAlZCBub3QgZm91bmQuXG4i LCBkZXZfaWQpOw0KPiA+ICsJCXJldHVybiAtMTsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlpZiAo ZGV2LT5zdGFydGVkKSB7DQo+ID4gKwkJVkZJT19VU0VSX0xPRyhFUlIsICJGYWlsZWQgdG8gc2V0 IHJlZ2lvbiBpbmZvIGZvcg0KPiA+IGRldmljZSAlZFxuIg0KPiA+ICsJCQkgIiwgZGV2aWNlIGFs cmVhZHkgc3RhcnRlZFxuIiwgZGV2X2lkKTsNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKwl9DQo+ ID4gKw0KPiA+ICsJZGV2LT5yZWcgPSByZWc7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4g K30NCj4gDQo+IERvIHlvdSB0aGluayBpZiB3ZSBjYW4gZGVmaW5lIGEgc3RhdGljIGZ1bmN0aW9u IHRvIGNvdmVyIHRoZSBkdXBsaWNhdGVkIGNoZWNrDQo+IHBhcnQgb2YgZnVuY3Rpb24gcnRlX3Zm aW9fdXNlcl9zZXRfZGV2X2luZm8gYW5kIHJ0ZV92ZmlvX3VzZXJfc2V0X3JlZ19pbmZvPw0KDQpH b29kIGNhdGNoISBZZXMsIHRoZXJlJ3Mgc29tZSBkdXBsaWNhdGVkIGNvZGUgaW4gc29tZSBzZXQg QVBJcy4gSSB3aWxsIHJlZmFjdG9yIHRoZW0NCmluIHYyLg0KDQpUaGFua3MhDQpDaGVuYm8NCg0K PiANCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV92ZmlvX3VzZXIvdmZpb191c2VyX3NlcnZl ci5oDQo+ID4gYi9saWIvbGlicnRlX3ZmaW9fdXNlci92ZmlvX3VzZXJfc2VydmVyLmgNCj4gPiBp bmRleCAwMGUzZjYzNTNkLi5lOGZiNjFjYjNlIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVf dmZpb191c2VyL3ZmaW9fdXNlcl9zZXJ2ZXIuaA0KPiA+ICsrKyBiL2xpYi9saWJydGVfdmZpb191 c2VyL3ZmaW9fdXNlcl9zZXJ2ZXIuaA0KPiA+IEBAIC0xNiw2ICsxNiw4IEBAIHN0cnVjdCB2Zmlv X3VzZXJfc2VydmVyIHsNCj4gPiAgCXVpbnQzMl90IG1zZ19pZDsNCj4gPiAgCWNoYXIgc29ja19h ZGRyW1BBVEhfTUFYXTsNCj4gPiAgCXN0cnVjdCB2ZmlvX3VzZXJfdmVyc2lvbiB2ZXI7DQo+ID4g KwlzdHJ1Y3QgdmZpb19kZXZpY2VfaW5mbyAqZGV2X2luZm87DQo+ID4gKwlzdHJ1Y3QgcnRlX3Zm aW9fdXNlcl9yZWdpb25zICpyZWc7DQo+ID4gIH07DQo+ID4NCj4gPiAgdHlwZWRlZiBpbnQgKCpl dmVudF9oYW5kbGVyKShpbnQgZmQsIHZvaWQgKmRhdGEpOw0KPiA+IC0tDQo+ID4gMi4xNy4xDQoN Cg==