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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 976B7C4345F for ; Tue, 16 Apr 2024 17:35:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:CC:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=I/aUTh+CRs9LnwB8pwzpIvVm+I8dXdUjrOkPvkMhYWo=; b=i71URHHxF7zwaA +DJvOaCl0rcRjZwE6eyIZ82H3Wy1To40Mrr4fWNdGuZDZ2FmbRB6FQ+IbxHSc2YVf9swMQ6PK+O5v qunTteL+XkCF3ACyUEH5tjQElnZLBZB1eMnKcnPGzH3wzLOnAJNUdY5iU8nY0Cxn7oEw4EJbpecqq 4Eb6KwZYa7gzdBiBUDTkkc6ghQVmbBJi692nYRa3T7oVoc5v5lozqGvxSbrVgbzVpoVK0h7nv1oz2 Y15fgV6aIIIoH4jcIMc+tY9XeFUW+6+zCifVHC3u43U+4JECf2uocjfjyzyM6joejtLpAuc/6bfTS c+FYN5TxCRSWkufx7Cuw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwmiF-0000000DCe7-31F2; Tue, 16 Apr 2024 17:35:19 +0000 Received: from frasgout.his.huawei.com ([185.176.79.56]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwmiB-0000000DCcn-20bm for linux-arm-kernel@lists.infradead.org; Tue, 16 Apr 2024 17:35:18 +0000 Received: from mail.maildlp.com (unknown [172.18.186.31]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4VJrdq4sLxz6K8xC; Wed, 17 Apr 2024 01:30:07 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (unknown [7.191.163.240]) by mail.maildlp.com (Postfix) with ESMTPS id 185F11400D3; Wed, 17 Apr 2024 01:35:04 +0800 (CST) Received: from localhost (10.202.227.76) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 16 Apr 2024 18:35:03 +0100 Date: Tue, 16 Apr 2024 18:35:02 +0100 From: Jonathan Cameron To: "Rafael J. Wysocki" CC: , , , , , , , , , Russell King , Miguel Luis , James Morse , Salil Mehta , Jean-Philippe Brucker , Catalin Marinas , Will Deacon , , Subject: Re: [PATCH v5 02/18] ACPI: processor: Set the ACPI_COMPANION for the struct cpu instance Message-ID: <20240416183502.00007527@Huawei.com> In-Reply-To: References: <20240412143719.11398-1-Jonathan.Cameron@huawei.com> <20240412143719.11398-3-Jonathan.Cameron@huawei.com> <20240415164854.0000264f@Huawei.com> <20240415175057.00002e11@Huawei.com> <20240415183454.000072f6@Huawei.com> Organization: Huawei Technologies Research and Development (UK) Ltd. X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; x86_64-w64-mingw32) MIME-Version: 1.0 X-Originating-IP: [10.202.227.76] X-ClientProxiedBy: lhrpeml100002.china.huawei.com (7.191.160.241) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240416_103515_812289_C563CF8D X-CRM114-Status: GOOD ( 64.28 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCAxNSBBcHIgMjAyNCAxOTo0MTo0MyArMDIwMAoiUmFmYWVsIEouIFd5c29ja2kiIDxy YWZhZWxAa2VybmVsLm9yZz4gd3JvdGU6Cgo+IE9uIE1vbiwgQXByIDE1LCAyMDI0IGF0IDc6MzXi gK9QTSBKb25hdGhhbiBDYW1lcm9uCj4gPEpvbmF0aGFuLkNhbWVyb25AaHVhd2VpLmNvbT4gd3Jv dGU6Cj4gPgo+ID4gT24gTW9uLCAxNSBBcHIgMjAyNCAxNzo1MDo1NyArMDEwMAo+ID4gSm9uYXRo YW4gQ2FtZXJvbiA8Sm9uYXRoYW4uQ2FtZXJvbkBIdWF3ZWkuY29tPiB3cm90ZToKPiA+ICAKPiA+ ID4gT24gTW9uLCAxNSBBcHIgMjAyNCAxODoxOToxNyArMDIwMAo+ID4gPiAiUmFmYWVsIEouIFd5 c29ja2kiIDxyYWZhZWxAa2VybmVsLm9yZz4gd3JvdGU6Cj4gPiA+ICAKPiA+ID4gPiBPbiBNb24s IEFwciAxNSwgMjAyNCBhdCA2OjE24oCvUE0gUmFmYWVsIEouIFd5c29ja2kgPHJhZmFlbEBrZXJu ZWwub3JnPiB3cm90ZTogIAo+ID4gPiA+ID4KPiA+ID4gPiA+IE9uIE1vbiwgQXByIDE1LCAyMDI0 IGF0IDU6NDnigK9QTSBKb25hdGhhbiBDYW1lcm9uCj4gPiA+ID4gPiA8Sm9uYXRoYW4uQ2FtZXJv bkBodWF3ZWkuY29tPiB3cm90ZTogIAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBPbiBGcmksIDEy IEFwciAyMDI0IDIwOjEwOjU0ICswMjAwCj4gPiA+ID4gPiA+ICJSYWZhZWwgSi4gV3lzb2NraSIg PHJhZmFlbEBrZXJuZWwub3JnPiB3cm90ZToKPiA+ID4gPiA+ID4gIAo+ID4gPiA+ID4gPiA+IE9u IEZyaSwgQXByIDEyLCAyMDI0IGF0IDQ6MzjigK9QTSBKb25hdGhhbiBDYW1lcm9uCj4gPiA+ID4g PiA+ID4gPEpvbmF0aGFuLkNhbWVyb25AaHVhd2VpLmNvbT4gd3JvdGU6ICAKPiA+ID4gPiA+ID4g PiA+Cj4gPiA+ID4gPiA+ID4gPiBUaGUgYXJtNjQgc3BlY2lmaWMgYXJjaF9yZWdpc3Rlcl9jcHUo KSBuZWVkcyB0byBhY2Nlc3MgdGhlIF9TVEEKPiA+ID4gPiA+ID4gPiA+IG1ldGhvZCBvZiB0aGUg RFNEVCBvYmplY3Qgc28gbWFrZSBpdCBhdmFpbGFibGUgYnkgYXNzaWduaW5nIHRoZQo+ID4gPiA+ ID4gPiA+ID4gYXBwcm9wcmlhdGUgaGFuZGxlIHRvIHRoZSBzdHJ1Y3QgY3B1IGluc3RhbmNlLgo+ ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIENh bWVyb24gPEpvbmF0aGFuLkNhbWVyb25AaHVhd2VpLmNvbT4KPiA+ID4gPiA+ID4gPiA+IC0tLQo+ ID4gPiA+ID4gPiA+ID4gIGRyaXZlcnMvYWNwaS9hY3BpX3Byb2Nlc3Nvci5jIHwgMyArKysKPiA+ ID4gPiA+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCj4gPiA+ID4gPiA+ ID4gPgo+ID4gPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNwaS9hY3BpX3Byb2Nl c3Nvci5jIGIvZHJpdmVycy9hY3BpL2FjcGlfcHJvY2Vzc29yLmMKPiA+ID4gPiA+ID4gPiA+IGlu ZGV4IDdhMGRkMzVkNjJjOS4uOTNlMDI5NDAzZDA1IDEwMDY0NAo+ID4gPiA+ID4gPiA+ID4gLS0t IGEvZHJpdmVycy9hY3BpL2FjcGlfcHJvY2Vzc29yLmMKPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2Ry aXZlcnMvYWNwaS9hY3BpX3Byb2Nlc3Nvci5jCj4gPiA+ID4gPiA+ID4gPiBAQCAtMjM1LDYgKzIz NSw3IEBAIHN0YXRpYyBpbnQgYWNwaV9wcm9jZXNzb3JfZ2V0X2luZm8oc3RydWN0IGFjcGlfZGV2 aWNlICpkZXZpY2UpCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVuaW9uIGFjcGlfb2JqZWN0IG9i amVjdCA9IHsgMCB9Owo+ID4gPiA+ID4gPiA+ID4gICAgICAgICBzdHJ1Y3QgYWNwaV9idWZmZXIg YnVmZmVyID0geyBzaXplb2YodW5pb24gYWNwaV9vYmplY3QpLCAmb2JqZWN0IH07Cj4gPiA+ID4g PiA+ID4gPiAgICAgICAgIHN0cnVjdCBhY3BpX3Byb2Nlc3NvciAqcHIgPSBhY3BpX2RyaXZlcl9k YXRhKGRldmljZSk7Cj4gPiA+ID4gPiA+ID4gPiArICAgICAgIHN0cnVjdCBjcHUgKmM7Cj4gPiA+ ID4gPiA+ID4gPiAgICAgICAgIGludCBkZXZpY2VfZGVjbGFyYXRpb24gPSAwOwo+ID4gPiA+ID4g PiA+ID4gICAgICAgICBhY3BpX3N0YXR1cyBzdGF0dXMgPSBBRV9PSzsKPiA+ID4gPiA+ID4gPiA+ ICAgICAgICAgc3RhdGljIGludCBjcHUwX2luaXRpYWxpemVkOwo+ID4gPiA+ID4gPiA+ID4gQEAg LTMxNCw2ICszMTUsOCBAQCBzdGF0aWMgaW50IGFjcGlfcHJvY2Vzc29yX2dldF9pbmZvKHN0cnVj dCBhY3BpX2RldmljZSAqZGV2aWNlKQo+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgY3B1ZnJlcV9hZGRfZGV2aWNlKCJhY3BpLWNwdWZyZXEiKTsKPiA+ID4gPiA+ID4gPiA+ ICAgICAgICAgfQo+ID4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgYyA9ICZw ZXJfY3B1KGNwdV9kZXZpY2VzLCBwci0+aWQpOwo+ID4gPiA+ID4gPiA+ID4gKyAgICAgICBBQ1BJ X0NPTVBBTklPTl9TRVQoJmMtPmRldiwgZGV2aWNlKTsgIAo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4gVGhpcyBpcyBhbHNvIHNldCBmb3IgcGVyX2NwdShjcHVfc3lzX2RldmljZXMsIHByLT5p ZCkgaW4KPiA+ID4gPiA+ID4gPiBhY3BpX3Byb2Nlc3Nvcl9hZGQoKSwgdmlhIGFjcGlfYmluZF9v bmUoKS4gIAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBIaSBSYWZhZWwsCj4gPiA+ID4gPiA+Cj4g PiA+ID4gPiA+IGNwdV9zeXNfZGV2aWNlcyBnZXRzIGZpbGxlZCB3aXRoIGEgcG9pbnRlciB0byB0 aGlzIHNhbWUgc3RydWN0dXJlLgo+ID4gPiA+ID4gPiBUaGUgY29udGVudHMgZ2V0cyBzZXQgaW4g cmVnaXN0ZXJfY3B1KCkgc28gYXQgdGhpcyBwb2ludAo+ID4gPiA+ID4gPiBpdCBkb2Vzbid0IHBv aW50IGFueXdoZXJlLiAgQXMgYSBzaWRlIG5vdGUgcmVnaXN0ZXJfY3B1KCkKPiA+ID4gPiA+ID4g bWVtc2V0cyB0byB6ZXJvIHRoZSB2YWx1ZSBJIHNldCBpdCB0byBpbiB0aGUgY29kZSBhYm92ZSB3 aGljaCBpc24ndAo+ID4gPiA+ID4gPiBncmVhdCwgcGFydGljdWxhcmx5IGFzIEkgd2FudCB0byB1 c2UgdGhpcyBpbiBwb3N0X2VqZWN0IGZvcgo+ID4gPiA+ID4gPiBhcm02NC4KPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gV2UgY291bGQgbWFrZSBhIGNvcHkgb2YgdGhlIGhhbmRsZSBhbmQgcHV0IGl0 IGJhY2sgYWZ0ZXIKPiA+ID4gPiA+ID4gdGhlIG1lbXNldCBpbiByZWdpc3Rlcl9jcHUoKSBidXQg dGhhdCBpcyBhbHNvIHVnbHkuCj4gPiA+ID4gPiA+IEl0J3MgdGhlIGJlc3QgSSd2ZSBjb21lIHVw IHdpdGggdG8gbWFrZSBzdXJlIHRoaXMgaXMgc3RpbGwgc2V0Cj4gPiA+ID4gPiA+IGNvbWUgcmVt b3ZlIHRpbWUgYnV0IGlzIHJhdGhlciBvZGQuICAKPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ IE1vcmVvdmVyLCB0aGVyZSBpcyBzb21lIHByLT5pZCB2YWxpZGF0aW9uIGluIGFjcGlfcHJvY2Vz c29yX2FkZCgpLCBzbwo+ID4gPiA+ID4gPiA+IGl0IHNlZW1zIHByZW1hdHVyZSB0byB1c2UgaXQg aGVyZSB0aGlzIHdheS4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEkgdGhpbmsgdGhhdCBB Q1BJX0NPTVBBTklPTl9TRVQoKSBzaG91bGQgYmUgY2FsbGVkIGZyb20gaGVyZSBvbgo+ID4gPiA+ ID4gPiA+IHBlcl9jcHUoY3B1X3N5c19kZXZpY2VzLCBwci0+aWQpIGFmdGVyIHZhbGlkYXRpbmcg cHItPmlkIChzbyB0aGUKPiA+ID4gPiA+ID4gPiBwci0+aWQgdmFsaWRhdGlvbiBzaG91bGQgYWxs IGJlIGRvbmUgaGVyZSkgYW5kIHRoZW4gTlVMTCBjYW4gYmUgcGFzc2VkCj4gPiA+ID4gPiA+ID4g YXMgYWNwaV9kZXYgdG8gYWNwaV9iaW5kX29uZSgpIGluIGFjcGlfcHJvY2Vzc29yX2FkZCgpLiAg VGhlbiwgdGhlcmUKPiA+ID4gPiA+ID4gPiB3aWxsIGJlIG9uZSBwaHlzaWNhbCBkZXZpY2UgY29y cmVzcG9uZGluZyB0byB0aGUgcHJvY2Vzc29yIEFDUEkgZGV2aWNlCj4gPiA+ID4gPiA+ID4gYW5k IG5vIGNvbmZ1c2lvbi4gIAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBJJ20gZmFpcmx5IHN1cmUg dGhpcyBpcyBwb2ludGluZyB0byB0aGUgc2FtZSBkZXZpY2UgYnV0IGFncmVlZCB0aGlzCj4gPiA+ ID4gPiA+IGlzIGEgdGlueSBiaXQgY29uZnVzaW5nLiBIb3dldmVyIHdlIGNhbid0IHVzZSBjcHVf c3lzX2RldmljZXMgYXQgdGhpcyBwb2ludAo+ID4gPiA+ID4gPiBzbyBJJ20gbm90IGltbWVkaWF0 ZWx5IHNlZWluZyBhIGNsZWFuZXIgc29sdXRpb24gOiggIAo+ID4gPiA+ID4KPiA+ID4gPiA+IFdl bGwsIE9LLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFBsZWFzZSBhdCBsZWFzdCBjb25zaWRlciBkb2lu ZyB0aGUgcHItPmlkIHZhbGlkYXRpb24gY2hlY2tzIGJlZm9yZQo+ID4gPiA+ID4gc2V0dGluZyB0 aGUgQUNQSSBjb21wYW5pb24gZm9yICZwZXJfY3B1KGNwdV9kZXZpY2VzLCBwci0+aWQpLgo+ID4g PiA+ID4KPiA+ID4gPiA+IEFsc28sIGFjcGlfYmluZF9vbmUoKSBuZWVkcyB0byBiZSBjYWxsZWQg b24gdGhlICJwaHlzaWNhbCIgZGV2aWNlcwo+ID4gPiA+ID4gcGFzc2VkIHRvIEFDUElfQ09NUEFO SU9OX1NFVCgpICh3aXRoIE5VTEwgYXMgdGhlIHNlY29uZCBhcmd1bWVudCkgZm9yCj4gPiA+ID4g PiB0aGUgcmVmZXJlbmNlIGNvdW50aW5nIGFuZCBwaHlzaWNhbCBkZXZpY2UgbG9va3VwIHRvIHdv cmsuCj4gPiA+ID4gPgo+ID4gPiA+ID4gUGxlYXNlIGFsc28gbm90ZSB0aGF0IGFjcGlfcHJpbWFy eV9kZXZfY29tcGFuaW9uKCkgc2hvdWxkIHJldHVybgo+ID4gPiA+ID4gcGVyX2NwdShjcHVfc3lz X2RldmljZXMsIHByLT5pZCkgZm9yIHRoZSBwcm9jZXNzb3IgQUNQSSBkZXZpY2UsIHdoaWNoCj4g PiA+ID4gPiBkZXBlbmRzIG9uIHRoZSBvcmRlciBvZiBhY3BpX2JpbmRfb25lKCkgY2FsbHMgaW52 b2x2aW5nIHRoZSBzYW1lIEFDUEkKPiA+ID4gPiA+IGRldmljZS4gIAo+ID4gPiA+Cj4gPiA+ID4g T2YgY291cnNlLCBpZiB0aGUgdmFsdWUgc2V0IGJ5IEFDUElfQ09NUEFOSU9OX1NFVCgpIGlzIGNs ZWFyZWQKPiA+ID4gPiBzdWJzZXF1ZW50bHksIHRoZSBhYm92ZSBpcyBub3QgbmVlZGVkLCBidXQg dGhlbiB1c2luZwo+ID4gPiA+IEFDUElfQ09NUEFOSU9OX1NFVCgpIGlzIHF1ZXN0aW9uYWJsZSBv dmVyYWxsLiAgCj4gPiA+Cj4gPiA+IEFncmVlZCArIHNtb290aGluZyBvdmVyIHRoYXQgYnkgc3Rh c2hpbmcgYW5kIHB1dHRpbmcgaXQgYmFjayBkb2Vzbid0Cj4gPiA+IHdvcmsgYmVjYXVzZSB0aGVy ZSBpcyBhbiBhZGRpdGlvbmFsIGNhbGwgdG8gYWNwaV9iaW5kX29uZSgpIGluYmV0d2Vlbgo+ID4g PiBoZXJlIGFuZCB0aGUgb25lIHlvdSByZWZlcmVuY2UuCj4gPiA+Cj4gPiA+IFRoZSBhcmNoX3Jl Z2lzdGVyX2NwdSgpIGNhbGxzIGVuZCB1cCBjYWxsaW5nIHJlZ2lzdGVyX2NwdSgpIC8KPiA+ID4g ZGV2aWNlX3JlZ2lzdGVyKCkgLyBhY3BpX2RldmljZV9ub3RpZnkoKSAvIGFjcGlfYmluZF9vbmUo KQo+ID4gPgo+ID4gPiBXaXRoIGN1cnJlbnQgY29kZSB0aGF0IGZhaWxzIChzaWxlbnRseSkgIAo+ IAo+IEFuZCB0aGF0J3Mgd2h5IHRoZXJlIGlzIGFuIGV4cGxpY2l0IGFjcGlfYmluZF9vbmUoKSBp bnZvY2F0aW9uIGluCj4gYWNwaV9wcm9jZXNzb3JfYWRkKCkuCj4gCj4gPiA+IElmIEkgbWFrZSBz dXJlIHRoZSBoYW5kbGUgaXMgc2V0IGJlZm9yZSByZWdpc3Rlcl9jcHUoKSB0aGVuIGl0Cj4gPiA+ IHN1Y2NlZWRzLCBidXQgd2UgZW5kIHVwIHdpdGggZHVwbGljYXRlIHN5c2ZzIGZpbGVzIGV0YyBi ZWNhdXNlIHdlCj4gPiA+IGJpbmQgdHdpY2UuICAKPiAKPiBSaWdodCwgSSBzaG91bGQgaGF2ZSBy ZWNhbGxlZCB0aGF0IGVhcmxpZXIuCj4gCj4gPiA+IEkgdGhpbmsgdGhlIG9ubHkgd2F5IGFyb3Vu ZCB0aGlzIGlzIGxhcmdlciByZW9yZ2FuaXphdGlvbiBvZiB0aGUKPiA+ID4gQ1BVIGhvdHBsdWcg Y29kZSB0byBwdWxsIHRoZSBhcmNoX3JlZ2lzdGVyX2NwdSgpIGNhbGwgdG8gd2hlcmUKPiA+ID4g dGhlIGFjcGlfYmluZF9vbmUoKSBjYWxsIGlzLiAgSG93ZXZlciB0aGF0IGNoYW5nZXMgYSBsb3Qg bW9yZSB0aGFuIEknZCBsaWtlCj4gPiA+IChhbmQgSSBkb24ndCBoYXZlIGl0IHdvcmtpbmcgeWV0 KS4gIAo+IAo+IEkgc2VlLgo+IAo+ID4gPiBBbHRlcm5hdGl2ZWx5IGZpbmQgc29tZXdoZXJlIGVs c2UgdG8gc3Rhc2ggdGhlIGhhbmRsZSwgb3IganVzdCBhZGQgaXQgYXMKPiA+ID4gYSBwYXJhbWV0 ZXIgdG8gYXJjaF9yZWdpc3Rlcl9jcHUoKS4gUmlnaHQgbm93IHRoaXMgZmVlbHMgdGhlIGVhc2ll cgo+ID4gPiBwYXRoIHRvIG1lLiBhcmNoX3JlZ2lzdGVyX2NwdShpbnQgY3B1LCBhY3BpX2hhbmRs ZSBoYW5kbGUpCj4gPiA+Cj4gPiA+IFdvdWxkIHRoYXQgYmUgYSBwYXRoIHlvdSdkIGNvbnNpZGVy PyAgCj4gPgo+ID4gQW5vdGhlciBvcHRpb24gd291bGQgYmUgdG8gZG8gdGhlIHBlcl9jcHUocHJv Y2Vzc29ycywgcHItPmlkKSA9IHByCj4gPiBhIGZldyBsaW5lcyBlYXJsaWVyIHRoYW4gY3VycmVu dGx5IGFuZCBhY2Nlc3MgdGhhdCBkaXJlY3RseSBmcm9tIHRoZQo+ID4gYXJjaF9yZWdpc3Rlcl9j cHUoKSBjYWxsLiAgU2ltaWxhcmx5IHJlbW92ZSB0aGF0IHJlZmVyZW5jZSBhIGJpdCBsYXRlciBh bmQKPiA+IHVzZSBpdCBpbiBhcmNoX3VucmVnaXN0ZXJfY3B1KCkuCj4gPgo+ID4gVGhpcyBzZWVt cyBsaWtlIHRoZSBzaW1wbGVzdCBzb2x1dGlvbiwgYnV0IEkgbWF5IGJlIG1pc3Npbmcgc29tZXRo aW5nLiAgCj4gCj4gVGhpcyBzaG91bGQgd29yayBBRkFJQ1MsIGJ1dCBJJ2QgbW92ZSB0aGUgZW50 aXJlIHBpZWNlIG9mIGNvZGUgYmV0d2Vlbgo+IEJVR19PTigpIGFuZCBzZXR0aW5nIHBlcl9jcHUo cHJvY2Vzc29ycywgcHItPmlkKSBpbmNsdXNpdmU6CgpIaSBSYWZhZWwsCgpVbmZvcnR1bmF0ZWx5 IHRoaXMgaXMgbW9yZSBjb21wbGV4IG9uIHg4NiB0aGFuIEkgcmVhbGl6ZWQgOigKCk9uIHg4NiB0 aGUgaW5pdGlhbCBwci0+aWQgaXMgaW52YWxpZCwgd2hpY2ggaXMgb25lIG9mIHRoZSBjb25kaXRp b25zCnRoYXQgbGVhZHMgdG8gYWNwaV9wcm9jZXNzb3JfaG90YWRkX2luaXQoKSBiZWluZyBjYWxs ZWQuCkl0IG9ubHkgYmVjb21lIHZhbGlkIGFmdGVyIGFjcGlfbWFwX2NwdSgpIGluIGFjcGlfcHJv Y2Vzc29yX2hvdGFkZF9pbml0KCkuCgpTbyB0aGUgYmVzdCBJIGNhbiBpbW1lZGlhdGVseSBjb21l IHVwIHdpdGggaXMgdG8gZmFjdG9yIG91dCB0aGVzZSBjaGVja3MgYW5kIHRoZQpzZXR0aW5nIG9m IHRoZSBwZXJfY3B1IHN0cnVjdHVyZXMgYW5kIHNldCB0aGVtIGVpdGhlciBpbiBhY3BpX3Byb2Nl c3Nvcl9ob3RhZGRfaW5pdCgpCm9yIGluIGFuIGVsc2UgZm9yIHRoZSBub24gaG90cGx1ZyAvIG5v cm1hbCByZWdpc3RyYXRpb24gcGF0aCAod2hlcmUgdGhlIHByLT5pZCBpcyB2YWxpZCkuCgpOYXR1 cmFsbHkgZm91bmQgdGhpcyBvbiBteSBmaW5hbCBzZXQgb2YgdGVzdHMuLi4KCkEgbGl0dGxlIHVn bHkgYnV0IG5vdCAndG9vIGJhZCcuIAoKSm9uYXRoYW4KcC5zLiBObyBvbmUgbWluZHMgaWYgSSBi cmVhayB4ODYsIHJpZ2h0PwoKCgoKCj4gCj4gICAgIEJVR19PTihwci0+aWQgPj0gbnJfY3B1X2lk cyk7Cj4gCj4gICAgIC8qCj4gICAgICAqIEJ1Z2d5IEJJT1MgY2hlY2suCj4gICAgICAqIEFDUEkg aWQgb2YgcHJvY2Vzc29ycyBjYW4gYmUgcmVwb3J0ZWQgd3JvbmdseSBieSB0aGUgQklPUy4KPiAg ICAgICogRG9uJ3QgdHJ1c3QgaXQgYmxpbmRseQo+ICAgICAgKi8KPiAgICAgaWYgKHBlcl9jcHUo cHJvY2Vzc29yX2RldmljZV9hcnJheSwgcHItPmlkKSAhPSBOVUxMICYmCj4gICAgICAgICBwZXJf Y3B1KHByb2Nlc3Nvcl9kZXZpY2VfYXJyYXksIHByLT5pZCkgIT0gZGV2aWNlKSB7Cj4gICAgICAg ICBkZXZfd2FybigmZGV2aWNlLT5kZXYsCj4gICAgICAgICAgICAgIkJJT1MgcmVwb3J0ZWQgd3Jv bmcgQUNQSSBpZCAlZCBmb3IgdGhlIHByb2Nlc3NvclxuIiwKPiAgICAgICAgICAgICBwci0+aWQp Owo+ICAgICAgICAgLyogR2l2ZSB1cCwgYnV0IGRvIG5vdCBhYm9ydCB0aGUgbmFtZXNwYWNlIHNj YW4uICovCj4gICAgICAgICBnb3RvIGVycjsKPiAgICAgfQo+ICAgICAvKgo+ICAgICAgKiBwcm9j ZXNzb3JfZGV2aWNlX2FycmF5IGlzIG5vdCBjbGVhcmVkIG9uIGVycm9ycyB0byBhbGxvdyBidWdn eSBCSU9TCj4gICAgICAqIGNoZWNrcy4KPiAgICAgICovCj4gICAgIHBlcl9jcHUocHJvY2Vzc29y X2RldmljZV9hcnJheSwgcHItPmlkKSA9IGRldmljZTsKPiAgICAgcGVyX2NwdShwcm9jZXNzb3Jz LCBwci0+aWQpID0gcHI7Cj4gCj4gaW50byBhY3BpX3Byb2Nlc3Nvcl9nZXRfaW5mbygpLCByaWdo dCBhZnRlciB0aGUgcG9pbnQgd2hlcmUgcHItPmlkIGlzIHNldC4KCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcg bGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==