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 D007C45AE3; Tue, 8 Oct 2024 19:22:00 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B27944025C; Tue, 8 Oct 2024 19:22:00 +0200 (CEST) Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by mails.dpdk.org (Postfix) with ESMTP id 3F99A4021E for ; Tue, 8 Oct 2024 19:21:59 +0200 (CEST) Received: from mail.maildlp.com (unknown [172.18.186.231]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4XNN8C1XPYz6K6WM; Wed, 9 Oct 2024 01:20:43 +0800 (CST) Received: from frapeml500007.china.huawei.com (unknown [7.182.85.172]) by mail.maildlp.com (Postfix) with ESMTPS id 497881400DD; Wed, 9 Oct 2024 01:21:58 +0800 (CST) Received: from frapeml500007.china.huawei.com (7.182.85.172) by frapeml500007.china.huawei.com (7.182.85.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 8 Oct 2024 19:21:58 +0200 Received: from frapeml500007.china.huawei.com ([7.182.85.172]) by frapeml500007.china.huawei.com ([7.182.85.172]) with mapi id 15.01.2507.039; Tue, 8 Oct 2024 19:21:58 +0200 From: Konstantin Ananyev To: Ferruh Yigit , Dariusz Sosnowski , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Andrew Rybchenko CC: "dev@dpdk.org" , Bruce Richardson Subject: RE: [RFC 0/4] ethdev: rework config restore Thread-Topic: [RFC 0/4] ethdev: rework config restore Thread-Index: AQHbCaxnvJzcot6EwEidqZ9OS9qkZLJvWnWAgAeTsoCABDL0EIAAwm0AgAFT2bA= Date: Tue, 8 Oct 2024 17:21:57 +0000 Message-ID: <3833d9270fba43af9d17765056911940@huawei.com> References: <20240918092201.33772-1-dsosnowski@nvidia.com> <13747524-f073-4749-adbd-be1c7681dbcd@amd.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.48.152.51] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 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 DQoNCj4gPj4+PiBXZSBoYXZlIGJlZW4gd29ya2luZyBvbiBvcHRpbWl6aW5nIHRoZSBsYXRlbmN5 IG9mIGNhbGxzIHRvDQo+ID4+Pj4gcnRlX2V0aF9kZXZfc3RhcnQoKSwgb24gcG9ydHMgc3Bhd25l ZCBieSBtbHg1IFBNRC4gTW9zdCBvZiB0aGUgd29yaw0KPiA+Pj4+IHJlcXVpcmVzIGNoYW5nZXMg aW4gdGhlIGltcGxlbWVudGF0aW9uIG9mDQo+ID4+Pj4gLmRldl9zdGFydCgpIFBNRCBjYWxsYmFj aywgYnV0IEkgYWxzbyB3YW50ZWQgdG8gc3RhcnQgYSBkaXNjdXNzaW9uDQo+ID4+Pj4gcmVnYXJk aW5nIGNvbmZpZ3VyYXRpb24gcmVzdG9yZS4NCj4gPj4+Pg0KPiA+Pj4+IHJ0ZV9ldGhfZGV2X3N0 YXJ0KCkgZG9lcyBhIGZldyB0aGluZ3Mgb24gdG9wIG9mIGNhbGxpbmcgLmRldl9zdGFydCgpIGNh bGxiYWNrOg0KPiA+Pj4+DQo+ID4+Pj4gLSBCZWZvcmUgY2FsbGluZyBpdDoNCj4gPj4+PiAgICAg LSBldGhfZGV2X21hY19yZXN0b3JlKCkgLSBpZiBkZXZpY2Ugc3VwcG9ydHMNCj4gPj4+PiBSVEVf RVRIX0RFVl9OT0xJVkVfTUFDX0FERFI7DQo+ID4+Pj4gLSBBZnRlciBjYWxsaW5nIGl0Og0KPiA+ Pj4+ICAgICAtIGV0aF9kZXZfbWFjX3Jlc3RvcmUoKSAtIGlmIGRldmljZSBkb2VzIG5vdCBzdXBw b3J0DQo+ID4+PiBSVEVfRVRIX0RFVl9OT0xJVkVfTUFDX0FERFI7DQo+ID4+Pj4gICAgIC0gcmVz dG9yZSBwcm9taXNjdW91cyBjb25maWcNCj4gPj4+PiAgICAgLSByZXN0b3JlIGFsbCBtdWx0aWNh c3QgY29uZmlnDQo+ID4+Pj4NCj4gPj4+PiBldGhfZGV2X21hY19yZXN0b3JlKCkgaXRlcmF0ZXMg b3ZlciBhbGwga25vd24gTUFDIGFkZHJlc3NlcyAtIHN0b3JlZA0KPiA+Pj4+IGluIHJ0ZV9ldGhf ZGV2X2RhdGEubWFjX2FkZHJzIGFycmF5IC0gYW5kIGNhbGxzDQo+ID4+Pj4gLm1hY19hZGRyX3Nl dCgpIGFuZCAubWFjX2FkZHJfYWRkKCkgY2FsbGJhY2tzIHRvIGFwcGx5IHRoZXNlIE1BQyBhZGRy ZXNzZXMuDQo+ID4+Pj4NCj4gPj4+PiBQcm9taXNjdW91cyBjb25maWcgcmVzdG9yZSBjaGVja3Mg aWYgcHJvbWlzY3VvdXMgbW9kZSBpcyBlbmFibGVkIG9yDQo+ID4+Pj4gbm90LCBhbmQgY2FsbHMg LnByb21pc2N1b3VzX2VuYWJsZSgpIG9yIC5wcm9taXNjdW91c19kaXNhYmxlKCkgY2FsbGJhY2su DQo+ID4+Pj4NCj4gPj4+PiBBbGwgbXVsdGljYXN0IGNvbmZpZyByZXN0b3JlIGNoZWNrcyBpZiBh bGwgbXVsdGljYXN0IG1vZGUgaXMgZW5hYmxlZA0KPiA+Pj4+IG9yIG5vdCwgYW5kIGNhbGxzIC5h bGxtdWx0aWNhc3RfZW5hYmxlKCkgb3IgLmFsbG11bHRpY2FzdF9kaXNhYmxlKCkgY2FsbGJhY2su DQo+ID4+Pj4NCj4gPj4+PiBDYWxsYmFja3MgYXJlIGNhbGxlZCBkaXJlY3RseSBpbiBhbGwgb2Yg dGhlc2UgY2FzZXMsIHRvIGJ5cGFzcyB0aGUNCj4gPj4+PiBjaGVja3MgZm9yIGFwcGx5aW5nIHRo ZSBzYW1lIGNvbmZpZ3VyYXRpb24sIHdoaWNoIGV4aXN0IGluIHJlbGV2YW50IEFQSXMuDQo+ID4+ Pj4gQ2hlY2tzIGFyZSBieXBhc3NlZCB0byBmb3JjZSBkcml2ZXJzIHRvIHJlYXBwbHkgdGhlIGNv bmZpZ3VyYXRpb24uDQo+ID4+Pj4NCj4gPj4+PiBMZXQncyBjb25zaWRlciB3aGF0IGhhcHBlbnMg aW4gdGhlIGZvbGxvd2luZyBzZXF1ZW5jZSBvZiBBUEkgY2FsbHMuDQo+ID4+Pj4NCj4gPj4+PiAx LiBydGVfZXRoX2Rldl9jb25maWd1cmUoKQ0KPiA+Pj4+IDIuIHJ0ZV9ldGhfdHhfcXVldWVfc2V0 dXAoKQ0KPiA+Pj4+IDMuIHJ0ZV9ldGhfcnhfcXVldWVfc2V0dXAoKQ0KPiA+Pj4+IDQuIHJ0ZV9l dGhfcHJvbWlzY3VvdXNfZW5hYmxlKCkNCj4gPj4+PiAgICAgLSBDYWxsIGRldi0+ZGV2X29wcy0+ cHJvbWlzY3VvdXNfZW5hYmxlKCkNCj4gPj4+PiAgICAgLSBTdG9yZXMgcHJvbWlzY3VvdXMgc3Rh dGUgaW4gZGV2LT5kYXRhLT5wcm9taXNjdW91cyA1Lg0KPiA+Pj4+IHJ0ZV9ldGhfYWxsbXVsdGlj YXN0X2VuYWJsZSgpDQo+ID4+Pj4gICAgIC0gQ2FsbCBkZXYtPmRldl9vcHMtPmFsbG11bHRpY2Fz dF9lbmFibGUoKQ0KPiA+Pj4+ICAgICAtIFN0b3JlcyBhbGxtdWx0aWNhc3Qgc3RhdGUgaW4gZGV2 LT5kYXRhLT5hbGxtdWx0aWNhc3QgNi4NCj4gPj4+PiBydGVfZXRoX2Rldl9zdGFydCgpDQo+ID4+ Pj4gICAgIC0gQ2FsbCBkZXYtPmRldl9vcHMtPmRldl9zdGFydCgpDQo+ID4+Pj4gICAgIC0gQ2Fs bCBkZXYtPmRldl9vcHMtPm1hY19hZGRyX3NldCgpIC0gYXBwbHkgZGVmYXVsdCBNQUMgYWRkcmVz cw0KPiA+Pj4+ICAgICAtIENhbGwgZGV2LT5kZXZfb3BzLT5wcm9taXNjdW91c19lbmFibGUoKQ0K PiA+Pj4+ICAgICAtIENhbGwgZGV2LT5kZXZfb3BzLT5hbGxtdWx0aWNhc3RfZW5hYmxlKCkNCj4g Pj4+Pg0KPiA+Pj4+IEV2ZW4gdGhvdWdoIGFsbCBjb25maWd1cmF0aW9uIGlzIGF2YWlsYWJsZSBp biBkZXYtPmRhdGEgYWZ0ZXIgc3RlcCA1LA0KPiA+Pj4+IGxpYnJhcnkgZm9yY2VzIHJlYXBwbHlp bmcgdGhpcyBjb25maWd1cmF0aW9uIGluIHN0ZXAgNi4NCj4gPj4+Pg0KPiA+Pj4+IEluIG1seDUg UE1EIGNhc2UgYWxsIHJlbGV2YW50IGNhbGxiYWNrcyByZXF1aXJlIGNvbW11bmljYXRpb24gd2l0 aCB0aGUNCj4gPj4+PiBrZXJuZWwgZHJpdmVyLCB0byBjb25maWd1cmUgdGhlIGRldmljZSAobWx4 NSBQTUQgbXVzdCBjcmVhdGUvZGVzdHJveQ0KPiA+Pj4+IG5ldyBrZXJuZWwgZmxvdyBydWxlcyBh bmQvb3IgY2hhbmdlIG5ldGRldiBjb25maWcpLg0KPiA+Pj4+DQo+ID4+Pj4gbWx4NSBQTUQgaGFu ZGxlcyBhcHBseWluZyBhbGwgY29uZmlndXJhdGlvbiBpbiAuZGV2X3N0YXJ0KCksIHNvIHRoZQ0K PiA+Pj4+IGZvbGxvd2luZyBmb3JjZWQgY2FsbGJhY2tzIGZvcmNlIGFkZGl0aW9uYWwgY29tbXVu aWNhdGlvbiB3aXRoIHRoZSBrZXJuZWwuIFRoZQ0KPiA+Pj4gc2FtZSBjb25maWd1cmF0aW9uIGlz IGFwcGxpZWQgbXVsdGlwbGUgdGltZXMuDQo+ID4+Pj4NCj4gPj4+PiBBcyBhbiBvcHRpbWl6YXRp b24sIG1seDUgUE1EIGNvdWxkIGNoZWNrIGlmIGEgZ2l2ZW4gY29uZmlndXJhdGlvbiB3YXMNCj4g Pj4+PiBhcHBsaWVkLCBidXQgdGhpcyB3b3VsZCBkdXBsaWNhdGUgdGhlIGZ1bmN0aW9uYWxpdHkg b2YgdGhlIGxpYnJhcnkNCj4gPj4+PiAoZm9yIGV4YW1wbGUgcnRlX2V0aF9wcm9taXNjdW91c19l bmFibGUoKSBkb2VzIG5vdCBjYWxsIHRoZSBkcml2ZXIgaWYNCj4gPj4+PiBkZXYtPmRhdGEtPnBy b21pc2N1b3VzIGlzIHNldCkuDQo+ID4+Pj4NCj4gPj4+PiBRdWVzdGlvbjogU2luY2UgYWxsIG9m IHRoZSBjb25maWd1cmF0aW9uIGlzIGF2YWlsYWJsZSBiZWZvcmUNCj4gPj4+PiAuZGV2X3N0YXJ0 KCkgY2FsbGJhY2sgaXMgY2FsbGVkLCB3aHkgZXRoZGV2IGxpYnJhcnkgZG9lcyBub3QgZXhwZWN0 IC5kZXZfc3RhcnQoKSB0bw0KPiA+Pj4gdGFrZSB0aGlzIGNvbmZpZ3VyYXRpb24gaW50byBhY2Nv dW50Pw0KPiA+Pj4+IEluIG90aGVyIHdvcmRzLCB3aHkgbGlicmFyeSBoYXMgdG8gcmVhcHBseSB0 aGUgY29uZmlndXJhdGlvbj8NCj4gPj4+Pg0KPiA+Pj4+IEkgY291bGQgbm90IGZpbmQgYW55IHBh cnRpY3VsYXIgcmVhc29uIHdoeSBjb25maWd1cmF0aW9uIHJlc3RvcmUNCj4gPj4+PiBleGlzdHMg YXMgcGFydCBvZiB0aGUgcHJvY2VzcyAoaXQgd2FzIGluIHRoZSBpbml0aWFsIERQREsgY29tbWl0 KS4NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4+IE15IGFzc3VtcHRpb24gaXMgLmRldl9zdG9wKCkgY2F1 c2UgdGhlc2UgdmFsdWVzIHJlc2V0IGluIHNvbWUgZGV2aWNlcywgc28NCj4gPj4+IC5kZXZfc3Rh cnQoKSByZXN0b3JlcyB0aGVtIGJhY2suDQo+ID4+PiBAQnJ1Y2Ugb3IgQEtvbnN0YW50aW4gbWF5 IHJlbWVtYmVyIHRoZSBoaXN0b3J5Lg0KPiA+DQo+ID4gWWVwLCBhcyBJIHJlbWVtYmVyLCBhdCBs ZWFzdCBzb21lIEludGVsIFBNRHMgY2FsbGluZyBod19yZXNldCgpIGFkIGRlY19zdG9wKCkgYW5k DQo+ID4gZXZlbiBkZXZfc3RhcnQoKSB0byBtYWtlIHN1cmUgdGhhdCBIVyBpcyBpbiBhIGNsZWFu IChrbm93bikgc3RhdGUuDQo+ID4NCj4gPj4+DQo+ID4+PiBCdXQgSSBhZ3JlZSB0aGlzIGlzIGRl dmljZSBzcGVjaWZpYyBiZWhhdmlvciwgYW5kIGNhbiBiZSBtYW5hZ2VkIGJ5IHdoYXQgZGV2aWNl DQo+ID4+PiByZXF1aXJlcy4NCj4gPg0KPiA+IFByb2JhYmx5IHllcy4NCj4gPg0KPiA+Pj4NCj4g Pj4+PiBUaGUgcGF0Y2hlcyBpbmNsdWRlZCBpbiB0aGlzIFJGQywgcHJvcG9zZSBhIG1lY2hhbmlz bSB3aGljaCB3b3VsZCBoZWxwDQo+ID4+Pj4gd2l0aCBtYW5hZ2luZyB3aGljaCBkcml2ZXJzIHJl bHkgb24gZm9yY2VmdWwgY29uZmlndXJhdGlvbiByZXN0b3JlLg0KPiA+Pj4+IERyaXZlcnMgY291 bGQgYWR2ZXJ0aXNlIGlmIGZvcmNlZnVsIGNvbmZpZ3VyYXRpb24gcmVzdG9yZSBpcyBuZWVkZWQN Cj4gPj4+PiB0aHJvdWdoIGBSVEVfRVRIX0RFVl8qX0ZPUkNFX1JFU1RPUkVgIGRldmljZSBmbGFn LiBJZiB0aGlzIGZsYWcgaXMNCj4gPj4+PiBzZXQsIHRoZW4gdGhlIGRyaXZlciBpbiBxdWVzdGlv biByZXF1aXJlcyBldGhkZXYgdG8gZm9yY2VmdWxseSByZXN0b3JlDQo+ID4+PiBjb25maWd1cmF0 aW9uLg0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gT0sgdG8gdXNlIGZsYWcgZm9yIGl0LCBidXQgbm90 IHN1cmUgYWJvdXQgdXNpbmcgJ2Rldl9pbmZvLT5kZXZfZmxhZ3MnDQo+ID4+PiAoUlRFX0VUSF9E RVZfKikgZm9yIHRoaXMsIGFzIHRoaXMgZmxhZyBpcyBzaGFyZWQgd2l0aCB1c2VyIGFuZCB0aGlz IGlzIGFsbCBkcGRrDQo+ID4+PiBpbnRlcm5hbC4NCj4gPj4+DQo+ID4+PiBXaGF0IGFib3V0IHRv IGhhdmUgYSBkZWRpY2F0ZWQgZmxhZyBmb3IgaXQ/IFdlIGNhbiBoYXZlIGEgZGVkaWNhdGVkIHNl dCBvZiBmbGFnDQo+ID4+PiB2YWx1ZXMgZm9yIHJlc3RvcmUuDQo+ID4+DQo+ID4+IEFncmVlZC4g V2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgdGhlIGZvbGxvd2luZz8NCj4gPg0KPiA+IEluc3RlYWQg b2YgZXhwb3NpbmcgdGhhdCwgY2FuIHdlIHByb2JhYmx5IG1ha2UgaXQgdHJhbnNwYXJlbnQgdG8g dGhlIHVzZXINCj4gPiBhbmQgcHJvYmFibHkgZXRoZGV2IGxheWVyIHRvbz8NCj4gPg0KPiANCj4g KzEgdG8gbWFrZSBpdCB0cmFuc3BhcmVudCB0byB1c2VyLCBidXQgbm90IHN1cmUgaWYgd2UgY2Fu IG1ha2UgaXQNCj4gdHJhbnNwYXJlbnQgdG8gZXRoZGV2IGxheWVyLg0KDQpKdXN0IHRvIGJlIGNs ZWFyOg0KTGV0IHNheSwgdXNpbmcgZXhhbXBsZSBmcm9tIGFib3ZlOiANCg0KIHJ0ZV9ldGhfZGV2 X3N0YXJ0KCkNCiAgICAgLSBDYWxsIGRldi0+ZGV2X29wcy0+ZGV2X3N0YXJ0KCkNCiAgICAgLSBD YWxsIGRldi0+ZGV2X29wcy0+bWFjX2FkZHJfc2V0KCkgLSBhcHBseSBkZWZhdWx0IE1BQyBhZGRy ZXNzDQogICAgIC0gQ2FsbCBkZXYtPmRldl9vcHMtPnByb21pc2N1b3VzX2VuYWJsZSgpDQogICAg IC0gQ2FsbCBkZXYtPmRldl9vcHMtPmFsbG11bHRpY2FzdF9lbmFibGUoKQ0KDQpXZSBwcm9iYWJs eSBjYW4gaW50cm9kdWNlIGV0aGRldiBpbnRlcm5hbCBmdW5jdGlvbiAoc3RpbGwgdmlzaWJsZSB0 byBQTURzKQ0KdGhhdCB3b3VsZCBkbyBsYXN0IDMgc3RlcHM6DQpldGhkZXZfcmVwbGF5X3VzZXJf Y29uZiguLi4pDQogICAgIC0gQ2FsbCBkZXYtPmRldl9vcHMtPm1hY19hZGRyX3NldCgpIC0gYXBw bHkgZGVmYXVsdCBNQUMgYWRkcmVzcw0KICAgICAtIENhbGwgZGV2LT5kZXZfb3BzLT5wcm9taXNj dW91c19lbmFibGUoKQ0KICAgICAtIENhbGwgZGV2LT5kZXZfb3BzLT5hbGxtdWx0aWNhc3RfZW5h YmxlKCkgDQoNCkFuZCBsZXQgUE1EIGl0c2VsZiB0byBkZWNpZGUgZG9lcyBpdCBuZWVkcyB0byBj YWxsIGl0IGF0IGRldl9zdGFydCgpIG9yIG5vdC4NClNvIGl0IHdpbGwgYmVjb21lOg0KcnRlX2V0 aF9kZXZfc3RhcnQoKQ0KICAgICAtIENhbGwgZGV2LT5kZXZfb3BzLT5kZXZfc3RhcnQoKQ0KCS1D YWxsIGV0aGRldl9yZXBsYXlfdXNlcl9jb25mKC4pDQogICAgIAkJLSBDYWxsIGRldi0+ZGV2X29w cy0+bWFjX2FkZHJfc2V0KCkgLSBhcHBseSBkZWZhdWx0IE1BQyBhZGRyZXNzDQogICAgIAkJLSBD YWxsIGRldi0+ZGV2X29wcy0+cHJvbWlzY3VvdXNfZW5hYmxlKCkNCiAgICAgCQktQ2FsbCBkZXYt PmRldl9vcHMtPmFsbG11bHRpY2FzdF9lbmFibGUoKQ0KDQpGb3IgUE1EcyB0aGF0IGRvIG5lZWQg dG8gcmVzdG9yZSB1c2VyIHByb3ZpZGVkIGNvbmZpZw0KQW5kIA0KcnRlX2V0aF9kZXZfc3RhcnQo KQ0KICAgICAtIENhbGwgZGV2LT5kZXZfb3BzLT5kZXZfc3RhcnQoKQ0KDQpGb3IgdGhvc2Ugd2hv IGRvIG5vdC4NCg0KPiBTdWdnZXN0ZWQgJ2ludGVybmFsX2ZsYWcnIGluICJzdHJ1Y3QgcnRlX2V0 aF9kZXZfZGF0YSIgY2FuIGJlIGNvbmZ1c2luZw0KPiBhbmQgb3BlbiB0byBpbnRlcnByZXRhdGlv biB3aGF0IHRvIHVzZSBpdCBmb3IgYW5kIGJ5IHRpbWUgYmVjb21lIHNvdXJjZQ0KPiBvZiBkZWZl Y3QuDQoNClllcywgc2FtZSB0aG91Z2h0cy4NCg0KPiBJbnN0ZWFkIHdoYXQgZG8geW91IHRoaW5r IHRvIGhhdmUgYSBzZXBhcmF0ZSwgZGVkaWNhdGVkIGRhdGEgc3RydWN0IGZvciBpdD8NCg0KSG1t Li4uIG5vdCBzdXJlIEkgdW5kZXJzdG9vZCB5b3UgaGVyZS4uLg0KDQo+IA0KPiA+IE1pZ2h0IGJl IHdlIGNhbiBtb3ZlIHRoaXMgcmVzdG9yYXRpb24gY29kZSBpbnRvIHRoZSBuZXcgZXRoZGV2IGhl bHBlciBmdW5jdGlvbiwoZXRoZGV2ZF91c2VyX2NvbmZpZ19yZXN0b3JlKCkgIG9yIHNvKQ0KPiA+ IHRoYXQgUE1EIGNhbiBpbnZva2UgZHVyaW5nIGl0cyBkZXZfc3RhcnQoKSBpZiBuZWVkZWQ/DQo+ ID4NCj4gPj4NCj4gPj4gI2RlZmluZSBSVEVfRVRIX0RFVl9JTlRFUk5BTF9QUk9NSVNDX0ZPUkNF X1JFU1RPUkUgUlRFX0JJVDMyKDApDQo+ID4+ICNkZWZpbmUgUlRFX0VUSF9ERVZfSU5URVJOQUxf QUxMTVVMVElfRk9SQ0VfUkVTVE9SRSBSVEVfQklUMzIoMSkNCj4gPj4gI2RlZmluZSBSVEVfRVRI X0RFVl9JTlRFUk5BTF9NQUNfQUREUl9GT1JDRV9SRVNUT1JFIFJURV9CSVQzMigyKQ0KPiA+Pg0K PiA+PiBzdHJ1Y3QgcnRlX2V0aF9kZXZfZGF0YSB7DQo+ID4+IAkvKiBzbmlwICovDQo+ID4+DQo+ ID4+IAl1aW50MzJfdCBkZXZfZmxhZ3M7DQo+ID4+DQo+ID4+IAkvKioNCj4gPj4gCSAqIEludGVy bmFsIGRldmljZSBjYXBhYmlsaXRpZXMsIHVzZWQgb25seSBieSBldGhkZXYgbGlicmFyeS4NCj4g Pj4gCSAqIENlcnRhaW4gZnVuY3Rpb25hbGl0aWVzIHByb3ZpZGVkIGJ5IHRoZSBsaWJyYXJ5IG1p Z2h0IGVuYWJsZWQvZGlzYWJsZWQsDQo+ID4+IAkgKiBiYXNlZCBvbiBkcml2ZXIgZXhwb3Npbmcg Y2VydGFpbiBjYXBhYmlsaXRpZXMuDQo+ID4+IAkgKi8NCj4gPj4gCXVpbnQzMl90IGludGVybmFs X2ZsYWdzOw0KPiA+Pg0KPiA+PiAJLyogc25pcCAqLw0KPiA+PiB9Ow0KPiA+Pg0KPiA+Pj4gQWxz byBwZXJoYXBzIHdlIGhhdmUgZ28gaW50byBkZXRhaWxzIHdoYXQgbmVlZHMgdG8gYmUgcmVzdG9y ZWQgYWZ0ZXIgJ3N0b3AnIGFuZA0KPiA+Pj4gd2hhdCBuZWVkcyB0byBiZSByZXN0b3JlZCBhZnRl ciAncmVzZXQnIGFuZCB1c2Ugc2ltaWxhciBtZWNoYW5pc20gZXRjLi4uDQo+ID4+DQo+ID4+IEkg dGhpbmsgd2Ugc2hvdWxkIGxvb2sgaW50byB0aGF0Lg0KPiA+PiBBbnkgJ2NvZGlmaWNhdGlvbicg b2Ygc2VtYW50aWNzIGJldHdlZW4gZHJpdmVycyBhbmQgZXRoZGV2IGxpYnJhcnkgaXMgZ29vZCBp biBteSBvcGluaW9uLg0KPiA+Pg0KPiA+PiBBdCBsZWFzdCByaWdodCBub3csIGV0aGRldiBkb2Vz IG5vdCBjaGFuZ2UgYW55IGNvbmZpZ3VyYXRpb24gaW4gJ3N0b3AnIGFuZCAncmVzZXQnIGZyb20g d2hhdCBJIHNlZS4NCj4gPj4gQnV0IHRoYXQncyBvbiBsaWJyYXJ5IHNpZGUgb25seS4NCj4gPj4N Cj4gPj4+PiBUaGlzIHdheSwgaWYgd2Ugd291bGQgY29uY2x1ZGUgdGhhdCBpdCBtYWtlcyBzZW5z ZSBmb3IgLmRldl9zdGFydCgpIHRvDQo+ID4+Pj4gaGFuZGxlIGFsbCBzdGFydGluZyBjb25maWd1 cmF0aW9uIGFzcGVjdHMsIHdlIGNvdWxkIHRyYWNrIHdoaWNoIGRyaXZlcnMgc3RpbGwgcmVseQ0K PiA+Pj4gb24gY29uZmlndXJhdGlvbiByZXN0b3JlLg0KPiA+Pj4+DQo+ID4+Pj4gRGFyaXVzeiBT b3Nub3dza2kgKDQpOg0KPiA+Pj4+ICAgZXRoZGV2OiByZXdvcmsgY29uZmlnIHJlc3RvcmUNCj4g Pj4+PiAgIGV0aGRldjogb21pdCBwcm9taXNjdW91cyBjb25maWcgcmVzdG9yZSBpZiBub3QgcmVx dWlyZWQNCj4gPj4+PiAgIGV0aGRldjogb21pdCBhbGwgbXVsdGljYXN0IGNvbmZpZyByZXN0b3Jl IGlmIG5vdCByZXF1aXJlZA0KPiA+Pj4+ICAgZXRoZGV2OiBvbWl0IE1BQyBhZGRyZXNzIHJlc3Rv cmUgaWYgbm90IHJlcXVpcmVkDQo+ID4+Pj4NCj4gPj4+PiAgbGliL2V0aGRldi9ydGVfZXRoZGV2 LmMgfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0NCj4gPj4+PiAg bGliL2V0aGRldi9ydGVfZXRoZGV2LmggfCAxOCArKysrKysrKysrKysrKysrKysNCj4gPj4+PiAg MiBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPiA+Pj4+ DQo+ID4+Pj4gLS0NCj4gPj4+PiAyLjM5LjUNCj4gPj4+Pg0KPiA+DQoNCg==