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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 63DEFD3399B for ; Mon, 28 Oct 2024 16:03:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 92D5B6B008A; Mon, 28 Oct 2024 12:03:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8B5E76B008C; Mon, 28 Oct 2024 12:03:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7095C6B0092; Mon, 28 Oct 2024 12:03:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 4A4536B008A for ; Mon, 28 Oct 2024 12:03:37 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A69CE40A9B for ; Mon, 28 Oct 2024 16:03:36 +0000 (UTC) X-FDA: 82723481022.29.93446ED Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by imf29.hostedemail.com (Postfix) with ESMTP id 9AD7B12000E for ; Mon, 28 Oct 2024 16:03:02 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=none; spf=pass (imf29.hostedemail.com: domain of shiju.jose@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=shiju.jose@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730131256; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QqQkfUr++o0+Djeu6XQGYE8KCpQ6F9d2+b2LsYWfgKI=; b=m6yJuaoeyAv/zs9dApbf5yjbsGBWxGHK49DoN044tgeAZtc2pAllotIz4XLkxKjTlHORU+ 8yYkW3SPTd7TE0etlSBYD0GcFcSk9CR7ZyJV6YOY0f8Th3hTySHXq96WoWWSBVrtSRCr4h /8TcpoNrRexBuT/y4eYTfMGwFa+wy/U= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730131256; a=rsa-sha256; cv=none; b=NPb3oM5MuangOTtpz0fiUkQLoCegmRV2ThRy9pVsBw2P8cE08e50SKIqtVpOZ8VcuUk+Zj DkpgWR6cXyDrDiazl/0mS2jGfE5kG7Z40BkQYm6h03hdagvmCKSsYUJUN8TTtrN9GxST5C 4VZshc/c89u+gTQNoKZtCuDI6mHe/mk= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=none; spf=pass (imf29.hostedemail.com: domain of shiju.jose@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=shiju.jose@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com Received: from mail.maildlp.com (unknown [172.18.186.231]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4XcdRD5HS4z67npR; Tue, 29 Oct 2024 00:01:12 +0800 (CST) Received: from frapeml100008.china.huawei.com (unknown [7.182.85.131]) by mail.maildlp.com (Postfix) with ESMTPS id C431B140B30; Tue, 29 Oct 2024 00:03:31 +0800 (CST) Received: from frapeml500007.china.huawei.com (7.182.85.172) by frapeml100008.china.huawei.com (7.182.85.131) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Mon, 28 Oct 2024 17:03:31 +0100 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; Mon, 28 Oct 2024 17:03:31 +0100 From: Shiju Jose To: Borislav Petkov CC: "linux-edac@vger.kernel.org" , "linux-cxl@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , "tony.luck@intel.com" , "rafael@kernel.org" , "lenb@kernel.org" , "mchehab@kernel.org" , "dan.j.williams@intel.com" , "dave@stgolabs.net" , "Jonathan Cameron" , "gregkh@linuxfoundation.org" , "sudeep.holla@arm.com" , "jassisinghbrar@gmail.com" , "dave.jiang@intel.com" , "alison.schofield@intel.com" , "vishal.l.verma@intel.com" , "ira.weiny@intel.com" , "david@redhat.com" , "Vilas.Sridharan@amd.com" , "leo.duran@amd.com" , "Yazen.Ghannam@amd.com" , "rientjes@google.com" , "jiaqiyan@google.com" , "Jon.Grimm@amd.com" , "dave.hansen@linux.intel.com" , "naoya.horiguchi@nec.com" , "james.morse@arm.com" , "jthoughton@google.com" , "somasundaram.a@hpe.com" , "erdemaktas@google.com" , "pgonda@google.com" , "duenwen@google.com" , "gthelen@google.com" , "wschwartz@amperecomputing.com" , "dferguson@amperecomputing.com" , "wbs@os.amperecomputing.com" , "nifan.cxl@gmail.com" , tanxiaofei , "Zengtao (B)" , "Roberto Sassu" , "kangkang.shen@futurewei.com" , wanghuiqiang , Linuxarm Subject: RE: [PATCH v14 03/14] EDAC: Add ECS control feature Thread-Topic: [PATCH v14 03/14] EDAC: Add ECS control feature Thread-Index: AQHbJwFaFRIofNiwFkyncNKRY+1g4rKb9u6AgAA43nA= Date: Mon, 28 Oct 2024 16:03:31 +0000 Message-ID: <2263e5a551e24a6ca63dbe33538a5ce8@huawei.com> References: <20241025171356.1377-1-shiju.jose@huawei.com> <20241025171356.1377-4-shiju.jose@huawei.com> <20241028111637.GSZx9yleFPOjTklIVr@fat_crate.local> In-Reply-To: <20241028111637.GSZx9yleFPOjTklIVr@fat_crate.local> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.195.246.227] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 9AD7B12000E X-Stat-Signature: 4ebka9yot4aanhn8wp3c9tsga5asc6d6 X-HE-Tag: 1730131382-267858 X-HE-Meta: U2FsdGVkX1+3guwo53IgqiX6FnXRq5VtOqyLmEQM94zQ5msIItDGTnI3Ktj/Gzix1tIL5R/o1vzmjYnSReMuTZe54g02dSaj67Uf9rAGKhszgtPeR+8XeJq71a/3kit42qQX/sKfLoADpxw03n0R5QC3X3EZeWIVqwrXA6Ywe97Qoa/31WoJgQauVFMRGmUL8QKMVBFjgRVWEVd9U2g/R7jchX1koxrbZyIcTd0IsPI7FTxIjlrxU4x+RPLdb3zYNIhLluNVNcC6NXXkjmyu4OlEJEv6P6KBsqP+9EX26jRl0/fC7nl+zZAQe6ghKx/1srvovSaC7tzgPp1AnnPVXQgUHMpdoBxelo08wI04VvrlBBabJ81k4ZPn7CEHMaNkqLuRPna/1fbynReguqj9blGc6m1oDjhEk/Wuk9hm9uVF3StQ34bxJ9N8Id+Hq0YJDuLQnz1717JotLEnGtdrmIhUx1KSXL7d3CFmYQsCZVZU68HAW3skcOLyBYRdX3YI+k6zOlwiGX87f0E5+fkOayiHrB4QYw0Lqx9XZuNdTOL8SBEb0IUuFE2VZ/EFnq8rzYG8V6RQwEJIcrdJMAgl4ruOnp2/xwq7HDrh0GUArZ0a8o6vxvx2VAXdrxLFziXLDGBPwRG0w2zlE1rXvBd77gkEj8tTTSfn4knN869V3m6y2pgRO4z9HvX3LfxITBvD91k4BEoxWD5OcF1KnP5q9RpYlm/jxMz4Qsvt3WY0DWffhdVs8FwdW5ixP/e/cS9W98zcIIyuhg183KMN2vWdR9plzR/JwcOtmGGMZmtbRnUXwboODquM5SJmIRIQcilbVsVOehkaEyzpzq0qcF3ZOx/w2TGkROO7dn0w3W4MqS8kh6EaGs9JNrmVt6rZELKu8CNcUCguc6q3UFM36+IqCp1l31x36hoy++jTnNBydU33jvR5XktL6+nwk/GCgXhxKgoLpNjX/xzRHUn4nVX qU57WGnU WeUxGQelV8ndUhkcTl+S28AxM1OV+lZ0YaMne/9aCDzNPry3wzGbzI0v5nU4rD0YwroBCoUsKaJw+IwbXv9erpp2br5a0JNQdCXc0nlPsTvw7BnesFi0TcKnMewan2cSPwbqlNfXPeRn8g0QO/5stlBksHINaKcuChsun6QkGrCkJI+dnKbQMXohMUPv38LLVYH+LO14dw6E4ekEQC0cHS9f1Y5TkDLEJUQFvuDdWXUKUNLfXIHHzAtM7D+9sBMNGaibaDN4wylGbbSuIXmUh8vdAhGcRx7wZCFvOilJOq9I6mZKXAtQ2Pcg1KpGMpjmNNrXQEujMXbsjXHDOmxfp+8dYTQI+mQuacoYYSK1jPt0tq3uZvdFBWaMle1nRLLXm/qoDQp3GrUPA+JTU/0wmuXzIB2QX9LQBi/BMsBzIAvF2htlOtoU1520s79T3tiLnrv8nDSh9sKwkgs+1GcYDdpWjGWsoUeQrRoUBv2Tx+/xz4bTJljcBt7KYZASLn7feC9QQd5SFNc2/Evn6WeTq7aX9QEILfj81ow6+Jq8k9rbDcYSAZH5g1wNdZAiB/tMkg1HuAhah1Idtd+wvhugzqqCkpyiLJiQE37MjOfNn8T5S6iybMLCqbdIZ0L8/dDwtjPjbigTZGPDyZ2RWFb1QFo6h2QxmqpF0/caWbcBK+QOeI5qDuvyaUWQPjKePUbDlFhFJLks8i+O+Fju+9rUD2G+Gv96LujoYfkA6YZzBSPC0aVmBN1PaL1lJAXSSqptFuaYnjXBRxWudyrKx/jXQD4B1zFre8uyYdTGyqMY+TCMYOLiSNfNycbyxvgro7/40pYDs578kUAZVpN6zsslI2n320xRPw22E66FKGtfr/htQDHVwhUJU50cuUDwSHfDtTpb1pM5ZjPIr0KNfg4wYSyq6P8CHbt+ChcbzbhIAC4Iecs8UESeHSZO0Rw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: DQpUaGFua3MgZm9yIHRoZSBjb21tZW50cy4NCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PkZyb206IEJvcmlzbGF2IFBldGtvdiA8YnBAYWxpZW44LmRlPg0KPlNlbnQ6IDI4IE9jdG9iZXIg MjAyNCAxMToxNw0KPlRvOiBTaGlqdSBKb3NlIDxzaGlqdS5qb3NlQGh1YXdlaS5jb20+DQo+Q2M6 IGxpbnV4LWVkYWNAdmdlci5rZXJuZWwub3JnOyBsaW51eC1jeGxAdmdlci5rZXJuZWwub3JnOyBs aW51eC0NCj5hY3BpQHZnZXIua2VybmVsLm9yZzsgbGludXgtbW1Aa3ZhY2sub3JnOyBsaW51eC1r ZXJuZWxAdmdlci5rZXJuZWwub3JnOw0KPnRvbnkubHVja0BpbnRlbC5jb207IHJhZmFlbEBrZXJu ZWwub3JnOyBsZW5iQGtlcm5lbC5vcmc7DQo+bWNoZWhhYkBrZXJuZWwub3JnOyBkYW4uai53aWxs aWFtc0BpbnRlbC5jb207IGRhdmVAc3Rnb2xhYnMubmV0OyBKb25hdGhhbg0KPkNhbWVyb24gPGpv bmF0aGFuLmNhbWVyb25AaHVhd2VpLmNvbT47IGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnOw0K PnN1ZGVlcC5ob2xsYUBhcm0uY29tOyBqYXNzaXNpbmdoYnJhckBnbWFpbC5jb207IGRhdmUuamlh bmdAaW50ZWwuY29tOw0KPmFsaXNvbi5zY2hvZmllbGRAaW50ZWwuY29tOyB2aXNoYWwubC52ZXJt YUBpbnRlbC5jb207IGlyYS53ZWlueUBpbnRlbC5jb207DQo+ZGF2aWRAcmVkaGF0LmNvbTsgVmls YXMuU3JpZGhhcmFuQGFtZC5jb207IGxlby5kdXJhbkBhbWQuY29tOw0KPllhemVuLkdoYW5uYW1A YW1kLmNvbTsgcmllbnRqZXNAZ29vZ2xlLmNvbTsgamlhcWl5YW5AZ29vZ2xlLmNvbTsNCj5Kb24u R3JpbW1AYW1kLmNvbTsgZGF2ZS5oYW5zZW5AbGludXguaW50ZWwuY29tOw0KPm5hb3lhLmhvcmln dWNoaUBuZWMuY29tOyBqYW1lcy5tb3JzZUBhcm0uY29tOyBqdGhvdWdodG9uQGdvb2dsZS5jb207 DQo+c29tYXN1bmRhcmFtLmFAaHBlLmNvbTsgZXJkZW1ha3Rhc0Bnb29nbGUuY29tOyBwZ29uZGFA Z29vZ2xlLmNvbTsNCj5kdWVud2VuQGdvb2dsZS5jb207IGd0aGVsZW5AZ29vZ2xlLmNvbTsNCj53 c2Nod2FydHpAYW1wZXJlY29tcHV0aW5nLmNvbTsgZGZlcmd1c29uQGFtcGVyZWNvbXB1dGluZy5j b207DQo+d2JzQG9zLmFtcGVyZWNvbXB1dGluZy5jb207IG5pZmFuLmN4bEBnbWFpbC5jb207IHRh bnhpYW9mZWkNCj48dGFueGlhb2ZlaUBodWF3ZWkuY29tPjsgWmVuZ3RhbyAoQikgPHByaW1lLnpl bmdAaGlzaWxpY29uLmNvbT47IFJvYmVydG8NCj5TYXNzdSA8cm9iZXJ0by5zYXNzdUBodWF3ZWku Y29tPjsga2FuZ2thbmcuc2hlbkBmdXR1cmV3ZWkuY29tOw0KPndhbmdodWlxaWFuZyA8d2FuZ2h1 aXFpYW5nQGh1YXdlaS5jb20+OyBMaW51eGFybQ0KPjxsaW51eGFybUBodWF3ZWkuY29tPg0KPlN1 YmplY3Q6IFJlOiBbUEFUQ0ggdjE0IDAzLzE0XSBFREFDOiBBZGQgRUNTIGNvbnRyb2wgZmVhdHVy ZQ0KPg0KPk9uIEZyaSwgT2N0IDI1LCAyMDI0IGF0IDA2OjEzOjQ0UE0gKzAxMDAsIHNoaWp1Lmpv c2VAaHVhd2VpLmNvbSB3cm90ZToNCj4+ICtXaGF0OgkJL3N5cy9idXMvZWRhYy9kZXZpY2VzLzxk ZXYtDQo+bmFtZT4vZWNzX2ZydVgvbG9nX2VudHJ5X3R5cGUNCj4+ICtEYXRlOgkJSmFuIDIwMjUN Cj4+ICtLZXJuZWxWZXJzaW9uOgk2LjEzDQo+PiArQ29udGFjdDoJbGludXgtZWRhY0B2Z2VyLmtl cm5lbC5vcmcNCj4+ICtEZXNjcmlwdGlvbjoNCj4+ICsJCShSVykgVGhlIGxvZyBlbnRyeSB0eXBl IG9mIGhvdyB0aGUgRERSNSBFQ1MgbG9nIGlzIHJlcG9ydGVkLg0KPj4gKwkJMDBiIC0gcGVyIERS QU0uDQo+PiArCQkwMWIgLSBwZXIgbWVtb3J5IG1lZGlhIEZSVS4NCj4NCj5JZiB0aGUgY29udmVy c2lvbiBmdW5jdGlvbiBoZXJlIGlzIGtzdHJ0b3VsKCksIHdoeSBhcmUgdGhvc2UgdmFsdWVzIG5v dCAiMCINCj5hbmQgIjEiIGJ1dCBpbiBiaW5hcnkgZm9ybWF0Pw0KRm9sbG93ZWQgdGhlIGRlc2Ny aXB0aW9uIGZvciB0aGUgIiBMb2cgRW50cnkgVHlwZSAiIGluIHRoZSBDWEwgc3BlYyByZXYgMy4x IFRhYmxlIDgtMjEwLg0KRERSNSBFQ1MgQ29udHJvbCBGZWF0dXJlIFJlYWRhYmxlIEF0dHJpYnV0 ZXMgYW5kIFRhYmxlIDgtMjExLiBERFI1IEVDUyBDb250cm9sIEZlYXR1cmUNCldyaXRhYmxlIEF0 dHJpYnV0ZXMuIFRoaXMgd2FzIHdyaXR0ZW4gYXMgIiBDb21tb24gRERSNSBFQ1MgTG9nIENhcGFi aWxpdGllcyAiIHRob3VnaCBhY3R1YWxseSByZXR1cm5zDQp0aGUgc3RhdHVzIG9mIHRoZSBsb2df ZW50cnlfdHlwZS4gDQoNCkNvbW1vbiBERFI1IEVDUyBMb2cgQ2FwYWJpbGl0aWVzDQrigKIgQml0 c1sxOjBdOiBMb2cgRW50cnkgVHlwZTogVGhlIGxvZyBlbnRyeSB0eXBlIG9mIGhvdyB0aGUgRUNT IGxvZyBpcw0KcmVwb3J0ZWQuIFRoZSBlbnRyeSB0eXBlIGlzIGRlZmluZWQgY29tbW9ubHkgZm9y IGFsbCBtZW1vcnkgbWVkaWEgRlJVcw0Kd2l0aGluIHRoZSBkZXZpY2UuDQrigJQgMDBiID0gUGVy IERSQU0NCuKAlCAwMWIgPSBQZXIgTWVtb3J5IE1lZGlhIEZSVQ0K4oCUIEFsbCBvdGhlciBlbmNv ZGluZ3MgYXJlIHJlc2VydmVkDQrigKIgQml0c1s3OjJdOiBSZXNlcnZlZC4NCg0KSSB3aWxsIHVw ZGF0ZSB0byAwIGFuZCAxLiANCj4NCj4+ICsNCj4+ICtXaGF0OgkJL3N5cy9idXMvZWRhYy9kZXZp Y2VzLzxkZXYtDQo+bmFtZT4vZWNzX2ZydVgvbG9nX2VudHJ5X3R5cGVfcGVyX2RyYW0NCj4+ICtE YXRlOgkJSmFuIDIwMjUNCj4+ICtLZXJuZWxWZXJzaW9uOgk2LjEzDQo+PiArQ29udGFjdDoJbGlu dXgtZWRhY0B2Z2VyLmtlcm5lbC5vcmcNCj4+ICtEZXNjcmlwdGlvbjoNCj4+ICsJCShSTykgVHJ1 ZSBpZiBjdXJyZW50IGxvZyBlbnRyeSB0eXBlIGlzIHBlciBEUkFNLg0KPj4gKw0KPj4gK1doYXQ6 CQkvc3lzL2J1cy9lZGFjL2RldmljZXMvPGRldi0NCj5uYW1lPi9lY3NfZnJ1WC9sb2dfZW50cnlf dHlwZV9wZXJfbWVtb3J5X21lZGlhDQo+PiArRGF0ZToJCUphbiAyMDI1DQo+PiArS2VybmVsVmVy c2lvbjoJNi4xMw0KPj4gK0NvbnRhY3Q6CWxpbnV4LWVkYWNAdmdlci5rZXJuZWwub3JnDQo+PiAr RGVzY3JpcHRpb246DQo+PiArCQkoUk8pIFRydWUgaWYgY3VycmVudCBsb2cgZW50cnkgdHlwZSBp cyBwZXIgbWVtb3J5IG1lZGlhIEZSVS4NCj4NCj5XaGF0J3MgdGhlIHBvaW50IG9mIHRob3NlIHR3 byBpZiBsb2dfZW50cnlfdHlwZSBhbHJlYWR5IGdpdmVzIHlvdSB0aGUgc2FtZSBpbmZvPw0KPg0K VGhpcyB3YXMgd3JpdHRlbiBhcyAiIENvbW1vbiBERFI1IEVDUyBMb2cgQ2FwYWJpbGl0aWVzICIg aW4gdGhlIENYTCBzcGVjIHJldiAzLjENClRhYmxlIDgtMjEwLiBERFI1IEVDUyBDb250cm9sIEZl YXR1cmUgUmVhZGFibGUgQXR0cmlidXRlcywgdGhvdWdoIGFjdHVhbGx5IHJldHVybnMNCnRoZSBz dGF0dXMgb2YgdGhlIGxvZ19lbnRyeV90eXBlLiBJIHdpbGwgcmVtb3ZlIHRoZXNlIGV4dHJhIGxv ZyB0eXBlIGF0dHJpYnV0ZXMuIA0KDQo+QW5kIHRoZSBmaWxlbmFtZSBsZW5ndGggaXMgYSBiaXQg dG9vIG11Y2guLi4NCj4NCj4+ICsNCj4+ICtXaGF0OgkJL3N5cy9idXMvZWRhYy9kZXZpY2VzLzxk ZXYtbmFtZT4vZWNzX2ZydVgvbW9kZQ0KPj4gK0RhdGU6CQlKYW4gMjAyNQ0KPj4gK0tlcm5lbFZl cnNpb246CTYuMTMNCj4+ICtDb250YWN0OglsaW51eC1lZGFjQHZnZXIua2VybmVsLm9yZw0KPj4g K0Rlc2NyaXB0aW9uOg0KPj4gKwkJKFJXKSBUaGUgbW9kZSBvZiBob3cgdGhlIEREUjUgRUNTIGNv dW50cyB0aGUgZXJyb3JzLg0KPj4gKwkJMCAtIEVDUyBjb3VudHMgcm93cyB3aXRoIGVycm9ycy4N Cj4+ICsJCTEgLSBFQ1MgY291bnRzIGNvZGV3b3JkcyB3aXRoIGVycm9ycy4NCj4NCj5Ob3cgd2Ug aGF2ZSAiMCIgYW5kICIxInMuIE9oIHdlbGwuDQo+DQo+V2hhdCBhcmUgInJvd3MiLCB3aGF0IGFy ZSAiY29kZXdvcmRzIj8gRXhwbGFpbiB0aGVtIGhlcmUgcGxzIGZvciB0aGUgdXNlci4NCldpbGwg ZG8uDQoNCj4NCj4+ICtXaGF0OgkJL3N5cy9idXMvZWRhYy9kZXZpY2VzLzxkZXYtDQo+bmFtZT4v ZWNzX2ZydVgvbW9kZV9jb3VudHNfcm93cw0KPj4gK0RhdGU6CQlKYW4gMjAyNQ0KPj4gK0tlcm5l bFZlcnNpb246CTYuMTMNCj4+ICtDb250YWN0OglsaW51eC1lZGFjQHZnZXIua2VybmVsLm9yZw0K Pj4gK0Rlc2NyaXB0aW9uOg0KPj4gKwkJKFJPKSBUcnVlIGlmIGN1cnJlbnQgbW9kZSBpcyBFQ1Mg Y291bnRzIHJvd3Mgd2l0aCBlcnJvcnMuDQo+PiArDQo+PiArV2hhdDoJCS9zeXMvYnVzL2VkYWMv ZGV2aWNlcy88ZGV2LQ0KPm5hbWU+L2Vjc19mcnVYL21vZGVfY291bnRzX2NvZGV3b3Jkcw0KPj4g K0RhdGU6CQlKYW4gMjAyNQ0KPj4gK0tlcm5lbFZlcnNpb246CTYuMTMNCj4+ICtDb250YWN0Ogls aW51eC1lZGFjQHZnZXIua2VybmVsLm9yZw0KPj4gK0Rlc2NyaXB0aW9uOg0KPj4gKwkJKFJPKSBU cnVlIGlmIGN1cnJlbnQgbW9kZSBpcyBFQ1MgY291bnRzIGNvZGV3b3JkcyB3aXRoIGVycm9ycy4N Cj4NCj5TYW1lIHF1ZXN0aW9uIGFzIGFib3ZlIC0gcmVkdW5kYW50IGZpbGVzLg0KSSB3aWxsIHJl bW92ZSByZWR1bmRhbnQgZmlsZXMuDQoNCj4NCj4+ICtXaGF0OgkJL3N5cy9idXMvZWRhYy9kZXZp Y2VzLzxkZXYtbmFtZT4vZWNzX2ZydVgvcmVzZXQNCj4+ICtEYXRlOgkJSmFuIDIwMjUNCj4+ICtL ZXJuZWxWZXJzaW9uOgk2LjEzDQo+PiArQ29udGFjdDoJbGludXgtZWRhY0B2Z2VyLmtlcm5lbC5v cmcNCj4+ICtEZXNjcmlwdGlvbjoNCj4+ICsJCShXTykgRUNTIHJlc2V0IEVDQyBjb3VudGVyLg0K Pj4gKwkJMSAtIHJlc2V0IEVDQyBjb3VudGVyIHRvIHRoZSBkZWZhdWx0IHZhbHVlLg0KPg0KPjEg b3IgYW55IHZhbHVlPw0KPg0KPkxvb2tzIGxpa2UgYW55IHRvIG1lLi4uDQo+DQo+WW91IHNob3Vs ZCByZXN0cmljdCBpdCB0byAiMSIgaW4gY2FzZSB5b3Ugd2FudCB0byBleHRlbmQgdGhpcyBpbnRl cmZhY2Ugd2l0aCAiMiIgaW4NCj50aGUgZnV0dXJlLCBmb3IgZXhhbXBsZSwgZG9pbmcgc29tZXRo aW5nIGEgYml0IGRpZmZlcmVudC4NCkkgd2lsbCB1cGRhdGUuIFJldHVybnMgZXJyb3IgZm9yIGFu eSBvdGhlciB2YWx1ZSBzZXQgdGhhbiAnMScuDQo+DQo+PiArDQo+PiArV2hhdDoJCS9zeXMvYnVz L2VkYWMvZGV2aWNlcy88ZGV2LW5hbWU+L2Vjc19mcnVYL3RocmVzaG9sZA0KPj4gK0RhdGU6CQlK YW4gMjAyNQ0KPj4gK0tlcm5lbFZlcnNpb246CTYuMTMNCj4+ICtDb250YWN0OglsaW51eC1lZGFj QHZnZXIua2VybmVsLm9yZw0KPj4gK0Rlc2NyaXB0aW9uOg0KPj4gKwkJKFJXKSBFQ1MgdGhyZXNo b2xkIGNvdW50IHBlciBnaWdhYml0cyBvZiBtZW1vcnkgY2VsbHMuDQo+DQo+VGhhdCBkZWZpbml0 ZWx5IG5lZWRzIG1vcmUgZXhwbGFuYXRpb24uDQpTdXJlLg0KPg0KPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZWRhYy9NYWtlZmlsZSBiL2RyaXZlcnMvZWRhYy9NYWtlZmlsZSBpbmRleA0KPj4gMTg4 NTAxZTY3NmM3Li5iMjRjMmMxMTJkOWMgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2VkYWMvTWFr ZWZpbGUNCj4+ICsrKyBiL2RyaXZlcnMvZWRhYy9NYWtlZmlsZQ0KPj4gQEAgLTEwLDcgKzEwLDcg QEAgb2JqLSQoQ09ORklHX0VEQUMpCQkJOj0gZWRhY19jb3JlLm8NCj4+DQo+PiAgZWRhY19jb3Jl LXkJOj0gZWRhY19tYy5vIGVkYWNfZGV2aWNlLm8gZWRhY19tY19zeXNmcy5vDQo+PiAgZWRhY19j b3JlLXkJKz0gZWRhY19tb2R1bGUubyBlZGFjX2RldmljZV9zeXNmcy5vIHdxLm8NCj4+IC1lZGFj X2NvcmUteQkrPSBzY3J1Yi5vDQo+PiArZWRhY19jb3JlLXkJKz0gc2NydWIubyBlY3Mubw0KPj4N Cj4+ICBlZGFjX2NvcmUtJChDT05GSUdfRURBQ19ERUJVRykJCSs9IGRlYnVnZnMubw0KPj4NCj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMvZWNzLmMgYi9kcml2ZXJzL2VkYWMvZWNzLmMgbmV3 IGZpbGUgbW9kZQ0KPj4gMTAwNzU1IGluZGV4IDAwMDAwMDAwMDAwMC4uYTJiNjRkN2JmNmI2DQo+ PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9kcml2ZXJzL2VkYWMvZWNzLmMNCj4+IEBAIC0wLDAg KzEsMjQwIEBADQo+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4+ICsv Kg0KPj4gKyAqIEdlbmVyaWMgRUNTIGRyaXZlciBpbiBvcmRlciB0byBzdXBwb3J0IGNvbnRyb2wg dGhlIG9uIGRpZQ0KPj4gKyAqIGVycm9yIGNoZWNrIHNjcnViIChlLmcuIEREUjUgRUNTKS4NCj4N Cj5UaGlzIHNlbnRlbmNlIG5lZWRzIGdyYW1tYXIgY2hlY2suDQpXaWxsIGRvLg0KPg0KPj4gVGhl IGNvbW1vbiBzeXNmcyBFQ1MNCj4+ICsgKiBpbnRlcmZhY2UgYWJzdHJhY3RzIHRoZSBjb250cm9s IG9mIGFuIGFyYml0cmFyeSBFQ1MNCj4+ICsgKiBmdW5jdGlvbmFsaXR5IHRvIGEgY29tbW9uIHNl dCBvZiBmdW5jdGlvbnMuDQo+PiArICoNCj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjQgSGlTaWxp Y29uIExpbWl0ZWQuDQo+PiArICovDQo+PiArDQo+DQo+I3VuZGVmIHByX2ZtdA0KPg0KPj4gKyNk ZWZpbmUgcHJfZm10KGZtdCkgICAgICJFREFDIEVDUzogIiBmbXQNCj4NCj5HcmVwIHRoZSB0cmVl IGZvciBleGFtcGxlcyBob3cgdG8gZG8gdGhhdCBwcm9wZXJseS4NCj4NCj5BbHNvLCB0aGlzIHBy X2ZtdCBsb29rcyB1bnVzZWQuDQpJIHdpbGwgcmVtb3ZlLg0KPg0KPj4gK3N0YXRpYyB1bW9kZV90 IGVjc19hdHRyX3Zpc2libGUoc3RydWN0IGtvYmplY3QgKmtvYmosIHN0cnVjdA0KPj4gK2F0dHJp YnV0ZSAqYSwgaW50IGF0dHJfaWQpIHsNCj4+ICsJc3RydWN0IGRldmljZSAqcmFzX2ZlYXRfZGV2 ID0ga29ial90b19kZXYoa29iaik7DQo+PiArCXN0cnVjdCBlZGFjX2Rldl9mZWF0X2N0eCAqY3R4 ID0gZGV2X2dldF9kcnZkYXRhKHJhc19mZWF0X2Rldik7DQo+PiArCWNvbnN0IHN0cnVjdCBlZGFj X2Vjc19vcHMgKm9wcyA9IGN0eC0+ZWNzLmVjc19vcHM7DQo+PiArDQo+PiArCXN3aXRjaCAoYXR0 cl9pZCkgew0KPj4gKwljYXNlIEVDU19MT0dfRU5UUllfVFlQRToNCj4+ICsJCWlmIChvcHMtPmdl dF9sb2dfZW50cnlfdHlwZSkgIHsNCj4+ICsJCQlpZiAob3BzLT5zZXRfbG9nX2VudHJ5X3R5cGUp DQo+PiArCQkJCXJldHVybiBhLT5tb2RlOw0KPj4gKwkJCWVsc2UNCj4+ICsJCQkJcmV0dXJuIDA0 NDQ7DQo+DQo+V2hhdCBpcyB0aGUgZ29hbCBmb3IgdGhlIGFjY2VzcyBtb2RlIG9mIGFsbCB0aG9z ZSBzeXNmcyBlbnRyaWVzPyBJIHN1cmUgaG9wZSBpdCBpcw0KPmdvaW5nIHRvIGJlIHJvb3Qtb25s eSBuby1tYXR0ZXIgd2hhdC4gSSBkb24ndCB3YW50IG5vcm1hbCB1c2VycyB0byBjYXVzZSBzY3J1 Yg0KPmFjdGl2aXR5LiBQbGVhc2UgbWFrZSBzdXJlIHlvdXIgd2hvbGUgc2V0IGRvZXMgdGhhdC4N ClRoaXMgaXMgdGhlIGF0dHJpYnV0ZV9ncm91cCdzIGlzX3Zpc2libGUoKSBjYWxsYmFjayAgZm9y IGNvbnRyb2xsaW5nIHRoZSB2aXNpYmlsaXR5DQpvZiB0aGUgYXR0cmlidXRlcyBiYXNlZCBvbiB3 aGV0aGVyIGF0dHJpYnV0ZSBpcyBhZGRlZCBvciBub3QgYnkgdGhlIHBhcmVudCBkcml2ZXIuDQpZ ZXMuICBXcml0YWJsZSBvbmx5IGJ5IHRoZSByb290LiANCj4NCj4+ICsJCX0NCj4+ICsJCWJyZWFr Ow0KPj4gKwljYXNlIEVDU19MT0dfRU5UUllfVFlQRV9QRVJfRFJBTToNCj4+ICsJCWlmIChvcHMt PmdldF9sb2dfZW50cnlfdHlwZV9wZXJfZHJhbSkNCj4+ICsJCQlyZXR1cm4gYS0+bW9kZTsNCj4+ ICsJCWJyZWFrOw0KWy4uLl0NCj4JRURBQ19FQ1NfQVRUUl9STyhsb2dfZW50cnlfdHlwZV9wZXJf ZHJhbSwgZnJ1KTsNCj4+ICsJCWZydV9jdHgtDQo+PmVjc19kZXZfYXR0cltFQ1NfTE9HX0VOVFJZ X1RZUEVfUEVSX01FTU9SWV9NRURJQV0gPQ0KPj4gKw0KPglFREFDX0VDU19BVFRSX1JPKGxvZ19l bnRyeV90eXBlX3Blcl9tZW1vcnlfbWVkaWEsIGZydSk7DQo+PiArCQlmcnVfY3R4LT5lY3NfZGV2 X2F0dHJbRUNTX01PREVdID0NCj5FREFDX0VDU19BVFRSX1JXKG1vZGUsIGZydSk7DQo+PiArCQlm cnVfY3R4LT5lY3NfZGV2X2F0dHJbRUNTX01PREVfQ09VTlRTX1JPV1NdID0NCj4+ICsNCj4JRURB Q19FQ1NfQVRUUl9STyhtb2RlX2NvdW50c19yb3dzLCBmcnUpOw0KPj4gKwkJZnJ1X2N0eC0+ZWNz X2Rldl9hdHRyW0VDU19NT0RFX0NPVU5UU19DT0RFV09SRFNdID0NCj4+ICsNCj4JRURBQ19FQ1Nf QVRUUl9STyhtb2RlX2NvdW50c19jb2Rld29yZHMsIGZydSk7DQo+PiArCQlmcnVfY3R4LT5lY3Nf ZGV2X2F0dHJbRUNTX1JFU0VUXSA9DQo+RURBQ19FQ1NfQVRUUl9XTyhyZXNldCwgZnJ1KTsNCj4+ ICsJCWZydV9jdHgtPmVjc19kZXZfYXR0cltFQ1NfVEhSRVNIT0xEXSA9DQo+RURBQ19FQ1NfQVRU Ul9SVyh0aHJlc2hvbGQsDQo+PiArZnJ1KTsNCj4NCj5DbGVhcmx5IHRvbyBsb25nIHZhcmlhYmxl IGFuZCBkZWZpbmUgbmFtZXMuIFNob3J0ZW4gcGxzLg0KV2lsbCBkbw0KPg0KPkFsc28sIGEgbmV3 IGxpbmUgaGVyZToNCk9rLg0KPg0KPjwtLS0NCj4NCj4NClsuLi5dDQo+PiArCQljYXNlIFJBU19G RUFUX0VDUzoNCj4+ICsJCQlpZiAoIXJhc19mZWF0dXJlcy0+ZWNzX29wcykNCj4+ICsJCQkJZ290 byBkYXRhX21lbV9mcmVlOw0KPg0KPjwtLS0tIG5ld2xpbmUgaGVyZS4NCldpbCBkby4NCj4NCj4+ ICsJCQlkZXZfZGF0YSA9ICZjdHgtPmVjczsNCj4+ICsJCQlkZXZfZGF0YS0+ZWNzX29wcyA9IHJh c19mZWF0dXJlcy0+ZWNzX29wczsNCj4+ICsJCQlkZXZfZGF0YS0+cHJpdmF0ZSA9IHJhc19mZWF0 dXJlcy0+Y3R4Ow0KPj4gKwkJCXJldCA9IGVkYWNfZWNzX2dldF9kZXNjKHBhcmVudCwNCj4mcmFz X2F0dHJfZ3JvdXBzW2F0dHJfZ2NudF0sDQo+PiArCQkJCQkJcmFzX2ZlYXR1cmVzLQ0KPj5lY3Nf aW5mby5udW1fbWVkaWFfZnJ1cyk7DQo+PiArCQkJaWYgKHJldCkNCj4+ICsJCQkJZ290byBkYXRh X21lbV9mcmVlOw0KPg0KPkRpdHRvLg0KV2lsIGRvLg0KPg0KPj4gKwkJCWF0dHJfZ2NudCArPSBy YXNfZmVhdHVyZXMtPmVjc19pbmZvLm51bV9tZWRpYV9mcnVzOw0KPj4gKwkJCWJyZWFrOw0KPj4g IAkJZGVmYXVsdDoNCj4+ICAJCQlyZXQgPSAtRUlOVkFMOw0KPj4gIAkJCWdvdG8gZGF0YV9tZW1f ZnJlZTsNCj4NCj4tLQ0KPlJlZ2FyZHMvR3J1c3MsDQo+ICAgIEJvcmlzLg0KDQpUaGFua3MsDQpT aGlqdQ0K