Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp176185pxf; Wed, 17 Mar 2021 02:22:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxZ/sEF69f+jXrMlNdXklqsb/26R4x6neep7LIFrXi+sy7iOZgqfHlLz0rO8SoACwU2SXMN X-Received: by 2002:a05:6402:2215:: with SMTP id cq21mr41809967edb.281.1615972957056; Wed, 17 Mar 2021 02:22:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615972957; cv=none; d=google.com; s=arc-20160816; b=bIPU/hU+crsYafcR8/FDTVA6acz+E/7AA5le3jqiZgNmlY+R7cPfsdQuktTSpbID4m 6LO7WXMn7E0IHgBBztKqQFhA1H02d0J3VeuBuVk/tWkwJ1t7OKgZcux7aM8mdMLqd6Nt orJYxAtxL8Ws+tEyVP4nBVEcscnjoZfK7Y2ocNtrdx+4N/Q9I/i7v3FNs3FDjwh3Tk0a tgm1ZNGDfnU+RKq9N3s/KhM5PY2H4/AqfVt+kGiUo7oQMtW2bPfIYtVQWhFJxpkC/Rd6 EATw3fQLdhEOTpvvWdc+/KLX0A7FLPhQyyQG13IQpZ1fV71lP+D2UndAW3bC9eeOJ+vm ZvmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=89TOnIbc5BSPne/hF2LssWfHsS88lVuZDjaTJmIPAxY=; b=FNSgffQ2PJcaYdh1ihjKe3Aip1c/aaZ2vq4o81GVV5y4vKNVwqrr9KNGIxlxS4zahy oqyViHJGiXry1jRfaAEWJXwoEeQJLvbzSLHQTSGGChP3Jnt8nK3GePdXIAsWBqx/c82m x6yR4IzfHmq9fbnzOCENBpxinLFIk+nsplWQciOdHHWNup1N3XkO/w2IWjdMnNQqnHqx kwT71EKvmI+H9ndgnBXbVgg+Kh8lPiMk4c5vU7lfpoQmmFXXk0l1Qu//OsvpWeBrwmsW 58MF4tUlpTsn3zj/hGktUexTHi9AczHdrgTlQ1G66MI8e7ReTiXtD9ZjDqPsisUFWvX/ DcJw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l7si7780586edc.307.2021.03.17.02.22.14; Wed, 17 Mar 2021 02:22:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229636AbhCQJUz (ORCPT + 99 others); Wed, 17 Mar 2021 05:20:55 -0400 Received: from frasgout.his.huawei.com ([185.176.79.56]:2706 "EHLO frasgout.his.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229847AbhCQJUm (ORCPT ); Wed, 17 Mar 2021 05:20:42 -0400 Received: from fraeml737-chm.china.huawei.com (unknown [172.18.147.226]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4F0kv151Bpz6801V; Wed, 17 Mar 2021 17:12:13 +0800 (CST) Received: from lhreml718-chm.china.huawei.com (10.201.108.69) by fraeml737-chm.china.huawei.com (10.206.15.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 17 Mar 2021 10:20:38 +0100 Received: from lhreml715-chm.china.huawei.com (10.201.108.66) by lhreml718-chm.china.huawei.com (10.201.108.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Wed, 17 Mar 2021 09:20:37 +0000 Received: from lhreml715-chm.china.huawei.com ([10.201.108.66]) by lhreml715-chm.china.huawei.com ([10.201.108.66]) with mapi id 15.01.2106.013; Wed, 17 Mar 2021 09:20:37 +0000 From: Shiju Jose To: James Morse CC: "open list:EDAC-CORE" , ACPI Devel Maling List , Linux Kernel Mailing List , Tony Luck , "Rafael J. Wysocki" , Len Brown , Robert Richter , Mauro Carvalho Chehab , "linuxarm@openeuler.org" , "xuwei (O)" , Jonathan Cameron , "John Garry" , tanxiaofei , Shameerali Kolothum Thodi , "Salil Mehta" Subject: RE: [PATCH v2 1/2] EDAC/ghes: Add EDAC device for reporting the CPU cache errors Thread-Topic: [PATCH v2 1/2] EDAC/ghes: Add EDAC device for reporting the CPU cache errors Thread-Index: AQHW9iQpSbBh7UnMtEegNog4D6xFCKpJj64AgD6gOHA= Date: Wed, 17 Mar 2021 09:20:37 +0000 Message-ID: <478ec17f31f14307ae5edb39a70d51c1@huawei.com> References: <20210129094832.2090-1-shiju.jose@huawei.com> <20210129094832.2090-2-shiju.jose@huawei.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.47.84.107] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgSmFtZXMsDQoNCkNhbiB5b3UgcmV2aWV3IGFuZCBoZWxwIHRvIG1lcmdlIHRoaXMgcGF0Y2g/ DQoNClRoYW5rcywNClNoaWp1DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206 IFJhZmFlbCBKLiBXeXNvY2tpIFttYWlsdG86cmFmYWVsQGtlcm5lbC5vcmddDQo+U2VudDogMDUg RmVicnVhcnkgMjAyMSAxMjo1NA0KPlRvOiBTaGlqdSBKb3NlIDxzaGlqdS5qb3NlQGh1YXdlaS5j b20+OyBCb3Jpc2xhdiBQZXRrb3YgPGJwQGFsaWVuOC5kZT47DQo+SmFtZXMgTW9yc2UgPGphbWVz Lm1vcnNlQGFybS5jb20+DQo+Q2M6IG9wZW4gbGlzdDpFREFDLUNPUkUgPGxpbnV4LWVkYWNAdmdl ci5rZXJuZWwub3JnPjsgQUNQSSBEZXZlbCBNYWxpbmcNCj5MaXN0IDxsaW51eC1hY3BpQHZnZXIu a2VybmVsLm9yZz47IExpbnV4IEtlcm5lbCBNYWlsaW5nIExpc3QgPGxpbnV4LQ0KPmtlcm5lbEB2 Z2VyLmtlcm5lbC5vcmc+OyBUb255IEx1Y2sgPHRvbnkubHVja0BpbnRlbC5jb20+OyBSYWZhZWwg Si4gV3lzb2NraQ0KPjxyandAcmp3eXNvY2tpLm5ldD47IExlbiBCcm93biA8bGVuYkBrZXJuZWwu b3JnPjsgUm9iZXJ0IFJpY2h0ZXINCj48cnJpY2h0ZXJAbWFydmVsbC5jb20+OyBNYXVybyBDYXJ2 YWxobyBDaGVoYWINCj48bWNoZWhhYitodWF3ZWlAa2VybmVsLm9yZz47IGxpbnV4YXJtQG9wZW5l dWxlci5vcmc7IHh1d2VpIChPKQ0KPjx4dXdlaTVAaHVhd2VpLmNvbT47IEpvbmF0aGFuIENhbWVy b24NCj48am9uYXRoYW4uY2FtZXJvbkBodWF3ZWkuY29tPjsgSm9obiBHYXJyeSA8am9obi5nYXJy eUBodWF3ZWkuY29tPjsNCj50YW54aWFvZmVpIDx0YW54aWFvZmVpQGh1YXdlaS5jb20+OyBTaGFt ZWVyYWxpIEtvbG90aHVtIFRob2RpDQo+PHNoYW1lZXJhbGkua29sb3RodW0udGhvZGlAaHVhd2Vp LmNvbT47IFNhbGlsIE1laHRhDQo+PHNhbGlsLm1laHRhQGh1YXdlaS5jb20+DQo+U3ViamVjdDog UmU6IFtQQVRDSCB2MiAxLzJdIEVEQUMvZ2hlczogQWRkIEVEQUMgZGV2aWNlIGZvciByZXBvcnRp bmcgdGhlDQo+Q1BVIGNhY2hlIGVycm9ycw0KPg0KPk9uIEZyaSwgSmFuIDI5LCAyMDIxIGF0IDE6 MDMgUE0gU2hpanUgSm9zZSA8c2hpanUuam9zZUBodWF3ZWkuY29tPiB3cm90ZToNCj4+DQo+PiBD UFUgTDIgY2FjaGUgY29ycmVjdGVkIGVycm9ycyBhcmUgZGV0ZWN0ZWQgb2NjYXNpb25hbGx5IG9u IGZldyBvZiBvdXINCj4+IEFSTTY0IGhhcmR3YXJlIGJvYXJkcy4gVGhvdWdoIGl0IGlzIHJhcmUs IHRoZSBwcm9iYWJpbGl0eSBvZiB0aGUgQ1BVDQo+PiBjYWNoZSBlcnJvcnMgZnJlcXVlbnRseSBv Y2N1cnJpbmcgY2FuJ3QgYmUgYXZvaWRlZC4gVGhlIGVhcmxpZXINCj4+IGZhaWx1cmUgZGV0ZWN0 aW9uIGJ5IG1vbml0b3JpbmcgdGhlIGNhY2hlIGNvcnJlY3RlZCBlcnJvcnMgZm9yIHRoZQ0KPj4g ZnJlcXVlbnQgb2NjdXJyZW5jZXMgYW5kIHRha2luZyBwcmV2ZW50aXZlIGFjdGlvbiBjb3VsZCBw cmV2ZW50IG1vcmUNCj4+IHNlcmlvdXMgaGFyZHdhcmUgZmF1bHRzLg0KPj4NCj4+IE9uIEludGVs IGFyY2hpdGVjdHVyZXMsIGNhY2hlIGNvcnJlY3RlZCBlcnJvcnMgYXJlIHJlcG9ydGVkIGFuZCB0 aGUNCj4+IGFmZmVjdGVkIGNvcmVzIGFyZSBvZmZsaW5lZCBpbiB0aGUgYXJjaGl0ZWN0dXJlIHNw ZWNpZmljIG1ldGhvZC4NCj4+IGh0dHA6Ly93d3cubWNlbG9nLm9yZy9jYWNoZS5odG1sDQo+Pg0K Pj4gSG93ZXZlciBmb3IgdGhlIGZpcm13YXJlLWZpcnN0IGVycm9yIHJlcG9ydGluZywgc3BlY2lm aWNhbGx5IG9uDQo+PiBBUk02NCBhcmNoaXRlY3R1cmVzLCB0aGVyZSBpcyBubyBwcm92aXNpb24g cHJlc2VudCBmb3IgcmVwb3J0aW5nIHRoZQ0KPj4gY2FjaGUgY29ycmVjdGVkIGVycm9yIGNvdW50 IHRvIHRoZSB1c2VyLXNwYWNlIGFuZCB0YWtpbmcgcHJldmVudGl2ZQ0KPj4gYWN0aW9uIHN1Y2gg YXMgb2ZmbGluZSB0aGUgYWZmZWN0ZWQgY29yZXMuDQo+Pg0KPj4gRm9yIHRoaXMgcHVycG9zZSwg aXQgd2FzIHN1Z2dlc3RlZCB0byBjcmVhdGUgdGhlIENQVSBFREFDIGRldmljZSBmb3INCj4+IHRo ZSBDUFUgY2FjaGVzIGZvciByZXBvcnRpbmcgdGhlIGNhY2hlIGVycm9yIGNvdW50IGZvciB0aGUN Cj4+IGZpcm13YXJlLWZpcnN0IGVycm9yIHJlcG9ydGluZy4NCj4+IFRoZSBFREFDIGRldmljZSBi bG9ja3MgZm9yIHRoZSBDUFUgY2FjaGVzIHdvdWxkIGJlIGNyZWF0ZWQgYmFzZWQgb24NCj4+IHRo ZSBjYWNoZSBpbmZvcm1hdGlvbiBvYnRhaW5lZCBmcm9tIHRoZSBjcHVfY2FjaGVpbmZvLg0KPj4N Cj4+IFVzZXItc3BhY2UgYXBwbGljYXRpb24gY291bGQgbW9uaXRvciB0aGUgcmVjb3JkZWQgY29y cmVjdGVkIGVycm9yDQo+PiBjb3VudCBmb3IgdGhlIGVhcmxpZXIgaGFyZHdhcmUgZmFpbHVyZSBk ZXRlY3Rpb24gYW5kIGNvdWxkIHRha2UNCj4+IHByZXZlbnRpdmUgYWN0aW9uLCBzdWNoIGFzIG9m ZmxpbmUgdGhlIGNvcnJlc3BvbmRpbmcgQ1BVIGNvcmUvcy4NCj4+DQo+PiBBZGQgYW4gRURBQyBk ZXZpY2UgYW5kIGRldmljZSBibG9ja3MgZm9yIHRoZSBDUFUgY2FjaGVzIGJhc2VkIG9uIHRoZQ0K Pj4gY2FjaGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgY3B1X2NhY2hlaW5mby4NCj4+IFRoZSBjYWNo ZSdzIGNvcnJlY3RlZCBlcnJvciBjb3VudCB3b3VsZCBiZSBzdG9yZWQgaW4gdGhlDQo+PiAvc3lz L2RldmljZXMvc3lzdGVtL2VkYWMvY3B1L2NwdSovY2FjaGUqL2NlX2NvdW50Lg0KPj4NCj4+IElz c3VlcyBhbmQgcG9zc2libGUgc29sdXRpb25zLA0KPj4gMS5DYWNoZSBpbmZvIGlzIG5vdCBhdmFp bGFibGUgZm9yIHRoZSBDUFVzIG9mZmxpbmUuDQo+PiAgRURBQyBkZXZpY2UgaW50ZXJmYWNlIHJl cXVpcmVzIGNyZWF0aW5nIEVEQUMgZGV2aWNlICBhbmQgZGV2aWNlDQo+PiBibG9ja3MgdG9nZXRo ZXIuIEl0IHJlcXVpcmVzIHRoZSBudW1iZXIgIG9mIGNhY2hlcyBwZXIgQ1BVIGFzIGRldmljZQ0K Pj4gYmxvY2tzIGZvciB0aGUgY3JlYXRpb24uDQo+PiAgSG93ZXZlciwgdGhpcyBpbmZvIGlzIG5v dCBhdmFpbGFibGUgZm9yIHRoZSAgb2ZmbGluZWQgQ1BVcy4NCj4+IFRlc3RlZCBTb2x1dGlvbjog RmluZCB0aGUgbWF4IG51bWJlciBvZiBjYWNoZXMgYW1vbmcNCj4+ICAgb25saW5lIENQVXMsIGNy ZWF0ZSB0aGUgRURBQyBkZXZpY2UgZm9yIENQVXMgY2FjaGVzDQo+PiAgIGFuZCBnZXQgYW5kIHBv cHVsYXRlIHRoZSBjYWNoZSBpbmZvIGZvciBhbiBvZmZsaW5lDQo+PiAgIENQVSBsYXRlciwgd2hl biB0aGUgZXJyb3IgaXMgcmVwb3J0ZWQgb24gdGhhdCBDUFUgZm9yDQo+PiAgIHRoZSBmaXJzdCB0 aW1lLg0KPj4NCj4+IDIuIFJlcG9ydGluZyBlcnJvciBjb3VudCBmb3IgdGhlIFNoYXJlZCBjYWNo ZXMuDQo+PiAgICBUaGVyZSBhcmUgZmV3IHBvc3NpYmxlIHNvbHV0aW9ucywNCj4+IFRlc3RlZCBT b2x1dGlvbjoNCj4+ICAgICBLZXJuZWwgd291bGQgcmVwb3J0IGEgbmV3IGVycm9yIGNvdW50IGZv ciBhIHNoYXJlZCBjYWNoZQ0KPj4gICAgIHRocm91Z2ggdGhlIEVEQUMgZGV2aWNlIGJsb2NrIGZv ciB0aGF0IENQVSBvbiB3aGljaCB0aGUgZXJyb3INCj4+ICAgICAgICAgaXMgcmVwb3J0ZWQuIFRo ZW4gdXNlci1zcGFjZSBhcHBsaWNhdGlvbiB3b3VsZCBzdW0gdGhlIHRvdGFsDQo+PiAgICAgICAg IGVycm9yIGNvdW50IGZyb20gRURBQyBkZXZpY2UgYmxvY2sgb2YgYWxsIHRoZSBDUFVzIGluIHRo ZQ0KPj4gICAgICAgICBzaGFyZWQgQ1BVIGxpc3Qgb2YgdGhhdCBzaGFyZWQgY2FjaGUuDQo+Pg0K Pj4gRm9yIHRoZSBmaXJtd2FyZS1maXJzdCBlcnJvciByZXBvcnRpbmcsIGFkZCBhbiBpbnRlcmZh Y2UgaW4gdGhlDQo+PiBnaGVzX2VkYWMgYWxsb3cgdG8gcmVwb3J0IGEgQ1BVIGNvcnJlY3RlZCBl cnJvciBjb3VudC4NCj4+DQo+PiBTdWdnZXN0ZWQtYnk6IEphbWVzIE1vcnNlIDxqYW1lcy5tb3Jz ZUBhcm0uY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogU2hpanUgSm9zZSA8c2hpanUuam9zZUBodWF3 ZWkuY29tPg0KPg0KPkJvcmlzLCBKYW1lcywgSSBuZWVkIHlvdXIgaW5wdXQgaGVyZS4NCj4NCj4+ IC0tLQ0KPj4gIERvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1lZGFjIHwg IDE1ICsrDQo+PiAgZHJpdmVycy9hY3BpL2FwZWkvZ2hlcy5jICAgICAgICAgICAgICAgICAgICAg fCAgIDggKy0NCj4+ICBkcml2ZXJzL2VkYWMvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAxMiArKw0KPj4gIGRyaXZlcnMvZWRhYy9naGVzX2VkYWMuYyAgICAgICAgICAgICAgICAg ICAgIHwgMTg2ICsrKysrKysrKysrKysrKysrKysNCj4+ICBpbmNsdWRlL2FjcGkvZ2hlcy5oICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyNyArKysNCj4+ICA1IGZpbGVzIGNoYW5nZWQsIDI0 NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL0RvY3Vt ZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1lZGFjDQo+PiBiL0RvY3VtZW50YXRp b24vQUJJL3Rlc3Rpbmcvc3lzZnMtZGV2aWNlcy1lZGFjDQo+PiBpbmRleCAyNTZhOWU5OTBjMGIu LjU2YTE4YjBhZjQxOSAxMDA2NDQNCj4+IC0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcv c3lzZnMtZGV2aWNlcy1lZGFjDQo+PiArKysgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5 c2ZzLWRldmljZXMtZWRhYw0KPj4gQEAgLTE1NSwzICsxNTUsMTggQEAgRGVzY3JpcHRpb246ICAg ICAgIFRoaXMgYXR0cmlidXRlIGZpbGUgZGlzcGxheXMgdGhlDQo+dG90YWwgY291bnQgb2YgdW5j b3JyZWN0YWJsZQ0KPj4gICAgICAgICAgICAgICAgIGVycm9ycyB0aGF0IGhhdmUgb2NjdXJyZWQg b24gdGhpcyBESU1NLiBJZiBwYW5pY19vbl91ZSBpcyBzZXQsIHRoaXMNCj4+ICAgICAgICAgICAg ICAgICBjb3VudGVyIHdpbGwgbm90IGhhdmUgYSBjaGFuY2UgdG8gaW5jcmVtZW50LCBzaW5jZSBF REFDIHdpbGwgcGFuaWMNCj50aGUNCj4+ICAgICAgICAgICAgICAgICBzeXN0ZW0NCj4+ICsNCj4+ ICtXaGF0OiAgICAgICAgICAgL3N5cy9kZXZpY2VzL3N5c3RlbS9lZGFjL2NwdS9jcHUqL2NhY2hl Ki9jZV9jb3VudA0KPj4gK0RhdGU6ICAgICAgICAgICBEZWNlbWJlciAyMDIwDQo+PiArQ29udGFj dDogICAgICAgIGxpbnV4LWVkYWNAdmdlci5rZXJuZWwub3JnDQo+PiArRGVzY3JpcHRpb246ICAg IFRoaXMgYXR0cmlidXRlIGZpbGUgZGlzcGxheXMgdGhlIHRvdGFsIGNvdW50IG9mIGNvcnJlY3Rh YmxlDQo+PiArICAgICAgICAgICAgICAgIGVycm9ycyB0aGF0IGhhdmUgb2NjdXJyZWQgb24gdGhp cyBDUFUgY2FjaGUuIFRoaXMgY291bnQgaXMgdmVyeQ0KPmltcG9ydGFudA0KPj4gKyAgICAgICAg ICAgICAgICB0byBleGFtaW5lLiBDRXMgcHJvdmlkZSBlYXJseSBpbmRpY2F0aW9ucyB0aGF0IGEg Y2FjaGUgaXMNCj5iZWdpbm5pbmcNCj4+ICsgICAgICAgICAgICAgICAgdG8gZmFpbC4gVGhpcyBj b3VudCBmaWVsZCBzaG91bGQgYmUgbW9uaXRvcmVkIGZvciBub24temVybyB2YWx1ZXMNCj4+ICsg ICAgICAgICAgICAgICAgYW5kIHJlcG9ydCBzdWNoIGluZm9ybWF0aW9uIHRvIHRoZSBzeXN0ZW0g YWRtaW5pc3RyYXRvci4NCj4+ICsNCj4+ICtXaGF0OiAgICAgICAgICAgL3N5cy9kZXZpY2VzL3N5 c3RlbS9lZGFjL2NwdS9jcHUqL2NhY2hlKi91ZV9jb3VudA0KPj4gK0RhdGU6ICAgICAgICAgICBE ZWNlbWJlciAyMDIwDQo+PiArQ29udGFjdDogICAgICAgIGxpbnV4LWVkYWNAdmdlci5rZXJuZWwu b3JnDQo+PiArRGVzY3JpcHRpb246ICAgIFRoaXMgYXR0cmlidXRlIGZpbGUgZGlzcGxheXMgdGhl IHRvdGFsIGNvdW50IG9mIHVuY29ycmVjdGFibGUNCj4+ICsgICAgICAgICAgICAgICAgZXJyb3Jz IHRoYXQgaGF2ZSBvY2N1cnJlZCBvbiB0aGlzIENQVSBjYWNoZS4NCj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2FjcGkvYXBlaS9naGVzLmMgYi9kcml2ZXJzL2FjcGkvYXBlaS9naGVzLmMgaW5kZXgN Cj4+IGZjZTdhZGUyYWJhOS4uMTM5NTQwZjJjOGY0IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9h Y3BpL2FwZWkvZ2hlcy5jDQo+PiArKysgYi9kcml2ZXJzL2FjcGkvYXBlaS9naGVzLmMNCj4+IEBA IC0xNDUyLDQgKzE0NTIsMTAgQEAgc3RhdGljIGludCBfX2luaXQgZ2hlc19pbml0KHZvaWQpDQo+ PiAgZXJyOg0KPj4gICAgICAgICByZXR1cm4gcmM7DQo+PiAgfQ0KPj4gLWRldmljZV9pbml0Y2Fs bChnaGVzX2luaXQpOw0KPj4gKw0KPj4gKy8qDQo+PiArICogZGV2aWNlX2luaXRjYWxsX3N5bmMo KSBpcyBhZGRlZCBpbnN0ZWFkIG9mIHRoZSBkZXZpY2VfaW5pdGNhbGwoKQ0KPj4gKyAqIGJlY2F1 c2UgdGhlIENQVSBjYWNoZWluZm8gc2hvdWxkIGJlIHBvcHVsYXRlZCBhbmQgaXMgcmVxdWlyZWQg Zm9yDQo+PiArICogYWRkaW5nIHRoZSBDUFUgY2FjaGUgZWRhYyBkZXZpY2UgaW4gdGhlIGdoZXNf ZWRhY19yZWdpc3RlcigpLg0KPj4gKyAqLw0KPj4gK2RldmljZV9pbml0Y2FsbF9zeW5jKGdoZXNf aW5pdCk7DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9lZGFjL0tjb25maWcgYi9kcml2ZXJzL2Vk YWMvS2NvbmZpZyBpbmRleA0KPj4gODFjNDI2NjRmMjFiLi4zOWZiNTNhYTljZDkgMTAwNjQ0DQo+ PiAtLS0gYS9kcml2ZXJzL2VkYWMvS2NvbmZpZw0KPj4gKysrIGIvZHJpdmVycy9lZGFjL0tjb25m aWcNCj4+IEBAIC03NCw2ICs3NCwxOCBAQCBjb25maWcgRURBQ19HSEVTDQo+Pg0KPj4gICAgICAg ICAgIEluIGRvdWJ0LCBzYXkgJ1knLg0KPj4NCj4+ICtjb25maWcgRURBQ19HSEVTX0NQVV9DQUNI RV9FUlJPUg0KPj4gKyAgICAgICBib29sICJFREFDIGRldmljZSBmb3IgcmVwb3J0aW5nIGZpcm13 YXJlLWZpcnN0IEJJT1MgZGV0ZWN0ZWQgQ1BVDQo+Y2FjaGUgZXJyb3IgY291bnQiDQo+PiArICAg ICAgIGRlcGVuZHMgb24gRURBQ19HSEVTDQo+PiArICAgICAgIGRlcGVuZHMgb24gKEFSTTY0IHx8 IENPTVBJTEVfVEVTVCkNCj4+ICsgICAgICAgaGVscA0KPj4gKyAgICAgICAgIEVEQUMgZGV2aWNl IGZvciB0aGUgZmlybXdhcmUtZmlyc3QgQklPUyBkZXRlY3RlZCBDUFUgY2FjaGUgZXJyb3INCj5j b3VudCwNCj4+ICsgICAgICAgICByZXBvcnRlZCB2aWEgQUNQSSBBUEVJL0dIRVMuIEJ5IGVuYWJs aW5nIHRoaXMgb3B0aW9uLCBFREFDIGRldmljZQ0KPmZvcg0KPj4gKyAgICAgICAgIHRoZSBDUFUg aGllcmFyY2h5IGFuZCBlZGFjIGRldmljZSBibG9ja3MgZm9yIHRoZSBjYWNoZXMgd291bGQgYmUN Cj5jcmVhdGVkLg0KPj4gKyAgICAgICAgIFRoZSBjYWNoZSBlcnJvciBjb3VudCBpcyBzaGFyZWQg d2l0aCB0aGUgdXNlcnNwYWNlIHZpYSB0aGUgQ1BVIEVEQUMNCj4+ICsgICAgICAgICBkZXZpY2Un cyBzeXNmcyBpbnRlcmZhY2UuIFRoaXMgb3B0aW9uIGlzIGFyY2hpdGVjdXJlIGluZGVwZW5kZW50 DQo+dGhvdWdoDQo+PiArICAgICAgICAgY3VycmVudGx5IGl0IGlzIHRlc3RlZCBhbmQgZW5hYmxl ZCBmb3IgQVJNNjQgb25seS4NCj4+ICsNCj4+ICBjb25maWcgRURBQ19BTUQ2NA0KPj4gICAgICAg ICB0cmlzdGF0ZSAiQU1ENjQgKE9wdGVyb24sIEF0aGxvbjY0KSINCj4+ICAgICAgICAgZGVwZW5k cyBvbiBBTURfTkIgJiYgRURBQ19ERUNPREVfTUNFIGRpZmYgLS1naXQNCj4+IGEvZHJpdmVycy9l ZGFjL2doZXNfZWRhYy5jIGIvZHJpdmVycy9lZGFjL2doZXNfZWRhYy5jIGluZGV4DQo+PiA2ZDFk ZGVjYmYwZGEuLjQwMGI1MGJlMGMzMyAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZWRhYy9naGVz X2VkYWMuYw0KPj4gKysrIGIvZHJpdmVycy9lZGFjL2doZXNfZWRhYy5jDQo+PiBAQCAtMTIsNiAr MTIsOSBAQA0KPj4gICNpbmNsdWRlIDxhY3BpL2doZXMuaD4NCj4+ICAjaW5jbHVkZSA8bGludXgv ZWRhYy5oPg0KPj4gICNpbmNsdWRlIDxsaW51eC9kbWkuaD4NCj4+ICsjaWYgZGVmaW5lZChDT05G SUdfRURBQ19HSEVTX0NQVV9DQUNIRV9FUlJPUikNCj4+ICsjaW5jbHVkZSA8bGludXgvY2FjaGVp bmZvLmg+DQo+PiArI2VuZGlmDQo+PiAgI2luY2x1ZGUgImVkYWNfbW9kdWxlLmgiDQo+PiAgI2lu Y2x1ZGUgPHJhcy9yYXNfZXZlbnQuaD4NCj4+DQo+PiBAQCAtNTcsNiArNjAsMjEgQEAgbW9kdWxl X3BhcmFtKGZvcmNlX2xvYWQsIGJvb2wsIDApOw0KPj4NCj4+ICBzdGF0aWMgYm9vbCBzeXN0ZW1f c2Nhbm5lZDsNCj4+DQo+PiArI2lmIGRlZmluZWQoQ09ORklHX0VEQUNfR0hFU19DUFVfQ0FDSEVf RVJST1IpDQo+PiArc3RydWN0IGdoZXNfZWRhY19jcHVfYmxvY2sgew0KPj4gKyAgICAgICBpbnQg Y3B1Ow0KPj4gKyAgICAgICB1OCBsZXZlbDsNCj4+ICsgICAgICAgdTggdHlwZTsNCj4+ICsgICAg ICAgaW50IGJsb2NrX25yOw0KPj4gKyAgICAgICBib29sIGluZm9fcG9wdWxhdGVkOw0KPj4gK307 DQo+PiArDQo+PiArc3RhdGljIHN0cnVjdCBnaGVzX2VkYWNfY3B1X2Jsb2NrIF9fcGVyY3B1ICpl ZGFjX2NwdV9ibG9ja19saXN0Ow0KPj4gKw0KPj4gK3N0YXRpYyBzdHJ1Y3QgZWRhY19kZXZpY2Vf Y3RsX2luZm8gKmNwdV9lZGFjX2Rldjsgc3RhdGljIHVuc2lnbmVkIGludA0KPj4gK251bV9jYWNo ZXNfcGVyX2NwdTsgI2VuZGlmDQo+PiArDQo+PiAgLyogTWVtb3J5IERldmljZSAtIFR5cGUgMTcg b2YgU01CSU9TIHNwZWMgKi8gIHN0cnVjdA0KPm1lbWRldl9kbWlfZW50cnkNCj4+IHsNCj4+ICAg ICAgICAgdTggdHlwZTsNCj4+IEBAIC0yMjUsNiArMjQzLDE2NCBAQCBzdGF0aWMgdm9pZCBlbnVt ZXJhdGVfZGltbXMoY29uc3Qgc3RydWN0DQo+ZG1pX2hlYWRlciAqZGgsIHZvaWQgKmFyZykNCj4+ ICAgICAgICAgaHctPm51bV9kaW1tcysrOw0KPj4gIH0NCj4+DQo+PiArI2lmIGRlZmluZWQoQ09O RklHX0VEQUNfR0hFU19DUFVfQ0FDSEVfRVJST1IpDQo+PiArc3RhdGljIHZvaWQgZ2hlc19lZGFj X2dldF9jcHVfY2FjaGVpbmZvKHZvaWQpIHsNCj4+ICsgICAgICAgaW50IGNwdTsNCj4+ICsgICAg ICAgc3RydWN0IGNwdV9jYWNoZWluZm8gKnRoaXNfY3B1X2NpOw0KPj4gKw0KPj4gKyAgICAgICAv Kg0KPj4gKyAgICAgICAgKiBGaW5kIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjYWNoZXMgcHJlc2Vu dCBpbiB0aGUgQ1BVIGhlaXJhcmNoeQ0KPj4gKyAgICAgICAgKiBhbW9uZyB0aGUgb25saW5lIENQ VXMuDQo+PiArICAgICAgICAqLw0KPj4gKyAgICAgICBmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkg ew0KPj4gKyAgICAgICAgICAgICAgIHRoaXNfY3B1X2NpID0gZ2V0X2NwdV9jYWNoZWluZm8oY3B1 KTsNCj4+ICsgICAgICAgICAgICAgICBpZiAoIXRoaXNfY3B1X2NpKQ0KPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgY29udGludWU7DQo+PiArICAgICAgICAgICAgICAgaWYgKG51bV9jYWNoZXNf cGVyX2NwdSA8IHRoaXNfY3B1X2NpLT5udW1fbGVhdmVzKQ0KPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgbnVtX2NhY2hlc19wZXJfY3B1ID0gdGhpc19jcHVfY2ktPm51bV9sZWF2ZXM7DQo+PiAr ICAgICAgIH0NCj4+ICt9DQo+PiArDQo+PiArc3RhdGljICBpbnQgZ2hlc19lZGFjX2FkZF9jcHVf ZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikgew0KPj4gKyAgICAgICBpbnQgcmM7DQo+PiArDQo+ PiArICAgICAgIGNwdV9lZGFjX2RldiA9IGVkYWNfZGV2aWNlX2FsbG9jX2N0bF9pbmZvKDAsICJj cHUiLA0KPm51bV9wb3NzaWJsZV9jcHVzKCksDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJjYWNoZSIsIG51bV9jYWNoZXNfcGVyX2NwdSwgMCwg TlVMTCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMCwgZWRhY19kZXZpY2VfYWxsb2NfaW5kZXgoKSk7DQo+PiArICAgICAgIGlmICghY3B1X2Vk YWNfZGV2KSB7DQo+PiArICAgICAgICAgICAgICAgcHJfd2FybigiZ2hlcy1lZGFjIGNwdSBlZGFj IGRldmljZSByZWdpc3RyYXRpb24gZmFpbGVkXG4iKTsNCj4+ICsgICAgICAgICAgICAgICByZXR1 cm4gLUVOT01FTTsNCj4+ICsgICAgICAgfQ0KPj4gKw0KPj4gKyAgICAgICBjcHVfZWRhY19kZXYt PmRldiA9IGRldjsNCj4+ICsgICAgICAgY3B1X2VkYWNfZGV2LT5jdGxfbmFtZSA9ICJjcHVfZWRh Y19kZXYiOw0KPj4gKyAgICAgICBjcHVfZWRhY19kZXYtPmRldl9uYW1lID0gImdoZXMiOw0KPj4g KyAgICAgICBjcHVfZWRhY19kZXYtPm1vZF9uYW1lID0gImdoZXNfZWRhYy5jIjsNCj4+ICsgICAg ICAgcmMgPSBlZGFjX2RldmljZV9hZGRfZGV2aWNlKGNwdV9lZGFjX2Rldik7DQo+PiArICAgICAg IGlmIChyYyA+IDApIHsNCj4+ICsgICAgICAgICAgICAgICBwcl93YXJuKCJlZGFjX2RldmljZV9h ZGRfZGV2aWNlIGZhaWxlZFxuIik7DQo+PiArICAgICAgICAgICAgICAgZWRhY19kZXZpY2VfZnJl ZV9jdGxfaW5mbyhjcHVfZWRhY19kZXYpOw0KPj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5P TUVNOw0KPj4gKyAgICAgICB9DQo+PiArDQo+PiArICAgICAgIHJldHVybiAwOw0KPj4gK30NCj4+ ICsNCj4+ICtzdGF0aWMgIHZvaWQgZ2hlc19lZGFjX2RlbGV0ZV9jcHVfZGV2aWNlKHZvaWQpIHsN Cj4+ICsgICAgICAgbnVtX2NhY2hlc19wZXJfY3B1ID0gMDsNCj4+ICsgICAgICAgaWYgKGNwdV9l ZGFjX2Rldikgew0KPj4gKyAgICAgICAgICAgICAgIGVkYWNfZGV2aWNlX2RlbF9kZXZpY2UoY3B1 X2VkYWNfZGV2LT5kZXYpOw0KPj4gKyAgICAgICAgICAgICAgIGVkYWNfZGV2aWNlX2ZyZWVfY3Rs X2luZm8oY3B1X2VkYWNfZGV2KTsNCj4+ICsgICAgICAgfQ0KPj4gKyAgICAgICBmcmVlX3BlcmNw dShlZGFjX2NwdV9ibG9ja19saXN0KTsgfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQgZ2hlc19lZGFj X3BvcHVsYXRlX2NhY2hlX2luZm8oaW50IGNwdSkgew0KPj4gKyAgICAgICBzdHJ1Y3QgZ2hlc19l ZGFjX2NwdV9ibG9jayAqYmxvY2s7DQo+PiArICAgICAgIHN0cnVjdCBjcHVfY2FjaGVpbmZvICp0 aGlzX2NwdV9jaTsNCj4+ICsgICAgICAgc3RydWN0IGNhY2hlaW5mbyAqdGhpc19sZWFmOw0KPj4g KyAgICAgICBpbnQgaSwgbnVtX2NhY2hlczsNCj4+ICsNCj4+ICsgICAgICAgdGhpc19jcHVfY2kg PSBnZXRfY3B1X2NhY2hlaW5mbyhjcHUpOw0KPj4gKyAgICAgICBpZiAoIXRoaXNfY3B1X2NpIHx8 ICF0aGlzX2NwdV9jaS0+aW5mb19saXN0IHx8ICF0aGlzX2NwdV9jaS0NCj4+bnVtX2xlYXZlcykN Cj4+ICsgICAgICAgICAgICAgICByZXR1cm4gIC1FSU5WQUw7DQo+PiArDQo+PiArICAgICAgIHRo aXNfbGVhZiA9IHRoaXNfY3B1X2NpLT5pbmZvX2xpc3Q7DQo+PiArICAgICAgIC8qDQo+PiArICAg ICAgICAqIENhY2hlIGluZm8gd291bGQgbm90IGJlIGF2YWlsYWJsZSBmb3IgYSBDUFUgd2hpY2gg aXMgb2ZmbGluZS4NCj5Ib3dldmVyIEVEQUMgZGV2aWNlDQo+PiArICAgICAgICAqIGNyZWF0aW9u IHJlcXVpcmVzIHRoZSBudW1iZXIgb2YgZGV2aWNlIGJsb2NrcyAoZm9yIGV4YW1wbGUgbWF4DQo+ bnVtYmVyIG9mIGNhY2hlcw0KPj4gKyAgICAgICAgKiBhbW9uZyBDUFVzKS4gVGhlIGNhY2hlIGlu Zm8gaW4gdGhlIGVkYWNfY3B1X2Jsb2NrX2xpc3Qgd291bGQgYmUNCj5wb3B1bGF0ZWQgd2hlbg0K Pj4gKyAgICAgICAgKiB0aGUgZmlyc3QgZXJyb3IgaXMgcmVwb3J0ZWQgb24gdGhhdCBjcHUuIFRo dXMgd2UgbmVlZCB0byByZXN0cmljdCB0aGUNCj5udW1iZXINCj4+ICsgICAgICAgICogb2YgY2Fj aGVzIGlmIHRoZSBDUFUncyBudW1fbGVhdmVzIGV4Y2VlZCB0aGUgbWF4IG51bWJlciBvZiBjYWNo ZXMNCj5wZXIgY3B1DQo+PiArICAgICAgICAqIGNhbGN1bGF0ZWQgaW4gdGhlIGluaXQgdGltZS4N Cj4+ICsgICAgICAgICovDQo+PiArICAgICAgIG51bV9jYWNoZXMgPSBtaW4obnVtX2NhY2hlc19w ZXJfY3B1LCB0aGlzX2NwdV9jaS0+bnVtX2xlYXZlcyk7DQo+PiArDQo+PiArICAgICAgIC8qDQo+ PiArICAgICAgICAqIFRoZSBlZGFjIENQVSBjYWNoZSBkZXZpY2UgYmxvY2tzIGVudHJpZXMgaW4g dGhlIHN5c2ZzIHNob3VsZCBtYXRjaA0KPndpdGggdGhlDQo+PiArICAgICAgICAqIENQVSBjYWNo ZSBzdHJ1Y3R1cmUgaW4gdGhlIHN5c2ZzIHNvIHRoYXQgdGhlIGFmZmVjdGVkIGNwdXMgZm9yIGEN Cj5zaGFyZWQgY2FjaGUNCj4+ICsgICAgICAgICogY2FuIGJlIGVhc2lseSBleHRyYWN0ZWQgaW4g dGhlIHVzZXJzcGFjZS4NCj4+ICsgICAgICAgICovDQo+PiArICAgICAgIGJsb2NrID0gcGVyX2Nw dV9wdHIoZWRhY19jcHVfYmxvY2tfbGlzdCwgY3B1KTsNCj4+ICsgICAgICAgZm9yIChpID0gMDsg aSA8IG51bV9jYWNoZXM7IGkrKykgew0KPj4gKyAgICAgICAgICAgICAgIGJsb2NrLT5jcHUgPSBj cHU7DQo+PiArICAgICAgICAgICAgICAgYmxvY2stPmxldmVsID0gdGhpc19sZWFmLT5sZXZlbDsN Cj4+ICsgICAgICAgICAgICAgICBibG9jay0+dHlwZSA9IHRoaXNfbGVhZi0+dHlwZTsNCj4+ICsg ICAgICAgICAgICAgICBibG9jay0+YmxvY2tfbnIgPSBpOw0KPj4gKyAgICAgICAgICAgICAgIGJs b2NrLT5pbmZvX3BvcHVsYXRlZCA9IHRydWU7DQo+PiArICAgICAgICAgICAgICAgdGhpc19sZWFm Kys7DQo+PiArICAgICAgICAgICAgICAgYmxvY2srKzsNCj4+ICsgICAgICAgfQ0KPj4gKw0KPj4g KyAgICAgICByZXR1cm4gMDsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIHZvaWQgZ2hlc19lZGFj X2NyZWF0ZV9jcHVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikgew0KPj4gKyAgICAgICBpbnQg Y3B1Ow0KPj4gKw0KPj4gKyAgICAgICBpZiAoIW51bV9jYWNoZXNfcGVyX2NwdSkNCj4+ICsgICAg ICAgICAgICAgICByZXR1cm47DQo+PiArDQo+PiArICAgICAgIC8qDQo+PiArICAgICAgICAqIEFs bG9jYXRlIEVEQUMgQ1BVIGNhY2hlIGxpc3QuDQo+PiArICAgICAgICAqIEVEQUMgZGV2aWNlIGlu dGVyZmFjZSByZXF1aXJlIGNyZWF0aW5nIHRoZSBDUFUgY2FjaGUgaGllcmFyY2h5IGZvcg0KPmFs bA0KPj4gKyAgICAgICAgKiB0aGUgQ1BVcyB0b2dldGhlci4gVGh1cyBuZWVkIHRvIGFsbG9jYXRl IGVkYWNfY3B1X2Jsb2NrX2xpc3QgZm9yDQo+dGhlDQo+PiArICAgICAgICAqIG1heGltdW0gbnVt YmVyIG9mIGNhY2hlcyBwZXIgY3B1IGFtb25nIGFsbCB0aGUgQ1BVcw0KPmlycmVzcGVjdGl2ZSBv Zg0KPj4gKyAgICAgICAgKiB0aGUgbnVtYmVyIG9mIGNhY2hlcyBwZXIgQ1BVIG1pZ2h0IHZhcnku DQo+PiArICAgICAgICAqLw0KPj4gKyAgICAgICBlZGFjX2NwdV9ibG9ja19saXN0ID0gIF9fYWxs b2NfcGVyY3B1KHNpemVvZihzdHJ1Y3QNCj5naGVzX2VkYWNfY3B1X2Jsb2NrKSAqIG51bV9jYWNo ZXNfcGVyX2NwdSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBfX2FsaWdub2ZfXyh1NjQpKTsNCj4+ICsgICAgICAgaWYgKCFlZGFjX2NwdV9ibG9ja19s aXN0KQ0KPj4gKyAgICAgICAgICAgICAgIHJldHVybjsNCj4+ICsNCj4+ICsgICAgICAgaWYgKGdo ZXNfZWRhY19hZGRfY3B1X2RldmljZShkZXYpKSB7DQo+PiArICAgICAgICAgICAgICAgZ2hlc19l ZGFjX2RlbGV0ZV9jcHVfZGV2aWNlKCk7DQo+PiArICAgICAgICAgICAgICAgcmV0dXJuOw0KPj4g KyAgICAgICB9DQo+PiArDQo+PiArICAgICAgIC8qDQo+PiArICAgICAgICAqIFBvcHVsYXRlIEVE QUMgQ1BVIGNhY2hlIGxpc3Qgd2l0aCBjYWNoZSdzIGluZm9ybWF0aW9uLg0KPj4gKyAgICAgICAg Ki8NCj4+ICsgICAgICAgZm9yX2VhY2hfb25saW5lX2NwdShjcHUpDQo+PiArICAgICAgICAgICAg ICAgZ2hlc19lZGFjX3BvcHVsYXRlX2NhY2hlX2luZm8oY3B1KTsNCj4+ICt9DQo+PiArDQo+PiAr dm9pZCBnaGVzX2VkYWNfcmVwb3J0X2NwdV9lcnJvcihzdHJ1Y3QgZ2hlc19laW5mb19jcHUgKmVp bmZvKSB7DQo+PiArICAgICAgIHN0cnVjdCBnaGVzX2VkYWNfY3B1X2Jsb2NrICpibG9jazsNCj4+ ICsgICAgICAgaW50IGk7DQo+PiArDQo+PiArICAgICAgIGlmICghZWluZm8gfHwgIShlaW5mby0+ Y2VfY291bnQpIHx8ICFudW1fY2FjaGVzX3Blcl9jcHUpDQo+PiArICAgICAgICAgICAgICAgcmV0 dXJuOw0KPj4gKw0KPj4gKyAgICAgICAvKg0KPj4gKyAgICAgICAgKiBFREFDIGRldmljZSByZXF1 aXJlIHRoZSBudW1iZXIgb2YgZGV2aWNlIGJsb2NrcyAoZm9yIGV4YW1wbGUgbWF4DQo+bnVtYmVy IG9mIGNhY2hlcw0KPj4gKyAgICAgICAgKiBhbW9uZyBDUFVzKSBkdXJpbmcgdGhlIGNyZWF0aW9u LiBGb3IgdGhlIENQVXMgdGhhdCB3ZXJlIG9mZmxpbmUgaW4NCj50aGUgY3B1IGVkYWMNCj4+ICsg ICAgICAgICogaW5pdCBhbmQgYmVjb21lIG9ubGluZSBsYXRlciwgdGhlIGNhY2hlIGluZm8gd291 bGQgYmUgcG9wdWxhdGVkDQo+d2hlbiB0aGUgZmlyc3QNCj4+ICsgICAgICAgICogZXJyb3IgaXMg cmVwb3J0ZWQgIG9uIHRoYXQgY3B1Lg0KPj4gKyAgICAgICAgKi8NCj4+ICsgICAgICAgYmxvY2sg PSBwZXJfY3B1X3B0cihlZGFjX2NwdV9ibG9ja19saXN0LCBlaW5mby0+Y3B1KTsNCj4+ICsgICAg ICAgaWYgKCFibG9jay0+aW5mb19wb3B1bGF0ZWQpIHsNCj4+ICsgICAgICAgICAgICAgICBpZiAo Z2hlc19lZGFjX3BvcHVsYXRlX2NhY2hlX2luZm8oZWluZm8tPmNwdSkpDQo+PiArICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm47DQo+PiArICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgZm9y IChpID0gMDsgaSA8IG51bV9jYWNoZXNfcGVyX2NwdTsgaSsrKSB7DQo+PiArICAgICAgICAgICAg ICAgaWYgKChibG9jay0+bGV2ZWwgPT0gZWluZm8tPmNhY2hlX2xldmVsKSAmJiAoYmxvY2stPnR5 cGUgPT0gZWluZm8tDQo+PmNhY2hlX3R5cGUpKSB7DQo+PiArICAgICAgICAgICAgICAgICAgICAg ICBlZGFjX2RldmljZV9oYW5kbGVfY2VfY291bnQoY3B1X2VkYWNfZGV2LCBlaW5mby0NCj4+Y2Vf Y291bnQsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZWluZm8tPmNwdSwgYmxvY2stPmJsb2NrX25yLCAiIik7DQo+PiArICAgICAgICAgICAg ICAgICAgICAgICBicmVhazsNCj4+ICsgICAgICAgICAgICAgICB9DQo+PiArICAgICAgICAgICAg ICAgYmxvY2srKzsNCj4+ICsgICAgICAgfQ0KPj4gK30NCj4+ICsjZW5kaWYNCj4+ICsNCj4+ICBz dGF0aWMgdm9pZCBnaGVzX3NjYW5fc3lzdGVtKHZvaWQpDQo+PiAgew0KPj4gICAgICAgICBpZiAo c3lzdGVtX3NjYW5uZWQpDQo+PiBAQCAtMjMyLDYgKzQwOCw4IEBAIHN0YXRpYyB2b2lkIGdoZXNf c2Nhbl9zeXN0ZW0odm9pZCkNCj4+DQo+PiAgICAgICAgIGRtaV93YWxrKGVudW1lcmF0ZV9kaW1t cywgJmdoZXNfaHcpOw0KPj4NCj4+ICsgICAgICAgZ2hlc19lZGFjX2dldF9jcHVfY2FjaGVpbmZv KCk7DQo+PiArDQo+PiAgICAgICAgIHN5c3RlbV9zY2FubmVkID0gdHJ1ZTsNCj4+ICB9DQo+Pg0K Pj4gQEAgLTYyMCw2ICs3OTgsMTAgQEAgaW50IGdoZXNfZWRhY19yZWdpc3RlcihzdHJ1Y3QgZ2hl cyAqZ2hlcywgc3RydWN0DQo+ZGV2aWNlICpkZXYpDQo+PiAgICAgICAgICAgICAgICAgZ290byB1 bmxvY2s7DQo+PiAgICAgICAgIH0NCj4+DQo+PiArI2lmIGRlZmluZWQoQ09ORklHX0VEQUNfR0hF U19DUFVfQ0FDSEVfRVJST1IpDQo+PiArICAgICAgIGdoZXNfZWRhY19jcmVhdGVfY3B1X2Rldmlj ZShkZXYpOyAjZW5kaWYNCj4+ICsNCj4+ICAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmdoZXNf bG9jaywgZmxhZ3MpOw0KPj4gICAgICAgICBnaGVzX3B2dCA9IHB2dDsNCj4+ICAgICAgICAgc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmZ2hlc19sb2NrLCBmbGFncyk7IEBAIC02NjksNiArODUxLDEw DQo+PiBAQCB2b2lkIGdoZXNfZWRhY191bnJlZ2lzdGVyKHN0cnVjdCBnaGVzICpnaGVzKQ0KPj4g ICAgICAgICBpZiAobWNpKQ0KPj4gICAgICAgICAgICAgICAgIGVkYWNfbWNfZnJlZShtY2kpOw0K Pj4NCj4+ICsjaWYgZGVmaW5lZChDT05GSUdfRURBQ19HSEVTX0NQVV9DQUNIRV9FUlJPUikNCj4+ ICsgICAgICAgZ2hlc19lZGFjX2RlbGV0ZV9jcHVfZGV2aWNlKCk7ICNlbmRpZg0KPj4gKw0KPj4g IHVubG9jazoNCj4+ICAgICAgICAgbXV0ZXhfdW5sb2NrKCZnaGVzX3JlZ19tdXRleCk7ICB9IGRp ZmYgLS1naXQNCj4+IGEvaW5jbHVkZS9hY3BpL2doZXMuaCBiL2luY2x1ZGUvYWNwaS9naGVzLmgg aW5kZXgNCj4+IDM0ZmIzNDMxYThmMy4uZTAxOWFkODhmZGMzIDEwMDY0NA0KPj4gLS0tIGEvaW5j bHVkZS9hY3BpL2doZXMuaA0KPj4gKysrIGIvaW5jbHVkZS9hY3BpL2doZXMuaA0KPj4gQEAgLTcz LDYgKzczLDI0IEBAIHZvaWQgZ2hlc191bnJlZ2lzdGVyX3ZlbmRvcl9yZWNvcmRfbm90aWZpZXIo c3RydWN0DQo+PiBub3RpZmllcl9ibG9jayAqbmIpOw0KPj4NCj4+ICBpbnQgZ2hlc19lc3RhdHVz X3Bvb2xfaW5pdChpbnQgbnVtX2doZXMpOw0KPj4NCj4+ICsvKioNCj4+ICsgKiBzdHJ1Y3QgZ2hl c19laW5mb19jcHUgIC0gc3RydWN0dXJlIHRvIHBhc3MgdGhlIENQVSBlcnJvciBpbmZvIHRvDQo+ PiArdGhlIGVkYWMNCj4+ICsgKiBAY3B1OiBDUFUgaW5kZXguDQo+PiArICogQGVycm9yX3R5cGU6 IGVycm9yIHR5cGUsIGNhY2hlL1RMQi9idXMvIGV0Yy4NCj4+ICsgKiBAY2FjaGVfbGV2ZWw6IGNh Y2hlIGxldmVsLg0KPj4gKyAqIEBjYWNoZV90eXBlOiBBQ1BJIGNhY2hlIHR5cGUuDQo+PiArICog QHVlX2NvdW50OiBDUFUgdW5jb3JyZWN0YWJsZSBlcnJvciBjb3VudC4NCj4+ICsgKiBAY2VfY291 bnQ6IENQVSBjb3JyZWN0YWJsZSBlcnJvciBjb3VudC4NCj4+ICsgKi8NCj4+ICtzdHJ1Y3QgZ2hl c19laW5mb19jcHUgew0KPj4gKyAgICAgICBpbnQgY3B1Ow0KPj4gKyAgICAgICB1OCBlcnJvcl90 eXBlOw0KPj4gKyAgICAgICB1OCBjYWNoZV9sZXZlbDsNCj4+ICsgICAgICAgdTggY2FjaGVfdHlw ZTsNCj4+ICsgICAgICAgdTE2IHVlX2NvdW50Ow0KPj4gKyAgICAgICB1MTYgY2VfY291bnQ7DQo+ PiArfTsNCj4+ICsNCj4+ICAvKiBGcm9tIGRyaXZlcnMvZWRhYy9naGVzX2VkYWMuYyAqLw0KPj4N Cj4+ICAjaWZkZWYgQ09ORklHX0VEQUNfR0hFUw0KPj4gQEAgLTk4LDYgKzExNiwxNSBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgZ2hlc19lZGFjX3VucmVnaXN0ZXIoc3RydWN0DQo+PiBnaGVzICpnaGVz KSAgfSAgI2VuZGlmDQo+Pg0KPj4gKyNpZmRlZiBDT05GSUdfRURBQ19HSEVTX0NQVV9DQUNIRV9F UlJPUiB2b2lkDQo+PiArZ2hlc19lZGFjX3JlcG9ydF9jcHVfZXJyb3Ioc3RydWN0IGdoZXNfZWlu Zm9fY3B1ICplaW5mb19jcHUpOw0KPj4gKw0KPj4gKyNlbHNlDQo+PiArc3RhdGljIGlubGluZSB2 b2lkIGdoZXNfZWRhY19yZXBvcnRfY3B1X2Vycm9yKHN0cnVjdCBnaGVzX2VpbmZvX2NwdQ0KPj4g KyplaW5mb19jcHUpIHsgfSAjZW5kaWYNCj4+ICsNCj4+ICBzdGF0aWMgaW5saW5lIGludCBhY3Bp X2hlc3RfZ2V0X3ZlcnNpb24oc3RydWN0IGFjcGlfaGVzdF9nZW5lcmljX2RhdGENCj4+ICpnZGF0 YSkgIHsNCj4+ICAgICAgICAgcmV0dXJuIGdkYXRhLT5yZXZpc2lvbiA+PiA4Ow0KPj4gLS0NCj4+ IDIuMTcuMQ0KPj4NCg==