Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp4392861img; Tue, 26 Mar 2019 08:32:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqy7K5vuwLLIRFzs1QNErw/AkTtpTofW397nrc6R+VtmmyhFDsZU/svRE5rZTMoIp+ATAT3j X-Received: by 2002:a17:902:9881:: with SMTP id s1mr2640633plp.99.1553614367287; Tue, 26 Mar 2019 08:32:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553614367; cv=none; d=google.com; s=arc-20160816; b=z/N+vcFe20Je2QyZWet4WnX4FFJB3L2zvcWPeLk/mri0RkKddmgomqp+zvskw1XJmC QSIdJUyyTsEO1iI35BTgVjqwlwSgwNYiww/ufqbUpsddUvdvCQ2aB1ZQvTW+ZK8Yv8h4 j50+ykNM1xyOMRpmJeQaxfwrK5UumpFxnpd4DASZN5SAEI2dzOnzsbjtYZXN/44y0QJ8 DagVptcdCjnbAmEboRWm9UeHfS9kpAWJeh/rlg+re8aYe5cIbkF57ZohrPkPUBz1KNtc L1PVPTOArk4g/gBBDWlEPrlQWcJk3z4VOQOP9/IBaXL02Raj1Rej4u1A3KCNPkmBL6Y7 bzGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=GAjaKpRHrkItrAVY+68k4C2z28W4K1aKow67aUxj43o=; b=gUGuZPVTWR8jnmEaZXXXS+Ll5jKHXkK9fuKHt2zoyRSSc8obmeWrQN23dS009noj2V yB3gLfKCzQKbucSUMu7bKR+fAKAqvEBSOF0+ZGYuLr6VVTUfFPgxwrkktCJBDTjwLUdb wCDuamYdzToxhHnjihBEhl1tgnndOwI0l5U7YoMszJi3jJbIyVL0PTg6/ZyeBDE0h/6S ccTVAo5obtuQenNs1XneDu44xV9BCR/pUTMO67o3FqEW+cnSuEhWMlyw6FMRgHQ45aQW 167WPw6yzhRYn+YFpSeu6gP4Es0rl+2TQQyytih2TwYTCRWJmjWU20u7ChV0tlai0Wt5 iAcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@Mellanox.com header.s=selector1 header.b=IWQFNivu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q61si17887443plb.245.2019.03.26.08.32.32; Tue, 26 Mar 2019 08:32:47 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@Mellanox.com header.s=selector1 header.b=IWQFNivu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732206AbfCZPbE (ORCPT + 99 others); Tue, 26 Mar 2019 11:31:04 -0400 Received: from mail-eopbgr20075.outbound.protection.outlook.com ([40.107.2.75]:20233 "EHLO EUR02-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731998AbfCZPbD (ORCPT ); Tue, 26 Mar 2019 11:31:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GAjaKpRHrkItrAVY+68k4C2z28W4K1aKow67aUxj43o=; b=IWQFNivuPvL/juoyf37ro1zDy5+6+aB0wHThLcz7PAhAQMsmoa+yIocFcmCpp0LYdZqtgue0d3ktHjbGq7cg8wfT8VQWM3twb48WnJ+8eTgJQfnuxdy9s2DIEuFUgpnXsDtPGeUfDSkiCJY9Oa1yOQlsGhUCmc4fKifojCotkyo= Received: from VI1PR0501MB2271.eurprd05.prod.outlook.com (10.169.135.8) by VI1PR0501MB2670.eurprd05.prod.outlook.com (10.172.13.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1730.16; Tue, 26 Mar 2019 15:30:45 +0000 Received: from VI1PR0501MB2271.eurprd05.prod.outlook.com ([fe80::a0b8:7ed8:d657:2f59]) by VI1PR0501MB2271.eurprd05.prod.outlook.com ([fe80::a0b8:7ed8:d657:2f59%6]) with mapi id 15.20.1730.019; Tue, 26 Mar 2019 15:30:45 +0000 From: Parav Pandit To: Kirti Wankhede , "kvm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "alex.williamson@redhat.com" CC: Neo Jia Subject: RE: [PATCH 8/8] vfio/mdev: Improve the create/remove sequence Thread-Topic: [PATCH 8/8] vfio/mdev: Improve the create/remove sequence Thread-Index: AQHU4QXvNq2tSD+YZ0aNNrE4+GOfm6YdgsoAgACH4PA= Date: Tue, 26 Mar 2019 15:30:44 +0000 Message-ID: References: <1553296835-37522-1-git-send-email-parav@mellanox.com> <1553296835-37522-9-git-send-email-parav@mellanox.com> <244348f7-4d72-b7c5-9d82-34db296ff885@nvidia.com> In-Reply-To: <244348f7-4d72-b7c5-9d82-34db296ff885@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [208.176.44.194] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ca4921f3-a80d-4351-93c1-08d6b20003ae x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600127)(711020)(4605104)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);SRVR:VI1PR0501MB2670; x-ms-traffictypediagnostic: VI1PR0501MB2670: x-microsoft-antispam-prvs: x-forefront-prvs: 09888BC01D x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(136003)(396003)(39860400002)(366004)(346002)(199004)(13464003)(189003)(316002)(53546011)(55016002)(6506007)(9686003)(71190400001)(6246003)(8936002)(14454004)(305945005)(7736002)(26005)(102836004)(53936002)(6346003)(66066001)(2501003)(5660300002)(33656002)(110136005)(478600001)(76176011)(25786009)(68736007)(7696005)(186003)(486006)(2201001)(229853002)(2906002)(476003)(99286004)(86362001)(3846002)(4326008)(52536014)(81156014)(105586002)(71200400001)(74316002)(81166006)(6436002)(97736004)(8676002)(11346002)(6116002)(446003)(256004)(14444005)(106356001);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0501MB2670;H:VI1PR0501MB2271.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) authentication-results: spf=none (sender IP is ) smtp.mailfrom=parav@mellanox.com; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: qejdFpf7LWVj17sQvE7mwIhVzGwahgflO2N1HPjUS0/of1QA8PfIenJ797CrFwxcPTkjmrv+Zotij6MRDt9r4wRqewZU/xWfNlPEqZZBV5Tb9gHmyPgkcbLCW6M3I9m273DDY0ZS8tsdKc2G06sTSvpda8CyvK7PdCAKvBhx0jCvWcSLJVM3OQngOExngHurEDeF6H/eE3cPxyvqkq8e8zAw+S97tnUmCYTlDKX0/FhgkPQKKUVYX73EseKRpmovtrJ8TM8nO6LttUPN5SkdxQ3beWVAxDfAeK/+8cS5+//nLq4PRfO06pXhIKM8blyqaGMBwcot0SZivGoxaGEesoqH6RmPSfAbQXarNL0KY95MgD82wNXOWJQ2tzlsxufMQfFHI4FfT7NFkkgKezcMcLoT8rWtYZ9UALMoJ5x6VvQ= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca4921f3-a80d-4351-93c1-08d6b20003ae X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Mar 2019 15:30:44.9359 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0501MB2670 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS2lydGkgV2Fua2hlZGUg PGt3YW5raGVkZUBudmlkaWEuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBNYXJjaCAyNiwgMjAxOSAy OjA2IEFNDQo+IFRvOiBQYXJhdiBQYW5kaXQgPHBhcmF2QG1lbGxhbm94LmNvbT47IGt2bUB2Z2Vy Lmtlcm5lbC5vcmc7IGxpbnV4LQ0KPiBrZXJuZWxAdmdlci5rZXJuZWwub3JnOyBhbGV4LndpbGxp YW1zb25AcmVkaGF0LmNvbQ0KPiBDYzogTmVvIEppYSA8Y2ppYUBudmlkaWEuY29tPg0KPiBTdWJq ZWN0OiBSZTogW1BBVENIIDgvOF0gdmZpby9tZGV2OiBJbXByb3ZlIHRoZSBjcmVhdGUvcmVtb3Zl IHNlcXVlbmNlDQo+IA0KPiANCj4gDQo+IE9uIDMvMjMvMjAxOSA0OjUwIEFNLCBQYXJhdiBQYW5k aXQgd3JvdGU6DQo+ID4gVGhlcmUgYXJlIGZpdmUgcHJvYmxlbXMgd2l0aCBjdXJyZW50IGNvZGUg c3RydWN0dXJlLg0KPiA+IDEuIG1kZXYgZGV2aWNlIGlzIHBsYWNlZCBvbiB0aGUgbWRldiBidXMg YmVmb3JlIGl0IGlzIGNyZWF0ZWQgaW4gdGhlDQo+ID4gdmVuZG9yIGRyaXZlci4gT25jZSBhIGRl dmljZSBpcyBwbGFjZWQgb24gdGhlIG1kZXYgYnVzIHdpdGhvdXQNCj4gPiBjcmVhdGluZyBpdHMg c3VwcG9ydGluZyB1bmRlcmx5aW5nIHZlbmRvciBkZXZpY2UsIGFuIG9wZW4oKSBjYW4gZ2V0DQo+ ID4gdHJpZ2dlcmVkIGJ5IHVzZXJzcGFjZSBvbiBwYXJ0aWFsbHkgaW5pdGlhbGl6ZWQgZGV2aWNl Lg0KPiA+IEJlbG93IGxhZGRlciBkaWFncmFtIGhpZ2hsaWdodCBpdC4NCj4gPg0KPiA+ICAgICAg IGNwdS0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LTENCj4gPiAg ICAgICAtLS0tLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tLS0tDQo+ ID4gICAgY3JlYXRlX3N0b3JlKCkNCj4gPiAgICAgIG1kZXZfY3JlYXRlX2RldmljZSgpDQo+ID4g ICAgICAgIGRldmljZV9yZWdpc3RlcigpDQo+ID4gICAgICAgICAgIC4uLg0KPiA+ICAgICAgICAg IHZmaW9fbWRldl9wcm9iZSgpDQo+ID4gICAgICAgICAgLi4uY3JlYXRlcyBjaGFyIGRldmljZQ0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZmlvX21kZXZfb3Bl bigpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50 LT5vcHMtPm9wZW4obWRldikNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHZmaW9fYXBfbWRldl9vcGVuKCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWF0cml4X21kZXYgPSBOVUxMDQo+ID4gICAgICAgICBb Li4uXQ0KPiA+ICAgICAgICAgcGFyZW50LT5vcHMtPmNyZWF0ZSgpDQo+ID4gICAgICAgICAgIHZm aW9fYXBfbWRldl9jcmVhdGUoKQ0KPiA+ICAgICAgICAgICAgIG1kZXZfc2V0X2RydmRhdGEobWRl diwgbWF0cml4X21kZXYpOw0KPiA+ICAgICAgICAgICAgIC8qIFZhbGlkIHBvaW50ZXIgc2V0IGFi b3ZlICovDQo+ID4NCj4gDQo+IFZGSU8gaW50ZXJmYWNlIHVzZXMgc3lzZnMgcGF0aCBvZiBkZXZp Y2Ugb3IgUENJIGRldmljZSdzIEJERiB3aGVyZSBpdCBjaGVja3MNCj4gc3lzZnMgZmlsZSBmb3Ig dGhhdCBkZXZpY2UgZXhpc3QuDQo+IEluIGNhc2Ugb2YgVkZJTyBtZGV2IGRldmljZSwgYWJvdmUg c2l0dWF0aW9uIHdpbGwgbmV2ZXIgaGFwcGVuIGFzIG9wZW4gd2lsbA0KPiBvbmx5IGdldCBjYWxs ZWQgaWYgc3lzZnMgZW50cnkgZm9yIHRoYXQgZGV2aWNlIGV4aXN0Lg0KPiANCj4gSWYgeW91IGRv bid0IHVzZSBWRklPIGludGVyZmFjZSB0aGVuIHRoaXMgc2l0dWF0aW9uIGNhbiBhcmlzZS4gSW4g dGhhdCBjYXNlDQo+IHByb2JlKCkgY2FuIGJlIHVzZWQgZm9yIHZlcnkgYmFzaWMgaW5pdGlhbGl6 YXRpb24gdGhlbiBjcmVhdGUgYWN0dWFsIGNoYXINCj4gZGV2aWNlIGZyb20gY3JlYXRlKCkuDQo+ IA0KSSBleHBsYWluZWQgeW91IHRoYXQgY3JlYXRlKCkgY2Fubm90IGRvIHRoZSBoZWF2eSBsaWZ0 aW5nIHdvcmsgb2YgY3JlYXRpbmcgbmV0ZGV2IGFuZCByZG1hIGRldiBiZWNhdXNlIGF0IHRoYXQg c3RhZ2UgZHJpdmVyIGRvZXNuJ3Qga25vdyB3aGV0aGVyIGl0cyBnZXR0aW5nIHVzZWQgZm9yIFZN IG9yIGhvc3QuDQpjcmVhdGUoKSBuZWVkcyB0byBjcmVhdGUgdGhlIGRldmljZSB0aGF0IHByb2Jl KCkgY2FuIHdvcmsgb24gaW4gc3RhYmxlIG1hbm5lci4NCg0KPiANCj4gPiAyLiBDdXJyZW50IGNy ZWF0aW9uIHNlcXVlbmNlIGlzLA0KPiA+ICAgIHBhcmVudC0+b3BzX2NyZWF0ZSgpDQo+ID4gICAg Z3JvdXBzX3JlZ2lzdGVyKCkNCj4gPg0KPiA+IFJlbW92ZSBzZXF1ZW5jZSBpcywNCj4gPiAgICBw YXJlbnQtPm9wcy0+cmVtb3ZlKCkNCj4gPiAgICBncm91cHNfdW5yZWdpc3RlcigpDQo+ID4gSG93 ZXZlciwgcmVtb3ZlIHNlcXVlbmNlIHNob3VsZCBiZSBleGFjdCBtaXJyb3Igb2YgY3JlYXRpb24g c2VxdWVuY2UuDQo+ID4gT25jZSB0aGlzIGlzIGFjaGlldmVkLCBhbGwgdXNlcnMgb2YgdGhlIG1k ZXYgd2lsbCBiZSB0ZXJtaW5hdGVkIGZpcnN0DQo+ID4gYmVmb3JlIHJlbW92aW5nIHVuZGVybHlp bmcgdmVuZG9yIGRldmljZS4NCj4gPiAoRm9sbG93IHN0YW5kYXJkIGxpbnV4IGRyaXZlciBtb2Rl bCkuDQo+ID4gQXQgdGhhdCBwb2ludCB2ZW5kb3IncyByZW1vdmUoKSBvcHMgc2hvdWxkbid0IGZh aWxlZCBiZWNhdXNlIGRldmljZSBpcw0KPiA+IHRha2VuIG9mZiB0aGUgYnVzIHRoYXQgc2hvdWxk IHRlcm1pbmF0ZSB0aGUgdXNlcnMuDQo+ID4NCj4gDQo+IElmIFZNTSBvciB1c2VyIHNwYWNlIGFw cGxpY2F0aW9uIGlzIHVzaW5nIG1kZXYgZGV2aWNlLA0KPiBwYXJlbnQtPm9wcy0+cmVtb3ZlKCkg Y2FuIHJldHVybiBmYWlsdXJlLiBJbiB0aGF0IGNhc2Ugc3lzZnMgZmlsZXMNCj4gc2hvdWxkbid0 IGJlIHJlbW92ZWQuIEhlbmNlIGFib3ZlIHNlcXVlbmNlIGlzIGZvbGxvd2VkIGZvciByZW1vdmUu DQo+IA0KPiBTdGFuZGFyZCBsaW51eCBkcml2ZXIgbW9kZWwgZG9lc24ndCBhbGxvdyByZW1vdmUo KSB0byBmYWlsLCBidXQgaW4gb2YgbWRldg0KPiBmcmFtZXdvcmssIGludGVyZmFjZSBpcyBkZWZp bmVkIHRvIGhhbmRsZSBzdWNoIGVycm9yIGNhc2UuDQo+IA0KQnV0IHRoZSBzZXF1ZW5jZSBpcyBp bmNvcnJlY3QgZm9yIHdpZGVyIHVzZSBjYXNlLg0KPiANCj4gPiAzLiBBZGRpdGlvbmFsbHkgYW55 IG5ldyBtZGV2IGRyaXZlciB0aGF0IHdhbnRzIHRvIHdvcmsgb24gbWRldiBkZXZpY2UNCj4gPiBk dXJpbmcgcHJvYmUoKSByb3V0aW5lIHJlZ2lzdGVyZWQgdXNpbmcgbWRldl9yZWdpc3Rlcl9kcml2 ZXIoKSBuZWVkcw0KPiA+IHRvIGdldCBzdGFibGUgbWRldiBzdHJ1Y3R1cmUuDQo+ID4NCj4gDQo+ IFRoaW5ncyB0aGF0IHlvdSBhcmUgdHJ5aW5nIHRvIGhhbmRsZSB3aXRoIG1kZXYgc3RydWN0dXJl IGZyb20gcHJvYmUoKSwNCj4gY291bGRuJ3QgdGhhdCBiZSBtb3ZlZCB0byBjcmVhdGUoKT8NCj4g DQpObywgYXMgZXhwbGFpbmVkIGJlZm9yZSBhbmQgYWJvdmUuDQpUaGF0IGFwcHJvYWNoIGp1c3Qg ZG9lc24ndCBsb29rIHJpZ2h0Lg0KIA0KPiANCj4gPiA0LiBJbiBmb2xsb3dpbmcgc2VxdWVuY2Us IGNoaWxkIGRldmljZXMgY3JlYXRlZCB3aGlsZSByZW1vdmluZyBtZGV2DQo+ID4gcGFyZW50IGRl dmljZSBjYW4gYmUgbGVmdCBvdXQsIG9yIGl0IG1heSBsZWFkIHRvIHJhY2Ugb2YgcmVtb3Zpbmcg aGFsZg0KPiA+IGluaXRpYWxpemVkIGNoaWxkIG1kZXYgZGV2aWNlcy4NCj4gPg0KPiA+IGlzc3Vl LTE6DQo+ID4gLS0tLS0tLS0NCj4gPiAgICAgICAgY3B1LTAgICAgICAgICAgICAgICAgICAgICAg ICAgY3B1LTENCj4gPiAgICAgICAgLS0tLS0gICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0N Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWRldl91bnJlZ2lzdGVyX2Rl dmljZSgpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZV9m b3JfZWFjaF9jaGlsZCgpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG1kZXZfZGV2aWNlX3JlbW92ZV9jYigpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtZGV2X2RldmljZV9yZW1vdmUoKQ0KPiA+IGNyZWF0ZV9zdG9y ZSgpDQo+ID4gICBtZGV2X2RldmljZV9jcmVhdGUoKSAgICAgICAgICAgICAgICAgICBbLi4uXQ0K PiA+ICAgICAgICBkZXZpY2VfcmVnaXN0ZXIoKQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwYXJlbnRfcmVtb3ZlX3N5c2ZzX2ZpbGVzKCkNCj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogQlVHOiBkZXZpY2UgYWRkZWQgYnkgY3B1LTANCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogd2hvc2UgcGFyZW50IGlzIGdldHRp bmcgcmVtb3ZlZC4NCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQo+ ID4NCj4gPiBpc3N1ZS0yOg0KPiA+IC0tLS0tLS0tDQo+ID4gICAgICAgIGNwdS0wICAgICAgICAg ICAgICAgICAgICAgICAgIGNwdS0xDQo+ID4gICAgICAgIC0tLS0tICAgICAgICAgICAgICAgICAg ICAgICAgIC0tLS0tDQo+ID4gY3JlYXRlX3N0b3JlKCkNCj4gPiAgIG1kZXZfZGV2aWNlX2NyZWF0 ZSgpICAgICAgICAgICAgICAgICAgIFsuLi5dDQo+ID4gICAgICAgIGRldmljZV9yZWdpc3Rlcigp DQo+ID4NCj4gPiAgICAgICAgWy4uLl0gICAgICAgICAgICAgICAgICAgICAgbWRldl91bnJlZ2lz dGVyX2RldmljZSgpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl dmljZV9mb3JfZWFjaF9jaGlsZCgpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1kZXZfZGV2aWNlX3JlbW92ZV9jYigpDQo+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtZGV2X2RldmljZV9yZW1vdmUoKQ0KPiA+DQo+ID4g ICAgICAgIG1kZXZfY3JlYXRlX3N5c2ZzX2ZpbGVzKCkNCj4gPiAgICAgICAgLyogQlVHOiBjcmVh dGUgaXMgYWRkaW5nDQo+ID4gICAgICAgICAqIHN5c2ZzIGZpbGVzIGZvciBhIGRldmljZQ0KPiA+ ICAgICAgICAgKiB3aGljaCBpcyB1bmRlcmdvaW5nIHJlbW92YWwuDQo+ID4gICAgICAgICAqLw0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudF9yZW1vdmVfc3lzZnNf ZmlsZXMoKQ0KPiA+DQo+ID4gNS4gQmVsb3cgY3Jhc2ggaXMgb2JzZXJ2ZWQgd2hlbiB1c2VyIGlu aXRpYXRlZCByZW1vdmUgaXMgaW4gcHJvZ3Jlc3MNCj4gPiBhbmQgbWRldl91bnJlZ2lzdGVyX2Ry aXZlcigpIGNvbXBsZXRlcyBwYXJlbnQgdW5yZWdpc3RyYXRpb24uDQo+ID4NCj4gPiAgICAgICAg Y3B1LTAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LTENCj4gPiAgICAgICAgLS0tLS0gICAg ICAgICAgICAgICAgICAgICAgICAgLS0tLS0NCj4gPiByZW1vdmVfc3RvcmUoKQ0KPiA+ICAgIG1k ZXZfZGV2aWNlX3JlbW92ZSgpDQo+ID4gICAgYWN0aXZlID0gZmFsc2U7DQo+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1kZXZfdW5yZWdpc3Rlcl9kZXZpY2UoKQ0KPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZSB0eXBlDQo+ID4gICAgWy4u Ll0NCj4gPiAgICBtZGV2X3JlbW92ZV9vcHMoKSBjcmFzaGVzLg0KPiA+DQo+ID4gVGhpcyBpcyBz aW1pbGFyIHJhY2UgbGlrZSBjcmVhdGUoKSByYWNpbmcgd2l0aCBtZGV2X3VucmVnaXN0ZXJfZGV2 aWNlKCkuDQo+ID4NCj4gPiBtdHR5IG10dHk6IE1ERVY6IFJlZ2lzdGVyZWQNCj4gPiBpb21tdTog QWRkaW5nIGRldmljZSA4M2I4ZjRmMi01MDlmLTM4MmYtM2MxZS1lNmJmZTBmYTEwMDEgdG8gZ3Jv dXAgNTcNCj4gPiB2ZmlvX21kZXYgODNiOGY0ZjItNTA5Zi0zODJmLTNjMWUtZTZiZmUwZmExMDAx OiBNREVWOiBncm91cF9pZCA9IDU3DQo+ID4gbWRldl9kZXZpY2VfcmVtb3ZlIHNsZWVwIHN0YXJ0 ZWQgbXR0eSBtdHR5OiBNREVWOiBVbnJlZ2lzdGVyaW5nDQo+ID4gbXR0eV9kZXY6IFVubG9hZGVk IQ0KPiA+IEJVRzogdW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgZmZm ZmZmZmZjMDI3ZDY2OCBQR0QNCj4gPiBhZjk4MTgwNjcgUDREIGFmOTgxODA2NyBQVUQgYWY5ODFh MDY3IFBNRCA4NTgzYzMwNjcgUFRFIDANCj4gPiBPb3BzOiAwMDAwIFsjMV0gU01QIFBUSQ0KPiA+ IENQVTogMTUgUElEOiAzNTE3IENvbW06IGJhc2ggS2R1bXA6IGxvYWRlZCBOb3QgdGFpbnRlZA0K PiA+IDUuMC4wLXJjNy12ZGV2YnVzKyAjMiBIYXJkd2FyZSBuYW1lOiBTdXBlcm1pY3JvDQo+ID4g U1lTLTYwMjhVLVRSNCsvWDEwRFJVLWkrLCBCSU9TIDIuMGIgMDgvMDkvMjAxNg0KPiA+IFJJUDog MDAxMDptZGV2X2RldmljZV9yZW1vdmVfb3BzKzB4MWEvMHg1MCBbbWRldl0gQ2FsbCBUcmFjZToN Cj4gPiAgbWRldl9kZXZpY2VfcmVtb3ZlKzB4ZWYvMHgxMzAgW21kZXZdDQo+ID4gIHJlbW92ZV9z dG9yZSsweDc3LzB4YTAgW21kZXZdDQo+ID4gIGtlcm5mc19mb3Bfd3JpdGUrMHgxMTMvMHgxYTAN Cj4gPiAgX192ZnNfd3JpdGUrMHgzMy8weDFiMA0KPiA+ICA/IHJjdV9yZWFkX2xvY2tfc2NoZWRf aGVsZCsweDY0LzB4NzANCj4gPiAgPyByY3Vfc3luY19sb2NrZGVwX2Fzc2VydCsweDJhLzB4NTAN Cj4gPiAgPyBfX3NiX3N0YXJ0X3dyaXRlKzB4MTIxLzB4MWIwDQo+ID4gID8gdmZzX3dyaXRlKzB4 MTdjLzB4MWIwDQo+ID4gIHZmc193cml0ZSsweGFkLzB4MWIwDQo+ID4gID8gdHJhY2VfaGFyZGly cXNfb25fdGh1bmsrMHgxYS8weDFjDQo+ID4gIGtzeXNfd3JpdGUrMHg1NS8weGMwDQo+ID4gIGRv X3N5c2NhbGxfNjQrMHg1YS8weDIxMA0KPiA+DQo+ID4gVGhlcmVmb3JlLCBtZGV2IGNvcmUgaXMg aW1wcm92ZWQgaW4gZm9sbG93aW5nIHdheXMgdG8gb3ZlcmNvbWUgYWJvdmUNCj4gPiBpc3N1ZXMu DQo+ID4NCj4gPiAxLiBCZWZvcmUgcGxhY2luZyBtZGV2IGRldmljZXMgb24gdGhlIGJ1cywgcGVy Zm9ybSB2ZW5kb3IgZHJpdmVycw0KPiA+IGNyZWF0aW9uIHdoaWNoIHN1cHBvcnRzIHRoZSBtZGV2 IGNyZWF0aW9uLg0KPiA+IFRoaXMgZW5zdXJlcyB0aGF0IG1kZXYgc3BlY2lmaWMgYWxsIG5lY2Vz c2FyeSBmaWVsZHMgYXJlIGluaXRpYWxpemVkDQo+ID4gYmVmb3JlIGEgZ2l2ZW4gbWRldiBjYW4g YmUgYWNjZXNzZWQgYnkgYnVzIGRyaXZlci4NCj4gPg0KPiA+IDIuIER1cmluZyByZW1vdmUgZmxv dywgZmlyc3QgcmVtb3ZlIHRoZSBkZXZpY2UgZnJvbSB0aGUgYnVzLiBUaGlzDQo+ID4gZW5zdXJl cyB0aGF0IGFueSBidXMgc3BlY2lmaWMgZGV2aWNlcyBhbmQgZGF0YSBpcyBjbGVhcmVkLg0KPiA+ IE9uY2UgZGV2aWNlIGlzIHRha2VuIG9mIHRoZSBtZGV2IGJ1cywgcGVyZm9ybSByZW1vdmUoKSBv ZiBtZGV2IGZyb20NCj4gPiB0aGUgdmVuZG9yIGRyaXZlci4NCj4gPg0KPiANCj4gSWYgdXNlciBz cGFjZSBhcHBsaWNhdGlvbiBpcyB1c2luZyB0aGUgZGV2aWNlIGFuZCBzb21lb25lIHVuZGVybmVh dGgNCj4gcmVtb3ZlIHRoZSBkZXZpY2UgZnJvbSBidXMsIGhvdyB3b3VsZCB1c2Ugc3BhY2UgYXBw bGljYXRpb24ga25vdyB0aGF0DQo+IGRldmljZSBpcyBiZWluZyByZW1vdmVkPw0KdmZpb19tZGV2 IGd1YXJkcyBhbmQgd2FpdCBmb3IgZGV2aWNlIHRvIGdldCBjbG9zZWQuDQoNCk9uZSBzYW1wbGUg dHJhY2UgaXMgYmVsb3cuDQpbPDA+XSB2ZmlvX2RlbF9ncm91cF9kZXYrMHgzNGEvMHgzYzAgW3Zm aW9dDQpbPDA+XSBtZGV2X3JlbW92ZSsweDIxLzB4NDAgW21kZXZdDQpbPDA+XSBkZXZpY2VfcmVs ZWFzZV9kcml2ZXJfaW50ZXJuYWwrMHhlOC8weDFiMA0KWzwwPl0gYnVzX3JlbW92ZV9kZXZpY2Ur MHhmOS8weDE3MA0KWzwwPl0gZGV2aWNlX2RlbCsweDE2OC8weDM1MA0KWzwwPl0gbWRldl9kZXZp Y2VfcmVtb3ZlX2NvbW1vbisweDFlLzB4NjAgW21kZXZdDQpbPDA+XSBtZGV2X2RldmljZV9yZW1v dmVfY2IrMHgxYS8weDMwIFttZGV2XQ0KWzwwPl0gZGV2aWNlX2Zvcl9lYWNoX2NoaWxkKzB4NDcv MHg5MA0KWzwwPl0gbWRldl91bnJlZ2lzdGVyX2RldmljZSsweGRiLzB4MTAwIFttZGV2XQ0KWzww Pl0gbXR0eV9kZXZfZXhpdCsweDE3LzB4ODQzIFttdHR5XQ0KWzwwPl0gX194NjRfc3lzX2RlbGV0 ZV9tb2R1bGUrMHgxNmIvMHgyNDANCls8MD5dIGRvX3N5c2NhbGxfNjQrMHg1YS8weDIxMA0KWzww Pl0gZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NDkvMHhiZQ0KWzwwPl0gMHhmZmZm ZmZmZmZmZmZmZmZmDQoNCj4gSWYgRE1BIGlzIHNldHVwLCB1c2VyIHNwYWNlIGFwcGxpY2F0aW9u IGlzIGFjY2Vzc2luZyB0aGF0IG1lbW9yeSBhbmQgZGV2aWNlDQo+IGlzIHJlbW92ZWQgZnJvbSBi dXMgLSBob3cgd2lsbCB5b3UgcmVzdHJpY3QgdG8gbm90IHRvIHJlbW92ZSB0aGF0IGRldmljZT8g SWYNCj4gcmVtb3ZlKCkgaXMgbm90IHJlc3RyaWN0ZWQgdGhlbiBob3N0IG1pZ2h0IGNyYXNoLg0K PiBJIGtub3cgTGludXgga2VybmVsIGRldmljZSBjb3JlIG1vZGVsIGRvZXNuJ3QgYWxsb3cgcmVt b3ZlKCkgdG8gZmFpbCwgYnV0IHdlDQo+IGhhZCB0YWNrbGVkIHRoYXQgcHJvYmxlbSBmb3IgbWRl diBkZXZpY2VzIGluIHRoaXMgZnJhbWV3b3JrLiBJIHByZWZlciBub3QgdG8NCj4gY2hhbmdlIHRo aXMgYmVoYXZpb3IuIFRoaXMgd2lsbCByZWdyZXNzIGV4aXN0aW5nIHdvcmtpbmcgZHJpdmVycy4N Cj4gDQp2ZmlvIGxheWVyIGVuc3VyZXMgdGhhdCBvcGVuIGRldmljZSBjYW5ub3QgYmUgcmVtb3Zl ZCBmcm9tIGFib3ZlIHRyYWNlLg0KDQpPdGhlciBkcml2ZXJzIHdpbGwgZm9sbG93IHNpbWlsYXIg bWV0aG9kLiBJbiBjYXNlIG9mIG1seDUgZHJpdmVyIHdoaWNoIGJpbmRzDQp0byBtZGV2IGZvbGxv d3Mgc3RhbmRhcmQgZHJpdmVyIG1vZGVsIHRvIHRlcm1pbmF0ZSBmb3IgdGhpcyBtZGV2IGRldmlj ZSwNCnNpbWlsYXIgd2F5IGZvciBwY2kgZGV2aWNlLg0KDQo+IA0KPiA+IDMuIExpbnV4IGNvcmUg ZGV2aWNlIG1vZGVsIHByb3ZpZGVzIHdheSB0byByZWdpc3RlciBhbmQgYXV0bw0KPiA+IHVucmVn aXN0ZXIgdGhlIGRldmljZSBzeXNmcyBhdHRyaWJ1dGUgZ3JvdXBzIGF0IGRldi0+Z3JvdXBzLg0K PiA+IE1ha2UgdXNlIG9mIHRoaXMgZ3JvdXBzIHRvIGxldCBjb3JlIGNyZWF0ZSB0aGUgZ3JvdXBz IGFuZCBzaW1wbGlmeQ0KPiA+IGNvZGUgdG8gYXZvaWQgZXhwbGljaXQgZ3JvdXBzIGNyZWF0aW9u IGFuZCByZW1vdmFsLg0KPiA+DQo+ID4gNC4gV2FpdCBmb3IgYW55IG9uZ29pbmcgbWRldiBjcmVh dGUoKSBhbmQgcmVtb3ZlKCkgdG8gZmluaXNoIGJlZm9yZQ0KPiA+IHVucmVnaXN0ZXJpbmcgcGFy ZW50IGRldmljZSB1c2luZyBzcmN1LiBUaGlzIGNvbnRpbnVlcyB0byBhbGxvdw0KPiA+IG11bHRp cGxlIGNyZWF0ZSBhbmQgcmVtb3ZlIHRvIHByb2dyZXNzIGluIHBhcmFsbGVsLiBBdCB0aGUgc2Ft ZSB0aW1lDQo+ID4gZ3VhcmQgcGFyZW50IHJlbW92YWwgd2hpbGUgcGFyZW50IGlzIGJlaW5nIGFj Y2VzcyBieSBjcmVhdGUoKSBhbmQgcmVtb3ZlDQo+IGNhbGxiYWNrcy4NCj4gPg0KPiANCj4gQWdy ZWVkIHdpdGggdGhpcy4NCj4gQWxleCBhbHJlYWR5IG1lbnRpb25lZCwgaXQgd291bGQgYmUgYmV0 dGVyIHRvIGhhdmUgc2VwYXJhdGUgcGF0Y2ggZm9yIHRoaXMNCj4gZml4Lg0KPiANClBhdGNoZXMg YXJlIHJlYWR5LCBJIGFtIHdhaXRpbmcgZm9yIGFib3ZlIGRpc2N1c3Npb24gdG8gY2xvc2UgYmVm b3JlIHBvc3RpbmcgdjEuDQo=