From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B212AC433EF for ; Tue, 3 May 2022 05:13:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231376AbiECFRB (ORCPT ); Tue, 3 May 2022 01:17:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38568 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231342AbiECFQ6 (ORCPT ); Tue, 3 May 2022 01:16:58 -0400 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2043.outbound.protection.outlook.com [40.107.244.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 60EA23ED3B for ; Mon, 2 May 2022 22:13:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dxzO87HWCJFbNq6rekgm2kDVchsL4SuJuYcEmj1cVzreG7HrjV4Cm3lKkaAojED6UCARMS9EX8d7lJ68rHlxWrYFPFfYPYyjr7/BTzh7cFBO5sCV7FOXJ5ZuT/gjzV9z5lEBE6OEbCf/rBjUt+aecZUU3U3jGNHWv56eAOSukJAlrfTzCWps+ltlPxU1udgyCRDTGzCM98a2jwSdXO7WMx4J/yMsKa/3AZ+JnTnJMsLdes7AvLlqOWB1FyqXEKwAJyldwyyiQYxubKg6qgGzJ8S0SGOKMPRo50boNUQ0alMWem3dYn1GUlgTol+UCfx17rXg0CBWz7BKsK95w6eWqQ== 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=S0qn32i1y8CuUqOIbn+aJ//oWlpeojH7zrFPYwo4QBI=; b=js6ShHyVWyEhNFTdspuTlRxmIXiMPLSo/CQdKfNOB/RXBSFWM1D9BjY7RpcAa180oJGdqmooMM+esLlu2471DuWzkM8v/7IR+NtbkonMVLEpg0KPniUIh6FyrTR13ZY0yEHn8craSgFhQ4dKn+uRrNANdGhetQLFJfn4ar7khzmfVg7sZ6AkdTTCEl1ybK6jaqQisKiCRBTuDOtoAQqXR7iTzSyn6zsoJTnlYWi7scNOGuGfIgpIkNtft1Le6laZ9DdJ6E48K8W/Bysz252liul2oMHLJYJIHJYbs4l3OCUOV5fLyrEvg05S26xzMiSRHeqSruSoySUeZhV2CsOa6A== 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=S0qn32i1y8CuUqOIbn+aJ//oWlpeojH7zrFPYwo4QBI=; b=IBdFDsWpLmmTvvZ+fnEnB6ICCsTQ3IW9+QnnyxtzWEjI+5wcYnlwvMgGelQahZyjMnnJxNu2eINNr3AK6/6uBAS0yN5r0JiKTJZmlMNvdwAFtvAO+n0McFDB/2pqwEAcM6kcfJJ4KYzL8tuZCgXG/7Pvp0YR4ORo776pSS5PlVL2VrOYNW4AxyNU/5mh8clfjZezL3KQdkLtB83OKt2Z7Ss9meGY6RS19Rf+cFb1Av32bZt7Xj0HDdbq2cFCz3SwzW0m8p+Bd9ETKXLdMj/6C2wTC2OA9FzwnmMtW4U7Pzr7qsQd/SFSApYUhyE4q5gxEulKhYc+L5iYlC+FrWrJyQ== Received: from DM8PR12MB5400.namprd12.prod.outlook.com (2603:10b6:8:3b::12) by DM4PR12MB5868.namprd12.prod.outlook.com (2603:10b6:8:67::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.14; Tue, 3 May 2022 05:13:25 +0000 Received: from DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::ec12:70ec:e591:ab6]) by DM8PR12MB5400.namprd12.prod.outlook.com ([fe80::ec12:70ec:e591:ab6%4]) with mapi id 15.20.5206.024; Tue, 3 May 2022 05:13:25 +0000 From: Eli Cohen To: Si-Wei Liu , "mst@redhat.com" , "jasowang@redhat.com" CC: "virtualization@lists.linux-foundation.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v3 1/2] vdpa: Add support for querying vendor statistics Thread-Topic: [PATCH v3 1/2] vdpa: Add support for querying vendor statistics Thread-Index: AQHYXg6EsbC46ok24kCfa71uAdHPya0MQfoAgABaxvA= Date: Tue, 3 May 2022 05:13:24 +0000 Message-ID: References: <20220502102201.190357-1-elic@nvidia.com> <20220502102201.190357-2-elic@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-office365-filtering-correlation-id: 642e9af7-edbe-4277-0d3f-08da2cc3a681 x-ms-traffictypediagnostic: DM4PR12MB5868:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xABu1nWp8J9t57ZgWnhdetAeHtWEJHRiBhT0v8z8faqTLLFmUy8K5cgE2PPAz+9IPBdTvjKjTJflC+J0Sg2wNcmQkVJrp5hjXzNq+S9y3KKLPBDe8hg0ccMCywA9ap+EDSrsVUyeLlzG9gpbM/d8SwuDJPhjbpEU6/EzE2kGHVjDWoIVvYu09XZ0YEzk3DWXzGODdHj7cp/dkft/B8r3iE9JXKJCXaXkszAj5mGkGOq9UMDaRZekEzF9TZ7iv9zSGPwIC+fwsGTWUiWlqNktQEPATTfhXBChTMEXr72pkUoIBOWcLNOoN6TCbpeudFiCovPeYOgt31t46eB24wyROIbfz1OpBwuHSyQsMU/OJmBy40ib0Lc/sSLaJSzqtlUboFVfAXJRnDQTMRVgFxBr13hHDg1DBn53hM/7C9pR7jer9Bc/OTBOlEIICDplUcphjggTnL6YyyxwAgCKpPWeQK8O06nwrtqaKruUeu30ZhVFlwOkCNGnvaL/3scLcknx9esw4GdHyuGAdkyY3lvFz/BAtKGkPLr0Wb31A7ARhcJXb3OCxWd9AXT88dsy/Ns17NPS3ISWD6WQH1NbPA6nnhQXpjWuI4FAvKI3480GG3QfL0DXMKfNvcIRuV0mLS5Rt/Xg6dbs9w2J6gpXKYdLqjqD9OZuZ9eHb2XSqyoV9PtemnO8xIVJZteqPrvRcSGdfA0YfF1brKXAgrHnQmhOIg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR12MB5400.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(76116006)(122000001)(53546011)(508600001)(186003)(66946007)(64756008)(8676002)(66446008)(9686003)(4326008)(26005)(38070700005)(38100700002)(6506007)(66476007)(7696005)(66556008)(316002)(54906003)(71200400001)(83380400001)(110136005)(2906002)(52536014)(86362001)(33656002)(55016003)(5660300002)(8936002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZXdaMXJNNWdyYnRXcXcza0x3ZnFZU2UvbEx1SW53bXJFTnY5cFJmWjJKckE4?= =?utf-8?B?NmdvTGdXbWU0WU5iaHpxRmgwTmk0R1VBRTQ2K20ydndnclpiVEZXTnM3dzhM?= =?utf-8?B?WlhTekJmN01pVW5uRmFrbjdRMUFYanZBbnB5cVBNTUl5c0tjNHMxWXA0TnUz?= =?utf-8?B?dFZoUFc5Q01lWm5IMXh3Rkk2ZDhzcXA5MlkwNzkvd2IyU0QycENiZFZWNSt1?= =?utf-8?B?R3dWTWZxaHpwemFkanhQOWR2TlVoTDl2VU5kSkxDMktUZHJwRTdlTDBHSmw5?= =?utf-8?B?TTdrMFJJdDVFOWpObWY1aUxXd3JUdGQyWHMwQVc5SldnVG5SWERkR3lFVHE2?= =?utf-8?B?dGdza0UzS2xmTWFFdHpyeW1kbkJLRmU2cWVGZCtmQVdLU1QxSVJqd2tGUDJ4?= =?utf-8?B?Q3ltcUpGaHFvanNUYmxGVXNPT1lhNFBSeUdlUmU0NUJtRU1oQ0hhamF2b0Fn?= =?utf-8?B?VWR0OHRPWXY0citOVGRucmJ4eGh6MTliYlNIRW42YWozTVQ5WnpYRjUyalAv?= =?utf-8?B?aWJkSDJ5VDllQkdVV3ZheFZRY3FCRUpzWDFNL0NhV2p3UW1wTGRCbitsczgw?= =?utf-8?B?NXB4ZXN1ZUE3bTNmUEJCNGpZVjlVYW5SaXVGMkdYZTlFZ1hJNm5vNGJEbTBz?= =?utf-8?B?K3VYUmg3dnk4TWRnWFVKUVhhS0NVRWpkcXFValVwaHN4aXFnV2tOeWRubkpz?= =?utf-8?B?cWE2NzY5VE42ZzlmS3BDK1RmN1o3ZXhPZzZ2Y2RnL3BMcmE0bU5la1RMMWFK?= =?utf-8?B?YU1PQ1RlcXdVRzVNK0dsS0FJOE81djJWOEJaSnpXekdCd01MS3UwdjVIL0pG?= =?utf-8?B?bEpxT08wMkZMMXIxSmMrVGx3Z3VZU1ZPdzJQWkVrMnBZR0Vjam80Zk4vRm9Q?= =?utf-8?B?S3orOVQ2ZkR3bWZIQzVKL3kwN3dKUzVSQVNVSGR3amJ2Yys3NHRXTUZyYUp4?= =?utf-8?B?NDdVYUcyTzZvelZOeTNyYy9sVkZsRXdxNCtaUjllUEZxRWIxK3Y1VFRnb3FF?= =?utf-8?B?Q3lkS1lZM09KeHd4U0dDc0dRS2J4V25USVNlVTlKc0VESXJ5WW1lNUdzYm40?= =?utf-8?B?b3dQV0xRMHY2dzd0ZjZFMlQwL1Ntb05uU3JCWWVvblcyeUQrZXpsK3B5RlZW?= =?utf-8?B?ZVpiMHlpcDMvc3NRa0szZUhPSDVMOGpLVDR4WGRORkZHeVVvUTcwNk5pcFV1?= =?utf-8?B?MmhLcytNVEoyMHdteVdMSkdDV0F3NE5WeU80VnluUG9BSmUzaGdiOEFIMlQr?= =?utf-8?B?SS8wTjMxR1BteE1kSUhUTjI2ZUMzVis0MG1BelBNTkxEYnBua21DbG82ZEhH?= =?utf-8?B?MmYzMmR1UWVuOTd5TU5YNmlZdkJ4ODJFVFI3TnBsWnY1TjdnUXp0d1lIdnJC?= =?utf-8?B?K29BZGI4VU1Td2tDVUJTZngvUHRnbHRwbklxcmhJbW90cEZiVzJabUNnbUpx?= =?utf-8?B?RE9VQ1ZSSzB4TVlzN1FseFhUN1ZxbW5zZXJ2SlNXZk5UYStwUCttUmVNL3FO?= =?utf-8?B?YUZELzg1cW11MXMyQW9lUENFYldRNXFpMVlYT2UvaFpJcWFoN3Z1T1Fzc21C?= =?utf-8?B?Ui9xeEQ4TElDcEJibC9RU2VhVHQxNEVBOTA2Y3V2eno0VnVsUkJxMDYxSUc1?= =?utf-8?B?bHliWUJBWHBneFNicE9uUGZxT1lnNW5zQlRyMWdnRllsdzhtSEZIZmdWSjhS?= =?utf-8?B?U1VoY1ozcndMY3JxNU1BK0Zza3gxVFRrTHV3eUNLbUNNK2I2TldONlJvQmxQ?= =?utf-8?B?WFFsRCtpTHNud1RLS29BcnZzbmtQQmRqdURkcSsyczhLRTJLTTZNVlA3U2sw?= =?utf-8?B?Yk1wakhGVWY5ZTNrNXVKTjRrTG9QNndHQTVyaGZQTEpoUE5jczYyR25KNjl3?= =?utf-8?B?UkZvRW1TTmhvNGFRa0tTTStEUDZzMXJrSW9aZXA5TmsrWitXeFgrUjNzck1x?= =?utf-8?B?NEZYdFVvcHl4NXFZcjlJOHFSV2hWemhLcythLzJyYk05VzVIaFVKaGw3WUNY?= =?utf-8?B?Y0FybU5oWDJqa0xvRlF5ZHdIZlQ0YmI1d2xtUWxGd0RYTXFON1FwZFJWTUQz?= =?utf-8?B?TC9IR2sxalRkcjB6Q0RHM253UXBFV283ajFTUW9MRnZkMWJnRW5YOXFnalU4?= =?utf-8?B?YldTOGtBZzZneTU1LzZqSTNYKzQ2Y1hHOE5xOVVWL2Z2LzUwR3lnQkZSZ0hI?= =?utf-8?B?OUhRL3F4bzV3WSt2dWVwRjJzUFY5SFBHSGhMMllnY3hXaEZxUFNFdnZNSkVm?= =?utf-8?B?dDZSQmtMc1NSQjQyRzZRSVdXdytkWEo2UlVNTWVOR2JaMUdTZXU2Z0wweURh?= =?utf-8?Q?CMAHRP8gEC6zLInTxo?= 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: DM8PR12MB5400.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 642e9af7-edbe-4277-0d3f-08da2cc3a681 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2022 05:13:24.9754 (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: KDaZiUuVR4EePJ1K3uW9TUJWqX8qOMMKtRvCJS6w2gKoZS8ug0UStH+adN53OUY8 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5868 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogU2ktV2VpIExpdSA8c2kt d2VpLmxpdUBvcmFjbGUuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBNYXkgMywgMjAyMiAyOjQ4IEFN DQo+IFRvOiBFbGkgQ29oZW4gPGVsaWNAbnZpZGlhLmNvbT47IG1zdEByZWRoYXQuY29tOyBqYXNv d2FuZ0ByZWRoYXQuY29tDQo+IENjOiB2aXJ0dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0 aW9uLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZw0KPiBTdWJqZWN0OiBSZTogW1BB VENIIHYzIDEvMl0gdmRwYTogQWRkIHN1cHBvcnQgZm9yIHF1ZXJ5aW5nIHZlbmRvciBzdGF0aXN0 aWNzDQo+IA0KPiANCj4gDQo+IE9uIDUvMi8yMDIyIDM6MjIgQU0sIEVsaSBDb2hlbiB3cm90ZToN Cj4gPiBBbGxvd3MgdG8gcmVhZCB2ZW5kb3Igc3RhdGlzdGljcyBvZiBhIHZkcGEgZGV2aWNlLiBU aGUgc3BlY2lmaWMNCj4gPiBzdGF0aXN0aWNzIGRhdGEgYXJlIHJlY2VpdmVkIGZyb20gdGhlIHVw c3RyZWFtIGRyaXZlciBpbiB0aGUgZm9ybSBvZiBhbg0KPiA+IChhdHRyaWJ1dGUgbmFtZSwgYXR0 cmlidXRlIHZhbHVlKSBwYWlycy4NCj4gPg0KPiA+IEFuIGV4YW1wbGUgb2Ygc3RhdGlzdGljcyBm b3IgbWx4NV92ZHBhIGRldmljZSBhcmU6DQo+ID4NCj4gPiByZWNlaXZlZF9kZXNjIC0gbnVtYmVy IG9mIGRlc2NyaXB0b3JzIHJlY2VpdmVkIGJ5IHRoZSB2aXJ0cXVldWUNCj4gPiBjb21wbGV0ZWRf ZGVzYyAtIG51bWJlciBvZiBkZXNjcmlwdG9ycyBjb21wbGV0ZWQgYnkgdGhlIHZpcnRxdWV1ZQ0K PiA+DQo+ID4gQSBkZXNjcmlwdG9yIHVzaW5nIGluZGlyZWN0IGJ1ZmZlcnMgaXMgc3RpbGwgY291 bnRlZCBhcyAxLiBJbiBhZGRpdGlvbiwNCj4gPiBOIGNoYWluZWQgZGVzY3JpcHRvcnMgYXJlIGNv dW50ZWQgY29ycmVjdGx5IE4gdGltZXMgYXMgb25lIHdvdWxkIGV4cGVjdC4NCj4gPg0KPiA+IEEg bmV3IGNhbGxiYWNrIHdhcyBhZGRlZCB0byB2ZHBhX2NvbmZpZ19vcHMgd2hpY2ggcHJvdmlkZXMg dGhlIG1lYW5zIGZvcg0KPiA+IHRoZSB2ZHBhIGRyaXZlciB0byByZXR1cm4gc3RhdGlzdGljcyBy ZXN1bHRzLg0KPiA+DQo+ID4gVGhlIGludGVyZmFjZSBhbGxvd3MgZm9yIHJlYWRpbmcgYWxsIHRo ZSBzdXBwb3J0ZWQgdmlydHF1ZXVlcywgaW5jbHVkaW5nDQo+ID4gdGhlIGNvbnRyb2wgdmlydHF1 ZXVlIGlmIGl0IGV4aXN0cy4NCj4gPg0KPiA+IEJlbG93IGFyZSBzb21lIGV4YW1wbGVzIHRha2Vu IGZyb20gbWx4NV92ZHBhIHdoaWNoIGFyZSBpbnRyb2R1Y2VkIGluIHRoZQ0KPiA+IGZvbGxvd2lu ZyBwYXRjaDoNCj4gPg0KPiA+IDEuIFJlYWQgc3RhdGlzdGljcyBmb3IgdGhlIHZpcnRxdWV1ZSBh dCBpbmRleCAxDQo+ID4NCj4gPiAkIHZkcGEgZGV2IHZzdGF0cyBzaG93IHZkcGEtYSBxaWR4IDEN Cj4gPiB2ZHBhLWE6DQo+ID4gcXVldWVfdHlwZSB0eCBxdWV1ZV9pbmRleCAxIHJlY2VpdmVkX2Rl c2MgMzg0NDgzNiBjb21wbGV0ZWRfZGVzYyAzODQ0ODM2DQo+ID4NCj4gPiAyLiBSZWFkIHN0YXRp c3RpY3MgZm9yIHRoZSB2aXJ0cXVldWUgYXQgaW5kZXggMzINCj4gPiAkIHZkcGEgZGV2IHZzdGF0 cyBzaG93IHZkcGEtYSBxaWR4IDMyDQo+ID4gdmRwYS1hOg0KPiA+IHF1ZXVlX3R5cGUgY29udHJv bF92cSBxdWV1ZV9pbmRleCAzMiByZWNlaXZlZF9kZXNjIDYyIGNvbXBsZXRlZF9kZXNjIDYyDQo+ ID4NCj4gPiAzLiBSZWFkIHN0YXRpc2l0aWNzIGZvciB0aGUgdmlydHF1ZXVlIGF0IGluZGV4IDAg d2l0aCBqc29uIG91dHB1dA0KPiA+ICQgdmRwYSAtaiBkZXYgdnN0YXRzIHNob3cgdmRwYS1hIHFp ZHggMA0KPiA+IHsidnN0YXRzIjp7InZkcGEtYSI6ew0KPiA+ICJxdWV1ZV90eXBlIjoicngiLCJx dWV1ZV9pbmRleCI6MCwibmFtZSI6InJlY2VpdmVkX2Rlc2MiLCJ2YWx1ZSI6NDE3Nzc2LFwNCj4g PiAgICJuYW1lIjoiY29tcGxldGVkX2Rlc2MiLCJ2YWx1ZSI6NDE3NTQ4fX19DQo+ID4NCj4gPiA0 LiBSZWFkIHN0YXRpc3RpY3MgZm9yIHRoZSB2aXJ0cXVldWUgYXQgaW5kZXggMCB3aXRoIHByZWV0 eSBqc29uIG91dHB1dA0KPiA+ICQgdmRwYSAtanAgZGV2IHZzdGF0cyBzaG93IHZkcGEtYSBxaWR4 IDANCj4gPiB7DQo+ID4gICAgICAidnN0YXRzIjogew0KPiA+ICAgICAgICAgICJ2ZHBhLWEiOiB7 DQo+ID4NCj4gPiAgICAgICAgICAgICAgInF1ZXVlX3R5cGUiOiAicngiLA0KPiA+ICAgICAgICAg ICAgICAicXVldWVfaW5kZXgiOiAwLA0KPiA+ICAgICAgICAgICAgICAibmFtZSI6ICJyZWNlaXZl ZF9kZXNjIiwNCj4gPiAgICAgICAgICAgICAgInZhbHVlIjogNDE3Nzc2LA0KPiA+ICAgICAgICAg ICAgICAibmFtZSI6ICJjb21wbGV0ZWRfZGVzYyIsDQo+ID4gICAgICAgICAgICAgICJ2YWx1ZSI6 IDQxNzU0OA0KPiA+ICAgICAgICAgIH0NCj4gPiAgICAgIH0NCj4gPiB9DQo+ID4NCj4gPiBTaWdu ZWQtb2ZmLWJ5OiBFbGkgQ29oZW4gPGVsaWNAbnZpZGlhLmNvbT4NCj4gPiAtLS0NCj4gPiAgIGRy aXZlcnMvdmRwYS92ZHBhLmMgICAgICAgfCAxMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysNCj4gPiAgIGluY2x1ZGUvbGludXgvdmRwYS5oICAgICAgfCAgIDUgKysNCj4g PiAgIGluY2x1ZGUvdWFwaS9saW51eC92ZHBhLmggfCAgIDYgKysNCj4gPiAgIDMgZmlsZXMgY2hh bmdlZCwgMTQwIGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Zk cGEvdmRwYS5jIGIvZHJpdmVycy92ZHBhL3ZkcGEuYw0KPiA+IGluZGV4IDJiNzVjMDBiMTAwNS4u OTMzNDY2ZjYxY2E4IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvdmRwYS92ZHBhLmMNCj4gPiAr KysgYi9kcml2ZXJzL3ZkcGEvdmRwYS5jDQo+ID4gQEAgLTkwOSw2ICs5MDksNzQgQEAgdmRwYV9k ZXZfY29uZmlnX2ZpbGwoc3RydWN0IHZkcGFfZGV2aWNlICp2ZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAq bXNnLCB1MzIgcG9ydGlkLA0KPiA+ICAgCXJldHVybiBlcnI7DQo+ID4gICB9DQo+ID4NCj4gPiAr c3RhdGljIGludCB2ZHBhX2ZpbGxfc3RhdHNfcmVjKHN0cnVjdCB2ZHBhX2RldmljZSAqdmRldiwg c3RydWN0IHNrX2J1ZmYgKm1zZywNCj4gPiArCQkJICAgICAgIHN0cnVjdCBnZW5sX2luZm8gKmlu Zm8sIHUzMiBpbmRleCkNCj4gPiArew0KPiA+ICsJaW50IGVycjsNCj4gPiArDQo+ID4gKwllcnIg PSB2ZGV2LT5jb25maWctPmdldF92ZW5kb3JfdnFfc3RhdHModmRldiwgaW5kZXgsIG1zZywgaW5m by0+ZXh0YWNrKTsNCj4gPiArCWlmIChlcnIpDQo+ID4gKwkJcmV0dXJuIGVycjsNCj4gPiArDQo+ ID4gKwlpZiAobmxhX3B1dF91MzIobXNnLCBWRFBBX0FUVFJfREVWX1FVRVVFX0lOREVYLCBpbmRl eCkpDQo+ID4gKwkJcmV0dXJuIC1FTVNHU0laRTsNCj4gPiArDQo+ID4gKwlyZXR1cm4gMDsNCj4g PiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludCB2ZW5kb3Jfc3RhdHNfZmlsbChzdHJ1Y3QgdmRw YV9kZXZpY2UgKnZkZXYsIHN0cnVjdCBza19idWZmICptc2csDQo+ID4gKwkJCSAgICAgc3RydWN0 IGdlbmxfaW5mbyAqaW5mbywgdTMyIGluZGV4KQ0KPiA+ICt7DQo+ID4gKwlpbnQgZXJyOw0KPiA+ ICsNCj4gPiArCWlmICghdmRldi0+Y29uZmlnLT5nZXRfdmVuZG9yX3ZxX3N0YXRzKQ0KPiA+ICsJ CXJldHVybiAtRU9QTk9UU1VQUDsNCj4gPiArDQo+ID4gKwllcnIgPSB2ZHBhX2ZpbGxfc3RhdHNf cmVjKHZkZXYsIG1zZywgaW5mbywgaW5kZXgpOw0KPiA+ICsJaWYgKGVycikNCj4gPiArCQlyZXR1 cm4gZXJyOw0KPiA+ICsNCj4gPiArCXJldHVybiAwOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0 aWMgaW50IHZkcGFfZGV2X3ZlbmRvcl9zdGF0c19maWxsKHN0cnVjdCB2ZHBhX2RldmljZSAqdmRl diwNCj4gPiArCQkJCSAgICAgIHN0cnVjdCBza19idWZmICptc2csDQo+ID4gKwkJCQkgICAgICBz dHJ1Y3QgZ2VubF9pbmZvICppbmZvLCB1MzIgaW5kZXgpDQo+ID4gK3sNCj4gPiArCXUzMiBkZXZp Y2VfaWQ7DQo+ID4gKwl2b2lkICpoZHI7DQo+ID4gKwlpbnQgZXJyOw0KPiA+ICsJdTMyIHBvcnRp ZCA9IGluZm8tPnNuZF9wb3J0aWQ7DQo+ID4gKwl1MzIgc2VxID0gaW5mby0+c25kX3NlcTsNCj4g PiArCXUzMiBmbGFncyA9IDA7DQo+ID4gKw0KPiA+ICsJaGRyID0gZ2VubG1zZ19wdXQobXNnLCBw b3J0aWQsIHNlcSwgJnZkcGFfbmxfZmFtaWx5LCBmbGFncywNCj4gPiArCQkJICBWRFBBX0NNRF9E RVZfVlNUQVRTX0dFVCk7DQo+ID4gKwlpZiAoIWhkcikNCj4gPiArCQlyZXR1cm4gLUVNU0dTSVpF Ow0KPiA+ICsNCj4gPiArCWlmIChubGFfcHV0X3N0cmluZyhtc2csIFZEUEFfQVRUUl9ERVZfTkFN RSwgZGV2X25hbWUoJnZkZXYtPmRldikpKSB7DQo+ID4gKwkJZXJyID0gLUVNU0dTSVpFOw0KPiA+ ICsJCWdvdG8gdW5kb19tc2c7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJZGV2aWNlX2lkID0gdmRl di0+Y29uZmlnLT5nZXRfZGV2aWNlX2lkKHZkZXYpOw0KPiA+ICsJaWYgKG5sYV9wdXRfdTMyKG1z ZywgVkRQQV9BVFRSX0RFVl9JRCwgZGV2aWNlX2lkKSkgew0KPiA+ICsJCWVyciA9IC1FTVNHU0la RTsNCj4gPiArCQlnb3RvIHVuZG9fbXNnOw0KPiA+ICsJfQ0KPiA+ICsNCj4gWW91IHNlZW0gdG8g bWlzcyBWRFBBX0FUVFJfREVWX05FR09USUFURURfRkVBVFVSRVMgZnJvbSB0aGlzIGZ1bmN0aW9u LA0KPiBvdGhlcndpc2UgSSBjYW4ndCBpbWFnZSBob3cgeW91IGNhbiBlbnN1cmUgdGhlIGF0b21p Y2l0eSB0byBpbmZlcg0KPiBxdWV1ZV90eXBlIGZvciBjb250cm9sIHZxLg0KPiBBbmQgc2hvdWxk IHdlIG1ha2Ugc3VyZSBWSVJUSU9fQ09ORklHX1NfRkVBVFVSRVNfT0sgaXMgc2V0IGJlZm9yZSBj YWxsDQo+IGludG8gdmVuZG9yX3N0YXRzX2ZpbGwoKT8NCg0KSXQgaXMgZG9uZSBpbiB0aGUgaGFy ZHdhcmUgZHJpdmVyLiBJbiB0aGlzIGNhc2UsIGluIG1seDVfdmRwYS4NCg0KPiANCj4gPiArCWVy ciA9IHZlbmRvcl9zdGF0c19maWxsKHZkZXYsIG1zZywgaW5mbywgaW5kZXgpOw0KPiA+ICsNCj4g PiArCWdlbmxtc2dfZW5kKG1zZywgaGRyKTsNCj4gPiArDQo+ID4gKwlyZXR1cm4gZXJyOw0KPiA+ ICsNCj4gPiArdW5kb19tc2c6DQo+ID4gKwlnZW5sbXNnX2NhbmNlbChtc2csIGhkcik7DQo+ID4g KwlyZXR1cm4gZXJyOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAgc3RhdGljIGludCB2ZHBhX25sX2Nt ZF9kZXZfY29uZmlnX2dldF9kb2l0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBnZW5sX2lu Zm8gKmluZm8pDQo+ID4gICB7DQo+ID4gICAJc3RydWN0IHZkcGFfZGV2aWNlICp2ZGV2Ow0KPiA+ IEBAIC05OTAsNiArMTA1OCw2MCBAQCB2ZHBhX25sX2NtZF9kZXZfY29uZmlnX2dldF9kdW1waXQo c3RydWN0IHNrX2J1ZmYgKm1zZywgc3RydWN0IG5ldGxpbmtfY2FsbGJhY2sgKg0KPiA+ICAgCXJl dHVybiBtc2ctPmxlbjsNCj4gPiAgIH0NCj4gPg0KPiA+ICtzdGF0aWMgaW50IHZkcGFfbmxfY21k X2Rldl9zdGF0c19nZXRfZG9pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLA0KPiA+ICsJCQkJCSAgc3Ry dWN0IGdlbmxfaW5mbyAqaW5mbykNCj4gPiArew0KPiA+ICsJc3RydWN0IHZkcGFfZGV2aWNlICp2 ZGV2Ow0KPiA+ICsJc3RydWN0IHNrX2J1ZmYgKm1zZzsNCj4gPiArCWNvbnN0IGNoYXIgKmRldm5h bWU7DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlICpkZXY7DQo+ID4gKwl1MzIgaW5kZXg7DQo+ID4gKwlp bnQgZXJyOw0KPiA+ICsNCj4gPiArCWlmICghaW5mby0+YXR0cnNbVkRQQV9BVFRSX0RFVl9OQU1F XSkNCj4gPiArCQlyZXR1cm4gLUVJTlZBTDsNCj4gPiArDQo+ID4gKwlpZiAoIWluZm8tPmF0dHJz W1ZEUEFfQVRUUl9ERVZfUVVFVUVfSU5ERVhdKQ0KPiA+ICsJCXJldHVybiAtRUlOVkFMOw0KPiA+ ICsNCj4gPiArCWRldm5hbWUgPSBubGFfZGF0YShpbmZvLT5hdHRyc1tWRFBBX0FUVFJfREVWX05B TUVdKTsNCj4gPiArCW1zZyA9IG5sbXNnX25ldyhOTE1TR19ERUZBVUxUX1NJWkUsIEdGUF9LRVJO RUwpOw0KPiA+ICsJaWYgKCFtc2cpDQo+ID4gKwkJcmV0dXJuIC1FTk9NRU07DQo+ID4gKw0KPiA+ ICsJaW5kZXggPSBubGFfZ2V0X3UzMihpbmZvLT5hdHRyc1tWRFBBX0FUVFJfREVWX1FVRVVFX0lO REVYXSk7DQo+ID4gKwltdXRleF9sb2NrKCZ2ZHBhX2Rldl9tdXRleCk7DQo+IEdpdmVuIHRoYXQg c3RhdHNfZ2V0KCkgaXMgYSByZWFkLW9ubHkgb3BlcmF0aW9uIHRoYXQgbWlnaHQgaGFwcGVuIHF1 aXRlDQo+IG9mdGVuIGZyb20gdGltZSB0byB0aW1lLCBJIHdvbmRlciBpZiBpdCBpcyBub3cgYSBn b29kIHRpbWluZyB0byBjb252ZXJ0DQo+IHZkcGFfZGV2X211dGV4IHRvIGEgc2VtYXBob3JlPw0K PiANCj4gPiArCWRldiA9IGJ1c19maW5kX2RldmljZSgmdmRwYV9idXMsIE5VTEwsIGRldm5hbWUs IHZkcGFfbmFtZV9tYXRjaCk7DQo+ID4gKwlpZiAoIWRldikgew0KPiA+ICsJCU5MX1NFVF9FUlJf TVNHX01PRChpbmZvLT5leHRhY2ssICJkZXZpY2Ugbm90IGZvdW5kIik7DQo+ID4gKwkJZXJyID0g LUVOT0RFVjsNCj4gPiArCQlnb3RvIGRldl9lcnI7DQo+IE1pc3Npbmcgbmxtc2dfZnJlZSgpLg0K PiA+ICsJfQ0KPiA+ICsJdmRldiA9IGNvbnRhaW5lcl9vZihkZXYsIHN0cnVjdCB2ZHBhX2Rldmlj ZSwgZGV2KTsNCj4gPiArCWlmICghdmRldi0+bWRldikgew0KPiA+ICsJCU5MX1NFVF9FUlJfTVNH X01PRChpbmZvLT5leHRhY2ssICJ1bm1hbmFnZWQgdmRwYSBkZXZpY2UiKTsNCj4gPiArCQllcnIg PSAtRUlOVkFMOw0KPiA+ICsJCWdvdG8gbWRldl9lcnI7DQo+IE1pc3Npbmcgbmxtc2dfZnJlZSgp Lg0KPiANCj4gT3RoZXJ3aXNlIGxvb2tzIGZpbmUuDQo+IA0KPiBBY2tlZC1ieTogU2ktV2VpIExp dSA8c2ktd2VpLmxpdUBvcmFjbGUuY29tPg0KPiANCj4gDQo+IC1TaXdlaQ0KPiA+ICsJfQ0KPiA+ ICsJZXJyID0gdmRwYV9kZXZfdmVuZG9yX3N0YXRzX2ZpbGwodmRldiwgbXNnLCBpbmZvLCBpbmRl eCk7DQo+ID4gKwlpZiAoIWVycikNCj4gPiArCQllcnIgPSBnZW5sbXNnX3JlcGx5KG1zZywgaW5m byk7DQo+ID4gKw0KPiA+ICsJcHV0X2RldmljZShkZXYpOw0KPiA+ICsJbXV0ZXhfdW5sb2NrKCZ2 ZHBhX2Rldl9tdXRleCk7DQo+ID4gKw0KPiA+ICsJaWYgKGVycikNCj4gPiArCQlubG1zZ19mcmVl KG1zZyk7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIGVycjsNCj4gPiArDQo+ID4gK21kZXZfZXJyOg0K PiA+ICsJcHV0X2RldmljZShkZXYpOw0KPiA+ICtkZXZfZXJyOg0KPiA+ICsJbXV0ZXhfdW5sb2Nr KCZ2ZHBhX2Rldl9tdXRleCk7DQo+ID4gKwlyZXR1cm4gZXJyOw0KPiA+ICt9DQo+ID4gKw0KPiA+ ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBubGFfcG9saWN5IHZkcGFfbmxfcG9saWN5W1ZEUEFfQVRU Ul9NQVggKyAxXSA9IHsNCj4gPiAgIAlbVkRQQV9BVFRSX01HTVRERVZfQlVTX05BTUVdID0geyAu dHlwZSA9IE5MQV9OVUxfU1RSSU5HIH0sDQo+ID4gICAJW1ZEUEFfQVRUUl9NR01UREVWX0RFVl9O QU1FXSA9IHsgLnR5cGUgPSBOTEFfU1RSSU5HIH0sDQo+ID4gQEAgLTk5Nyw2ICsxMTE5LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBubGFfcG9saWN5IHZkcGFfbmxfcG9saWN5W1ZEUEFfQVRUUl9N QVggKyAxXSA9IHsNCj4gPiAgIAlbVkRQQV9BVFRSX0RFVl9ORVRfQ0ZHX01BQ0FERFJdID0gTkxB X1BPTElDWV9FVEhfQUREUiwNCj4gPiAgIAkvKiB2aXJ0aW8gc3BlYyAxLjEgc2VjdGlvbiA1LjEu NC4xIGZvciB2YWxpZCBNVFUgcmFuZ2UgKi8NCj4gPiAgIAlbVkRQQV9BVFRSX0RFVl9ORVRfQ0ZH X01UVV0gPSBOTEFfUE9MSUNZX01JTihOTEFfVTE2LCA2OCksDQo+ID4gKwlbVkRQQV9BVFRSX0RF Vl9RVUVVRV9JTkRFWF0gPSBOTEFfUE9MSUNZX1JBTkdFKE5MQV9VMzIsIDAsIDY1NTM1KSwNCj4g PiAgIH07DQo+ID4NCj4gPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9vcHMgdmRwYV9ubF9v cHNbXSA9IHsNCj4gPiBAQCAtMTAzMCw2ICsxMTUzLDEyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg Z2VubF9vcHMgdmRwYV9ubF9vcHNbXSA9IHsNCj4gPiAgIAkJLmRvaXQgPSB2ZHBhX25sX2NtZF9k ZXZfY29uZmlnX2dldF9kb2l0LA0KPiA+ICAgCQkuZHVtcGl0ID0gdmRwYV9ubF9jbWRfZGV2X2Nv bmZpZ19nZXRfZHVtcGl0LA0KPiA+ICAgCX0sDQo+ID4gKwl7DQo+ID4gKwkJLmNtZCA9IFZEUEFf Q01EX0RFVl9WU1RBVFNfR0VULA0KPiA+ICsJCS52YWxpZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFU RV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVNUCwNCj4gPiArCQkuZG9pdCA9IHZkcGFf bmxfY21kX2Rldl9zdGF0c19nZXRfZG9pdCwNCj4gPiArCQkuZmxhZ3MgPSBHRU5MX0FETUlOX1BF Uk0sDQo+ID4gKwl9LA0KPiA+ICAgfTsNCj4gPg0KPiA+ICAgc3RhdGljIHN0cnVjdCBnZW5sX2Zh bWlseSB2ZHBhX25sX2ZhbWlseSBfX3JvX2FmdGVyX2luaXQgPSB7DQo+ID4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvbGludXgvdmRwYS5oIGIvaW5jbHVkZS9saW51eC92ZHBhLmgNCj4gPiBpbmRleCA4 OTQzYTIwOTIwMmUuLjQ4ZWQxZmMwMDgzMCAxMDA2NDQNCj4gPiAtLS0gYS9pbmNsdWRlL2xpbnV4 L3ZkcGEuaA0KPiA+ICsrKyBiL2luY2x1ZGUvbGludXgvdmRwYS5oDQo+ID4gQEAgLTI3Niw2ICsy NzYsOSBAQCBzdHJ1Y3QgdmRwYV9jb25maWdfb3BzIHsNCj4gPiAgIAkJCSAgICBjb25zdCBzdHJ1 Y3QgdmRwYV92cV9zdGF0ZSAqc3RhdGUpOw0KPiA+ICAgCWludCAoKmdldF92cV9zdGF0ZSkoc3Ry dWN0IHZkcGFfZGV2aWNlICp2ZGV2LCB1MTYgaWR4LA0KPiA+ICAgCQkJICAgIHN0cnVjdCB2ZHBh X3ZxX3N0YXRlICpzdGF0ZSk7DQo+ID4gKwlpbnQgKCpnZXRfdmVuZG9yX3ZxX3N0YXRzKShzdHJ1 Y3QgdmRwYV9kZXZpY2UgKnZkZXYsIHUxNiBpZHgsDQo+ID4gKwkJCQkgICBzdHJ1Y3Qgc2tfYnVm ZiAqbXNnLA0KPiA+ICsJCQkJICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKTsNCj4g PiAgIAlzdHJ1Y3QgdmRwYV9ub3RpZmljYXRpb25fYXJlYQ0KPiA+ICAgCSgqZ2V0X3ZxX25vdGlm aWNhdGlvbikoc3RydWN0IHZkcGFfZGV2aWNlICp2ZGV2LCB1MTYgaWR4KTsNCj4gPiAgIAkvKiB2 cSBpcnEgaXMgbm90IGV4cGVjdGVkIHRvIGJlIGNoYW5nZWQgb25jZSBEUklWRVJfT0sgaXMgc2V0 ICovDQo+ID4gQEAgLTQ3Myw0ICs0NzYsNiBAQCBzdHJ1Y3QgdmRwYV9tZ210X2RldiB7DQo+ID4g ICBpbnQgdmRwYV9tZ210ZGV2X3JlZ2lzdGVyKHN0cnVjdCB2ZHBhX21nbXRfZGV2ICptZGV2KTsN Cj4gPiAgIHZvaWQgdmRwYV9tZ210ZGV2X3VucmVnaXN0ZXIoc3RydWN0IHZkcGFfbWdtdF9kZXYg Km1kZXYpOw0KPiA+DQo+ID4gKyNkZWZpbmUgVkRQQV9JTlZBTF9RVUVVRV9JTkRFWCAweGZmZmYN Cj4gPiArDQo+ID4gICAjZW5kaWYgLyogX0xJTlVYX1ZEUEFfSCAqLw0KPiA+IGRpZmYgLS1naXQg YS9pbmNsdWRlL3VhcGkvbGludXgvdmRwYS5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L3ZkcGEuaA0K PiA+IGluZGV4IDEwNjFkOGQyZDA5ZC4uMjVjNTVjYWIzZDdjIDEwMDY0NA0KPiA+IC0tLSBhL2lu Y2x1ZGUvdWFwaS9saW51eC92ZHBhLmgNCj4gPiArKysgYi9pbmNsdWRlL3VhcGkvbGludXgvdmRw YS5oDQo+ID4gQEAgLTE4LDYgKzE4LDcgQEAgZW51bSB2ZHBhX2NvbW1hbmQgew0KPiA+ICAgCVZE UEFfQ01EX0RFVl9ERUwsDQo+ID4gICAJVkRQQV9DTURfREVWX0dFVCwJCS8qIGNhbiBkdW1wICov DQo+ID4gICAJVkRQQV9DTURfREVWX0NPTkZJR19HRVQsCS8qIGNhbiBkdW1wICovDQo+ID4gKwlW RFBBX0NNRF9ERVZfVlNUQVRTX0dFVCwNCj4gPiAgIH07DQo+ID4NCj4gPiAgIGVudW0gdmRwYV9h dHRyIHsNCj4gPiBAQCAtNDYsNiArNDcsMTEgQEAgZW51bSB2ZHBhX2F0dHIgew0KPiA+ICAgCVZE UEFfQVRUUl9ERVZfTkVHT1RJQVRFRF9GRUFUVVJFUywJLyogdTY0ICovDQo+ID4gICAJVkRQQV9B VFRSX0RFVl9NR01UREVWX01BWF9WUVMsCQkvKiB1MzIgKi8NCj4gPiAgIAlWRFBBX0FUVFJfREVW X1NVUFBPUlRFRF9GRUFUVVJFUywJLyogdTY0ICovDQo+ID4gKw0KPiA+ICsJVkRQQV9BVFRSX0RF Vl9RVUVVRV9JTkRFWCwgICAgICAgICAgICAgIC8qIHUzMiAqLw0KPiA+ICsJVkRQQV9BVFRSX0RF Vl9WRU5ET1JfQVRUUl9OQU1FLAkJLyogc3RyaW5nICovDQo+ID4gKwlWRFBBX0FUVFJfREVWX1ZF TkRPUl9BVFRSX1ZBTFVFLCAgICAgICAgLyogdTY0ICovDQo+ID4gKw0KPiA+ICAgCS8qIG5ldyBh dHRyaWJ1dGVzIG11c3QgYmUgYWRkZWQgYWJvdmUgaGVyZSAqLw0KPiA+ICAgCVZEUEFfQVRUUl9N QVgsDQo+ID4gICB9Ow0KDQo=