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 75851C433F5 for ; Wed, 19 Jan 2022 06:41:56 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=m1uZaQWgAFSHqfjLFb4kU7BKKQAYwJeE5oR2HOsC4kI=; b=SqYFkwTXVcMQwl dvkL5O5m+SN23nBEJBgr7Q4mdm9IOs9c9G1o6mF6GH4lBzkp3TBdix71kwyiPXAvCnEtWxxb/qGbt Br00CPjSR/VUxpQTV48HgPqhuQGeVgr7rYe6NQE3SGW8Et116fPJFZ3mf5GDPanYeRlulB8+wYT9Q 71S8ksoBg3CWr7zjzkkGLcW+/Kwz8cKXH5KpPRYlLXun9Hrw+fL4IEZ54mZysCn2Xle2rRITgvgjz IxyY55hy8f1D0M2DBON5CVIlct+IaC0cjcm1+N2aoKbRdja8hbzHSmtVTpdoxIIcUQrM9cGXcRlne 21W/sxobYNeEYehEWqCA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nA4du-003zaC-U4; Wed, 19 Jan 2022 06:40:27 +0000 Received: from out30-54.freemail.mail.aliyun.com ([115.124.30.54]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nA4do-003zXh-Nu for linux-arm-kernel@lists.infradead.org; Wed, 19 Jan 2022 06:40:24 +0000 X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R581e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=e01e04426; MF=xueshuai@linux.alibaba.com; NM=1; PH=DS; RN=14; SR=0; TI=SMTPD_---0V2FVpIl_1642574412; Received: from 30.240.112.67(mailfrom:xueshuai@linux.alibaba.com fp:SMTPD_---0V2FVpIl_1642574412) by smtp.aliyun-inc.com(127.0.0.1); Wed, 19 Jan 2022 14:40:13 +0800 Message-ID: Date: Wed, 19 Jan 2022 14:40:11 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH v5] ACPI: Move sdei_init and ghes_init ahead to handle platform errors earlier Content-Language: en-US To: Bjorn Helgaas , "Rafael J. Wysocki" Cc: bp@alien8.de, tony.luck@intel.com, james.morse@arm.com, lenb@kernel.org, rjw@rjwysocki.net, bhelgaas@google.com, zhangliguang@linux.alibaba.com, zhuo.song@linux.alibaba.com, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org References: <20220118224935.GA903617@bhelgaas> From: Shuai Xue In-Reply-To: <20220118224935.GA903617@bhelgaas> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220118_224021_260159_06DA0061 X-CRM114-Status: GOOD ( 62.14 ) 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 Wyt0byBSYWZhZWwsIHF1ZXN0aW9uIGFib3V0IEhFU1QvR0hFUy9TREVJIGluaXRdCgpIaSwgQmpv cm4sCgpUaGFuayB5b3UgZm9yIHlvdXIgY29tbWVudHMgYW5kIHF1aWNrIHJlcGx5LgoK5ZyoIDIw MjIvMS8xOSBBTTY6NDksIEJqb3JuIEhlbGdhYXMg5YaZ6YGTOgo+IE9uIFN1biwgSmFuIDE2LCAy MDIyIGF0IDA0OjQzOjEwUE0gKzA4MDAsIFNodWFpIFh1ZSB3cm90ZToKPj4gT24gYW4gQUNQSSBz eXN0ZW0sIEFDUEkgaXMgaW5pdGlhbGlzZWQgdmVyeSBlYXJseSBmcm9tIGEKPj4gc3Vic3lzX2lu aXRjYWxsKCksIHdoaWxlIFNERUkgaXMgbm90IHJlYWR5IHVudGlsIGEKPj4gc3Vic3lzX2luaXRj YWxsX3N5bmMoKS4gVGhpcyBwYXRjaCBpcyB0byByZWR1Y2UgdGhlIHRpbWUgYmVmb3JlIEdIRVMK Pj4gaW5pdGlhbGl6YXRpb24uCj4+Cj4+IFRoZSBTREVJIGRyaXZlciBwcm92aWRlcyBmdW5jdGlv bnMgKGUuZy4gYXBlaV9zZGVpX3JlZ2lzdGVyX2doZXMoKSwKPj4gYXBlaV9zZGVpX3VucmVnaXN0 ZXJfZ2hlcygpKSB0byByZWdpc3RlciBvciB1bnJlZ2lzdGVyIGV2ZW50IGNhbGxiYWNrCj4+IGZv ciBkaXNwYXRjaGVyIGluIGZpcm13YXJlLiBXaGVuIHRoZSBHSEVTIGRyaXZlciBwcm9iaW5nLCBp dCByZWdpc3RlcnMKPj4gdGhlIGNvcnJlc3BvbmRpbmcgY2FsbGJhY2sgYWNjb3JkaW5nIHRvIHRo ZSBub3RpZmljYXRpb24gdHlwZSBzcGVjaWZpZWQKPj4gYnkgR0hFUy4gSWYgdGhlIEdIRVMgbm90 aWZpY2F0aW9uIHR5cGUgaXMgU0RFSSwgdGhlIEdIRVMgZHJpdmVyIHdpbGwKPj4gY2FsbCBhcGVp X3NkZWlfcmVnaXN0ZXJfZ2hlcygpIHRvIHJlZ2lzdGVyIGV2ZW50IGNhbGwuCj4+Cj4+IFdoZW4g dGhlIGZpcm13YXJlIGVtaXRzIGFuIGV2ZW50LCBpdCBtaWdyYXRlcyB0aGUgaGFuZGxpbmcgb2Yg dGhlIGV2ZW50Cj4+IGludG8gdGhlIGtlcm5lbCBhdCB0aGUgcmVnaXN0ZXJlZCBlbnRyeS1wb2lu dCBfX3NkZWlfYXNtX2hhbmRsZXIuIEFuZAo+PiBmaW5hbGx5LCB0aGUga2VybmVsIHdpbGwgY2Fs bCB0aGUgcmVnaXN0ZXJlZCBldmVudCBjYWxsYmFjayBhbmQgcmV0dXJuCj4+IHN0YXR1c19jb2Rl IHRvIGluZGljYXRlIHRoZSBzdGF0dXMgb2YgZXZlbnQgaGFuZGxpbmcuIFNERUlfRVZfRkFJTEVE Cj4+IGluZGljYXRlcyB0aGF0IHRoZSBrZXJuZWwgZmFpbGVkIHRvIGhhbmRsZSB0aGUgZXZlbnQu Cj4+Cj4+IENvbnNlcXVlbnRseSwgd2hlbiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIGtlcm5lbCBi b290aW5nLCB0aGUga2VybmVsIGlzCj4+IHVuYWJsZSB0byBoYW5kbGUgYW5kIHJlcG9ydCBlcnJv cnMgdW50aWwgdGhlIEdIRVMgZHJpdmVyIGlzIGluaXRpYWxpemVkCj4+IGJ5IGRldmljZV9pbml0 Y2FsbCgpLCBpbiB3aGljaCB0aGUgZXZlbnQgY2FsbGJhY2sgaXMgcmVnaXN0ZXJlZC4gIEZvcgo+ PiBleGFtcGxlLCB3aGVuIHRoZSBrZXJuZWwgYm9vdGluZywgdGhlIGNvbnNvbGUgbG9ncyBtYW55 IHRpbWVzIGZyb20KPj4gZmlybXdhcmUgYmVmb3JlIEdIRVMgZHJpdmVycyBpbml0IGluIG91ciBw bGF0Zm9ybToKPj4KPj4gCVRyaXAgaW4gTU0gUENJZSBSQVMgaGFuZGxlKEludHI6OTEwKQo+PiAg IAlDbGVhbiBQRVsxLjEuMV0gRVJSX1NUUzoweDQwMDAxMDAgLT4gMCBJTlRfU1RTOkYwMDAwMDAw Cj4+IAlGaW5kIFJQKDk4OjEuMCkKPj4gCS0tV2FsayBkZXYoOTg6MS4wKSBDRTowIFVDRTo0MDAw Cj4+IAkuLi4KPj4gCUVSUk9SOiAgIHNkZWlfZGlzcGF0Y2hfZXZlbnQoMzJhKSByZXQ6LTEKPj4g CS0taGFuZGxlcig5MTApIGVuZAo+IAo+IElmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIHRoZSBm aXJtd2FyZSBub3RpY2VkIGFuIGVycm9yLCB0cmllZCB0bwo+IHJlcG9ydCBpdCB0byB0aGUga2Vy bmVsLCBhbmQgaXMgY29tcGxhaW5pbmcgYmVjYXVzZSB0aGUga2VybmVsIGlzbid0Cj4gcmVhZHkg dG8gaGFuZGxlIGl0IHlldC4gIEFuZCB0aGUgcmVhc29uIGZvciB0aGlzIHBhdGNoIGlzIHRvIHJl ZHVjZQo+IHRoZXNlIGNvbXBsYWludHMgZnJvbSB0aGUgZmlybXdhcmUuCgpNeSB0aG91Z2h0cyBl eGFjdGx5IDopCgo+IFRoYXQgZG9lc24ndCBzZWVtIGxpa2UgYSB2ZXJ5IGdvb2QgcmVhc29uIGZv ciB0aGlzIHBhdGNoLiAgVGhlcmUgaXMKPiAqYWx3YXlzKiBhIHdpbmRvdyBiZWZvcmUgdGhlIGtl cm5lbCBpcyByZWFkeSB0byBoYW5kbGUgZXZlbnRzIGZyb20gdGhlCj4gZmlybXdhcmUuCgpZZXMs IHRoZXJlIGlzIGFsd2F5cyBhIHdpbmRvdy4gQnV0IGlmIHdlIGNvdWxkIGRvIGJldHRlciBpbiBr ZXJuZWwgdGhhdApyZWR1Y2VzIHRoZSB3aW5kb3cgYnkgOTAlIChmcm9tIDMzIHNlY29uZHMgdG8g MyBzZWNvbmQpLCB3aHkgbm90PwoKPiBXaHkgaXMgdGhlIGZpcm13YXJlIG5vdGljaW5nIHRoZXNl IGVycm9ycyBpbiB0aGUgZmlyc3QgcGxhY2U/ICBJZgo+IHlvdSdyZSBzZWVpbmcgdGhlc2UgY29t cGxhaW50cyByZWd1bGFybHksIG15IGd1ZXNzIGlzIHRoYXQgZWl0aGVyIHlvdQo+IGhhdmUgc29t ZSB0ZXJyaWJsZSBoYXJkd2FyZSBvciAobW9yZSBsaWtlbHkpIHRoZSBmaXJtd2FyZSBpc24ndAo+ IGNsZWFyaW5nIHNvbWUgZXhwZWN0ZWQgZXJyb3IgY29uZGl0aW9uIGNvcnJlY3RseS4gIEZvciBl eGFtcGxlLCBtYXliZQo+IHRoZSBVbnN1cHBvcnRlZCBSZXF1ZXN0IGVycm9ycyB0aGF0IGhhcHBl biB3aGlsZSBlbnVtZXJhdGluZyBQQ0llCj4gZGV2aWNlcyBhcmUgYmVpbmcgcmVwb3J0ZWQuCj4K PiBJZiB5b3UgcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLCB0aGUga2VybmVsIHdpbGwg bm93IHN0YXJ0Cj4gc2VlaW5nIHRoZXNlIGVycm9yIHJlcG9ydHMuICBXaGF0IGhhcHBlbnMgdGhl bj8gIERvZXMgdGhlIGtlcm5lbCBsb2cKPiB0aGUgZXJyb3JzIHNvbWV3aGVyZT8gIElzIHRoYXQg YmV0dGVyIHRoYW4gdGhlIGN1cnJlbnQgc2l0dWF0aW9uIHdoZXJlCj4gdGhlIGZpcm13YXJlIGxv Z3MgdGhlbT8KClllcCwgaXQgaXMgYSBoYXJkd2FyZSBpc3N1ZS4gVGhlIGZpcm13YXJlIG9ubHkg bG9ncyBpbiBjb25zb2xlICh0dHlBTUEwKSBhbmQKd2UgY2FuIG5vdCBzZWUgaXQgaW4ga2VybmVs IHNpZGUuIEFmdGVyIHRoZSBrZXJuZWwgc3RhcnRzIHNlZWluZyB0aGVzZSBlcnJvcgpyZXBvcnRz LCB3ZSBjb3VsZCBzZWUgRURBQy9naGVzIGFuZCBlZmkvY3BlciBkZXRhaWxlZCBsb2dzIGluIGRt ZXNnLiBXZSBkaWQgbm90Cm5vdGljZSB0aGUgcHJvYmxlbSB1bnRpbCB3ZSBjaGVjayB0aGUgY29u c29sZSBsb2csIHdoaWNoIGluc3BpcmVkIHVzIHRvIHJlZHVjZQp0aGUgd2luZG93IHdoZW4ga2Vy bmVsIHN0YXJ0dXAsIHNvIHRoYXQgd2UgY2FuIHNlZSB0aGUgbWVzc2FnZSBjbGVhcmx5IGFuZApw cm9wZXJseS4gSSB0aGluayB0aGUgaW50dWl0aW9uIGlzIHRvIGNoZWNrIHRoZSBsb2cgb2YgZG1l c2csIG5vdCB0aGUgY29uc29sZS4KCj4gSG93ZXZlciwgSSBETyB0aGluayB0aGF0Ogo+IAo+ICAg LSBSZW1vdmluZyBhY3BpX2hlc3RfaW5pdCgpIGZyb20gYWNwaV9wY2lfcm9vdF9pbml0KCksIGFu ZAo+IAo+ICAgLSBDb252ZXJ0aW5nIGdoZXNfaW5pdCgpIGFuZCBzZGVpX2luaXQoKSBmcm9tIGlu aXRjYWxscyB0byBleHBsaWNpdAo+ICAgICBjYWxscwo+IAo+IGFyZSB2ZXJ5IGdvb2QgcmVhc29u cyB0byBkbyBzb21ldGhpbmcgbGlrZSB0aGlzIHBhdGNoIGJlY2F1c2UgSEVTVCBpcwo+IG5vdCBQ Q0ktc3BlY2lmaWMsIGFuZCBJTU8sIGV4cGxpY2l0IGNhbGxzIGFyZSBiZXR0ZXIgdGhhbiBpbml0 Y2FsbHMKPiBiZWNhdXNlIGluaXRjYWxsIG9yZGVyaW5nIGlzIGltcGxpY2l0IGFuZCBub3Qgd2Vs bC1kZWZpbmVkIHdpdGhpbiBhCj4gbGV2ZWwuCgpIYWhhLCBpZiB0aGUgYWJvdmUgcmVhc29ucyBz dGlsbCBkb24ndCBjb252aW5jZSB5b3UsIEkgd291bGQgbGlrZSB0byBhY2NlcHQgeW91cnMgOikK U2hvdWxkIHdlIGRvIGl0IGluIG9uZSBwYXRjaCBvciBzZXBhcmF0ZSBpdCBpbnRvIHR3byBwYXRj aGVzPwoKPj4gVGhpcyBpcyBiZWNhdXNlIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBoYXMgbm90IGJl ZW4gcmVnaXN0ZXJlZCB5ZXQuICBEdWUKPj4gdG8gdGhlIHBvb3IgZGVzaWduIG9mIGZpcm13YXJl LCBwcmV2aW91c2x5IHJlcG9ydGVkIGVycm9ycyB3aWxsIGJlCj4+IG92ZXJ3cml0dGVuIGJ5IG5l dyBvbmVzLiBUaGVyZWZvcmUsIGFsbCBlcnJvcnMgdGhhdCBvY2N1cnJlZCBiZWZvcmUgR0hFUwo+ PiBpbml0aWFsaXphdGlvbiBhcmUgbWlzc2VkIGFuZCB0aGVyZSBpcyBubyBjaGFuY2UgdG8gcmVw b3J0IGFuZCBmaW5kIHRoZW0KPj4gYWdhaW4uCj4+Cj4+IEZyb20gY29tbWl0IGUxNDcxMzNhNDJj YiAoIkFDUEkgLyBBUEVJOiBNYWtlIGhlc3QuYyBtYW5hZ2UgdGhlIGVzdGF0dXMKPj4gbWVtb3J5 IHBvb2wiKSB3YXMgbWVyZ2VkLCBnaGVzX2luaXQoKSByZWxpZXMgb24gYWNwaV9oZXN0X2luaXQo KSB0byBtYW5hZ2UKPj4gdGhlIGVzdGF0dXMgbWVtb3J5IHBvb2wuIE9uIHRoZSBvdGhlciBoYW5k LCBnaGVzX2luaXQoKSByZWxpZXMgb24KPj4gc2RlaV9pbml0KCkgdG8gZGV0ZWN0IHRoZSBTREVJ IHZlcnNpb24gYW5kIHRoZSBmcmFtZXdvcmsgZm9yIHJlZ2lzdGVyaW5nCj4+IGFuZCB1bnJlZ2lz dGVyaW5nIGV2ZW50cy4gVGhlIGRlcGVuZGVuY2llcyBhcmUgYXMgZm9sbG93cwo+Pgo+PiAJZ2hl c19pbml0KCkgPT4gYWNwaV9oZXN0X2luaXQoKSA9PiBhY3BpX2J1c19pbml0KCkgPT4gYWNwaV9p bml0KCkKPj4gCWdoZXNfaW5pdCgpID0+IHNkZWlfaW5pdCgpCj4+Cj4+IEJhc2VkIG9uIGFib3Zl LCBtb3ZlIHNkZWlfaW5pdCBhbmQgZ2hlc19pbml0IGFzIGZhciBhaGVhZCBhcyBwb3NzaWJsZSwK Pj4gcmlnaHQgYWZ0ZXIgYWNwaV9pb3J0X2luaXQoKSBpbiBhY3BpX2luaXQoKS4gQWZ0ZXIgdGhp cyBwYXRjaCwgdGhlcmUgYXJlCj4+IHN0aWxsIGVycm9ycyBtaXNzaW5nLCBidXQgd2UgaGF2ZSB0 byB0b2xlcmF0ZSBpdCB1bnRpbCB0aGUgc29mdHdhcmUKPj4gcmVwb3J0aW5nIGNhcGFiaWxpdHkg aXMgYnVpbHQuIEFuZCB0aGlzIHBhdGNoIG1lcmVseSByZWR1Y2UgdGhlIHRpbWUKPj4gYmVmb3Jl IEdIRVMgaW5pdGlhbGl6YXRpb24uIFRoZSBib290IGRtZXNnIGJlZm9yZSB0aGlzIHBhdGNoOgo+ Pgo+PiAJWyAgICAzLjY4ODU4Nl0gSEVTVDogVGFibGUgcGFyc2luZyBoYXMgYmVlbiBpbml0aWFs aXplZC4KPj4gCS4uLgo+PiAJWyAgIDMzLjIwNDM0MF0gY2FsbGluZyAgc2RlaV9pbml0KzB4MC8w eDEyMCBAIDEKPj4gCVsgICAzMy4yMDg2NDVdIHNkZWk6IFNERUl2MS4wICgweDApIGRldGVjdGVk IGluIGZpcm13YXJlLgo+PiAJLi4uCj4+IAlbICAgMzYuMDA1MzkwXSBjYWxsaW5nICBnaGVzX2lu aXQrMHgwLzB4MTFjIEAgMQo+PiAJWyAgIDM2LjE5MDAyMV0gR0hFUzogQVBFSSBmaXJtd2FyZSBm aXJzdCBtb2RlIGlzIGVuYWJsZWQgYnkgQVBFSSBiaXQgYW5kIFdIRUEgX09TQy4KPj4KPj4gQWZ0 ZXIgdGhpcyBwYXRjaCwgdGhlIGJvb3QgZG1lc2cgbGlrZSBiZWxsb3c6Cj4+Cj4+IAlbICAgIDMu Njg4NjY0XSBIRVNUOiBUYWJsZSBwYXJzaW5nIGhhcyBiZWVuIGluaXRpYWxpemVkLgo+PiAJWyAg ICAzLjY4ODY5MV0gc2RlaTogU0RFSXYxLjAgKDB4MCkgZGV0ZWN0ZWQgaW4gZmlybXdhcmUuCj4+ IAlbICAgIDMuNjk0NTU3XSBHSEVTOiBBUEVJIGZpcm13YXJlIGZpcnN0IG1vZGUgaXMgZW5hYmxl ZCBieSBBUEVJIGJpdCBhbmQgV0hFQSBfT1NDLgo+Pgo+PiBBcyB3ZSBjYW4gc2VlLCB0aGUgaW5p dGlhbGl6YXRpb24gb2YgR0hFUyBpcyBhZHZhbmNlZCBieSAzMyBzZWNvbmRzLgo+PiAoSXQgc2hv dWxkIGJlIG5vdGVkIHRoYXQgdGhlIGVmZmVjdCBvZiBvcHRpbWl6YXRpb24gdmFyaWVzIHdpdGgg dGhlCj4+IHBsYXRmb3JtLikKPj4KPj4gU2lnbmVkLW9mZi1ieTogU2h1YWkgWHVlIDx4dWVzaHVh aUBsaW51eC5hbGliYWJhLmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2FjcGkvYXBlaS9naGVzLmMg ICAgfCAxOCArKysrKysrKy0tLS0tLS0tLS0KPj4gIGRyaXZlcnMvYWNwaS9idXMuYyAgICAgICAg ICB8ICA0ICsrKysKPj4gIGRyaXZlcnMvYWNwaS9wY2lfcm9vdC5jICAgICB8ICA0ICsrLS0KPj4g IGRyaXZlcnMvZmlybXdhcmUvYXJtX3NkZWkuYyB8IDEzICsrLS0tLS0tLS0tLS0KPj4gIGluY2x1 ZGUvYWNwaS9hcGVpLmggICAgICAgICB8ICAyICsrCj4+ICBpbmNsdWRlL2xpbnV4L2FybV9zZGVp LmggICAgfCAgMiArKwo+PiAgNiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAyMyBk ZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNwaS9hcGVpL2doZXMuYyBi L2RyaXZlcnMvYWNwaS9hcGVpL2doZXMuYwo+PiBpbmRleCAwYzVjOWFjYzYyNTQuLjY0ZjI0YTlm MjEzZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9hY3BpL2FwZWkvZ2hlcy5jCj4+ICsrKyBiL2Ry aXZlcnMvYWNwaS9hcGVpL2doZXMuYwo+PiBAQCAtMTQ1NywyNyArMTQ1NywyNiBAQCBzdGF0aWMg c3RydWN0IHBsYXRmb3JtX2RyaXZlciBnaGVzX3BsYXRmb3JtX2RyaXZlciA9IHsKPj4gIAkucmVt b3ZlCQk9IGdoZXNfcmVtb3ZlLAo+PiAgfTsKPj4gIAo+PiAtc3RhdGljIGludCBfX2luaXQgZ2hl c19pbml0KHZvaWQpCj4+ICt2b2lkIF9faW5pdCBnaGVzX2luaXQodm9pZCkKPj4gIHsKPj4gIAlp bnQgcmM7Cj4+ICAKPj4gIAlpZiAoYWNwaV9kaXNhYmxlZCkKPj4gLQkJcmV0dXJuIC1FTk9ERVY7 Cj4+ICsJCXJldHVybjsKPj4gIAo+PiAgCXN3aXRjaCAoaGVzdF9kaXNhYmxlKSB7Cj4+ICAJY2Fz ZSBIRVNUX05PVF9GT1VORDoKPj4gLQkJcmV0dXJuIC1FTk9ERVY7Cj4+ICsJCXByX2luZm8oR0hF U19QRlggIkhFU1QgaXMgbm90IGZvdW5kIVxuIik7Cj4gCj4gSSBkb24ndCBrbm93IHdoZXRoZXIg dGhpcyAiSEVTVCBpcyBub3QgZm91bmQiIG1lc3NhZ2UgaXMgd29ydGh3aGlsZSBvcgo+IG5vdC4g IEkgZG9uJ3QgdGhpbmsgbGFjayBvZiBhbiBIRVNUIGlzIGFuIGVycm9yLCBhbmQgdXNlcnMgbWF5 IGJlCj4gYWxhcm1lZC4gIEJ1dCB0aGlzIGlzIGFuIEFDUEkgdGhpbmcsIHNvIHVwIHRvIHlvdSBh bmQgUmFmYWVsLgoKSWYgd2UgZXhwbGljaXQgY2FsbCBnaGVzX2luaXQoKSwgd2UgY2FuJ3QgdGVs bCBpZiBnaGVzIGlzIGluaXRpYWxpemVkCnN1Y2Nlc3NmdWxseSBiYXNlZCBvbiB0aGUgcmV0dXJu IHZhbHVlIG9mIGluaXRjYWxsLiBTbyBJIGFkZCBhIGluZm8gbWVzc2FnZS4KV2hhdCdzIHlvdXIg b3BpbmlvbiwgUmFmZWFsPwoKPj4gKwkJcmV0dXJuOwo+PiAgCWNhc2UgSEVTVF9ESVNBQkxFRDoK Pj4gIAkJcHJfaW5mbyhHSEVTX1BGWCAiSEVTVCBpcyBub3QgZW5hYmxlZCFcbiIpOwo+PiAtCQly ZXR1cm4gLUVJTlZBTDsKPj4gKwkJcmV0dXJuOwo+PiAgCWRlZmF1bHQ6Cj4+ICAJCWJyZWFrOwo+ PiAgCX0KPj4gIAo+PiAtCWlmIChnaGVzX2Rpc2FibGUpIHsKPj4gKwlpZiAoZ2hlc19kaXNhYmxl KQo+PiAgCQlwcl9pbmZvKEdIRVNfUEZYICJHSEVTIGlzIG5vdCBlbmFibGVkIVxuIik7Cj4+IC0J CXJldHVybiAtRUlOVkFMOwo+PiAtCX0KPj4gIAo+PiAgCWdoZXNfbm1pX2luaXRfY3h0KCk7Cj4g Cj4gUHJldmlvdXNseSwgaWYgImdoZXNfZGlzYWJsZSIsIHdlIHJldHVybmVkIGltbWVkaWF0ZWx5 LiAgQWZ0ZXIgdGhpcwo+IHBhdGNoLCBpZiAiZ2hlc19kaXNhYmxlIiwgd2UgcHJpbnQgIkdIRVMg aXMgbm90IGVuYWJsZWQhXG4iLCBidXQgdGhlbgo+IHdlIGdvIG9uIHRvIGNhbGwgZ2hlc19ubWlf aW5pdF9jeHQoKSBhbmQgcmVnaXN0ZXIgdGhlCj4gJmdoZXNfcGxhdGZvcm1fZHJpdmVyLiAgVGhh dCBsb29rcyB3cm9uZy4gIE1heWJlIHlvdSBtZWFudCB0byBrZWVwIGEKPiAicmV0dXJuIiBoZXJl PwoKU29ycnksIGl0J3MgbXkgd3JvbmcuIEkgd2lsbCBmaXggaXQgaW4gbmV4dCB2ZXJzaW9uLgoK Pj4gQEAgLTE0OTUsOCArMTQ5NCw3IEBAIHN0YXRpYyBpbnQgX19pbml0IGdoZXNfaW5pdCh2b2lk KQo+PiAgCWVsc2UKPj4gIAkJcHJfaW5mbyhHSEVTX1BGWCAiRmFpbGVkIHRvIGVuYWJsZSBBUEVJ IGZpcm13YXJlIGZpcnN0IG1vZGUuXG4iKTsKPj4gIAo+PiAtCXJldHVybiAwOwo+PiArCXJldHVy bjsKPj4gIGVycjoKPj4gLQlyZXR1cm4gcmM7Cj4+ICsJZ2hlc19kaXNhYmxlID0gMTsKPiAKPiBX aHkgZG8geW91IHNldCBnaGVzX2Rpc2FibGUgaGVyZT8gIEFzIGZhciBhcyBJIGNhbiB0ZWxsLCB3 ZSB3aWxsIG5ldmVyCj4gbG9vayBhdCBpdCBhZ2Fpbi4gIFRoZSBwbGFjZXMgd2UgZG8gbG9vayBh dCBpdCBhcmU6Cj4gCj4gICAtIGdoZXNfaW5pdCgpOiBlYXJsaWVyIGluIHRoaXMgZnVuY3Rpb24s IHNvIHdlJ3ZlIGFscmVhZHkgZG9uZSB0aGF0LAo+IAo+ICAgLSBhY3BpX2hlc3RfaW5pdCgpOiB3 ZSd2ZSBhbHJlYWR5IGNhbGxlZCB0aGF0LCB0b28sIGFuZAo+IAo+ICAgLSBhY3BpX2J1c19vc2Nf bmVnb3RpYXRlX3BsYXRmb3JtX2NvbnRyb2woKTogY2FsbGVkIGZyb20KPiAgICAgYWNwaV9idXNf aW5pdCgpLCB3aGljaCB3ZSd2ZSBhbHJlYWR5IGNhbGxlZC4KCkkgYWRkIGl0IGZvciBmdXR1cmUg cG90ZW50aWFsIHVzYWdlLiBUaGFuayB5b3UgZm9yIHBvaW50aW5nIGl0IG91dC4KSWYgeW91IHRo aW5rIGl0IGlzIG5vdCBuZWNlc3NhcnksIEkgd2lsbCBkZWxldGUgaXQgaW4gbmV4dCB2ZXJzaW9u LgoKCj4+ICB9Cj4+IC1kZXZpY2VfaW5pdGNhbGwoZ2hlc19pbml0KTsKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvYWNwaS9idXMuYyBiL2RyaXZlcnMvYWNwaS9idXMuYwo+PiBpbmRleCAwN2Y2MDQ4 MzJmZDYuLjFkY2Q3MWRmMmNkNSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9hY3BpL2J1cy5jCj4+ ICsrKyBiL2RyaXZlcnMvYWNwaS9idXMuYwo+PiBAQCAtMzAsNiArMzAsNyBAQAo+PiAgI2luY2x1 ZGUgPGxpbnV4L2FjcGlfdmlvdC5oPgo+PiAgI2luY2x1ZGUgPGxpbnV4L3BjaS5oPgo+PiAgI2lu Y2x1ZGUgPGFjcGkvYXBlaS5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L2FybV9zZGVpLmg+Cj4+ICAj aW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgo+PiAgI2luY2x1ZGUgPGxpbnV4L3BybXQuaD4KPj4g IAo+PiBAQCAtMTMzMSw2ICsxMzMyLDkgQEAgc3RhdGljIGludCBfX2luaXQgYWNwaV9pbml0KHZv aWQpCj4+ICAKPj4gIAlwY2lfbW1jZmdfbGF0ZV9pbml0KCk7Cj4+ICAJYWNwaV9pb3J0X2luaXQo KTsKPj4gKwlhY3BpX2hlc3RfaW5pdCgpOwo+PiArCXNkZWlfaW5pdCgpOwo+PiArCWdoZXNfaW5p dCgpOwo+IAo+IHNkZWlfaW5pdCgpIGFuZCBnaGVzX2luaXQoKSBzdGljayBvdXQgaGVyZSBiZWNh dXNlIHRoZXkncmUgdGhlIG9ubHkKPiBmdW5jdGlvbnMgd2l0aG91dCBhbiAiYWNwaV8iIHByZWZp eC4gIE1heWJlIGEgc2VwYXJhdGUgcGF0Y2ggdG8gcmVuYW1lCj4gdGhlbT8KCkdyZWF0IGlkZWEu IEkgd2lsbCBhZGQgYSBwYXRjaCB0byByZW5hbWUgdGhlbSB3aXRoICJhY3BpXyIgcHJlZml4Cgo+ PiAgCWFjcGlfc2Nhbl9pbml0KCk7Cj4+ICAJYWNwaV9lY19pbml0KCk7Cj4+ICAJYWNwaV9kZWJ1 Z2ZzX2luaXQoKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYWNwaS9wY2lfcm9vdC5jIGIvZHJp dmVycy9hY3BpL3BjaV9yb290LmMKPj4gaW5kZXggYjc2ZGI5OWNjZWQzLi4xNGUyMGFmNDQ2Mjcg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvYWNwaS9wY2lfcm9vdC5jCj4+ICsrKyBiL2RyaXZlcnMv YWNwaS9wY2lfcm9vdC5jCj4+IEBAIC0yMyw3ICsyMyw3IEBACj4+ICAjaW5jbHVkZSA8bGludXgv ZG1pLmg+Cj4+ICAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGF0YS94ODYvYXBwbGUuaD4KPj4g ICNpbmNsdWRlIDxhY3BpL2FwZWkuaD4JLyogZm9yIGFjcGlfaGVzdF9pbml0KCkgKi8KPiAKPiBU aGlzICNpbmNsdWRlIGxvb2tzIGxpa2UgaXQgbWF5IG5vIGxvbmdlciBiZSBuZWNlc3NhcnkuCj4K Pj4gLQo+PiArI2luY2x1ZGUgPGxpbnV4L2FybV9zZGVpLmg+IC8qIGZvciBzZGVpX2luaXQoKSAq Lwo+IAo+IEkgZG9uJ3QgdGhpbmsgdGhpcyAjaW5jbHVkZSBpcyBuZWNlc3NhcnkuCgpUaGFuayB5 b3UgZm9yIHBvaW50aW5nIGl0IG91dC4gSSB3aWxsIGRlbGV0ZSBpdCBpbiBuZXh0IHZlcnNpb24u Cgo+IAo+PiAgI2luY2x1ZGUgImludGVybmFsLmgiCj4+ICAKPj4gICNkZWZpbmUgQUNQSV9QQ0lf Uk9PVF9DTEFTUwkJInBjaV9icmlkZ2UiCj4+IEBAIC05NDMsNyArOTQzLDcgQEAgc3RydWN0IHBj aV9idXMgKmFjcGlfcGNpX3Jvb3RfY3JlYXRlKHN0cnVjdCBhY3BpX3BjaV9yb290ICpyb290LAo+ PiAgCj4+ICB2b2lkIF9faW5pdCBhY3BpX3BjaV9yb290X2luaXQodm9pZCkKPj4gIHsKPj4gLQlh Y3BpX2hlc3RfaW5pdCgpOwo+PiArCj4gCj4gRHJvcCB0aGUgYmxhbmsgbGluZSBoZXJlLgoKR290 IGl0LiBXaWxsIGZpeCBpdC4KCj4gCj4+ICAJaWYgKGFjcGlfcGNpX2Rpc2FibGVkKQo+PiAgCQly ZXR1cm47Cj4+ICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvYXJtX3NkZWkuYyBi L2RyaXZlcnMvZmlybXdhcmUvYXJtX3NkZWkuYwo+PiBpbmRleCBhN2U3NjJjMzUyZjkuLjFlMWE1 MTUxMGU4MyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9maXJtd2FyZS9hcm1fc2RlaS5jCj4+ICsr KyBiL2RyaXZlcnMvZmlybXdhcmUvYXJtX3NkZWkuYwo+PiBAQCAtMTA1OSwxNCArMTA1OSwxNCBA QCBzdGF0aWMgYm9vbCBfX2luaXQgc2RlaV9wcmVzZW50X2FjcGkodm9pZCkKPj4gIAlyZXR1cm4g dHJ1ZTsKPj4gIH0KPj4gIAo+PiAtc3RhdGljIGludCBfX2luaXQgc2RlaV9pbml0KHZvaWQpCj4+ ICt2b2lkIF9faW5pdCBzZGVpX2luaXQodm9pZCkKPj4gIHsKPj4gIAlzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2Owo+PiAgCWludCByZXQ7Cj4+ICAKPj4gIAlyZXQgPSBwbGF0Zm9ybV9kcml2 ZXJfcmVnaXN0ZXIoJnNkZWlfZHJpdmVyKTsKPj4gIAlpZiAocmV0IHx8ICFzZGVpX3ByZXNlbnRf YWNwaSgpKQo+PiAtCQlyZXR1cm4gcmV0Owo+PiArCQlyZXR1cm47Cj4+ICAKPj4gIAlwZGV2ID0g cGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX3NpbXBsZShzZGVpX2RyaXZlci5kcml2ZXIubmFtZSwK Pj4gIAkJCQkJICAgICAgIDAsIE5VTEwsIDApOwo+PiBAQCAtMTA3NiwxNyArMTA3Niw4IEBAIHN0 YXRpYyBpbnQgX19pbml0IHNkZWlfaW5pdCh2b2lkKQo+PiAgCQlwcl9pbmZvKCJGYWlsZWQgdG8g cmVnaXN0ZXIgQUNQSTpTREVJIHBsYXRmb3JtIGRldmljZSAlZFxuIiwKPj4gIAkJCXJldCk7Cj4+ ICAJfQo+PiAtCj4+IC0JcmV0dXJuIHJldDsKPj4gIH0KPj4gIAo+PiAtLyoKPj4gLSAqIE9uIGFu IEFDUEkgc3lzdGVtIFNERUkgbmVlZHMgdG8gYmUgcmVhZHkgYmVmb3JlIEhFU1Q6R0hFUyB0cmll cyB0byByZWdpc3Rlcgo+PiAtICogaXRzIGV2ZW50cy4gQUNQSSBpcyBpbml0aWFsaXNlZCBmcm9t IGEgc3Vic3lzX2luaXRjYWxsKCksIEdIRVMgaXMgaW5pdGlhbGlzZWQKPj4gLSAqIGJ5IGRldmlj ZV9pbml0Y2FsbCgpLiBXZSB3YW50IHRvIGJlIGNhbGxlZCBpbiB0aGUgbWlkZGxlLgo+PiAtICov Cj4+IC1zdWJzeXNfaW5pdGNhbGxfc3luYyhzZGVpX2luaXQpOwo+PiAtCj4+ICBpbnQgc2RlaV9l dmVudF9oYW5kbGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzLAo+PiAgCQkgICAgICAgc3RydWN0IHNk ZWlfcmVnaXN0ZXJlZF9ldmVudCAqYXJnKQo+PiAgewo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9h Y3BpL2FwZWkuaCBiL2luY2x1ZGUvYWNwaS9hcGVpLmgKPj4gaW5kZXggZWNlMGE4YWYyYmFlLi43 ZGJkNjM2M2ZkYTcgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvYWNwaS9hcGVpLmgKPj4gKysrIGIv aW5jbHVkZS9hY3BpL2FwZWkuaAo+PiBAQCAtMjcsOCArMjcsMTAgQEAgZXh0ZXJuIGludCBoZXN0 X2Rpc2FibGU7Cj4+ICBleHRlcm4gaW50IGVyc3RfZGlzYWJsZTsKPj4gICNpZmRlZiBDT05GSUdf QUNQSV9BUEVJX0dIRVMKPj4gIGV4dGVybiBib29sIGdoZXNfZGlzYWJsZTsKPj4gK3ZvaWQgX19p bml0IGdoZXNfaW5pdCh2b2lkKTsKPj4gICNlbHNlCj4+ICAjZGVmaW5lIGdoZXNfZGlzYWJsZSAx Cj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgZ2hlc19pbml0KHZvaWQpIHsgcmV0dXJuOyB9Cj4gCj4g InJldHVybiIgaXMgdW5uZWNlc3NhcnkgaGVyZS4KPgo+PiAgI2VuZGlmCj4+ICAKPj4gICNpZmRl ZiBDT05GSUdfQUNQSV9BUEVJCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2FybV9zZGVp LmggYi9pbmNsdWRlL2xpbnV4L2FybV9zZGVpLmgKPj4gaW5kZXggMGEyNDFjNWM5MTFkLi45Yzk4 NzE4OGI2OTIgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvbGludXgvYXJtX3NkZWkuaAo+PiArKysg Yi9pbmNsdWRlL2xpbnV4L2FybV9zZGVpLmgKPj4gQEAgLTQ2LDkgKzQ2LDExIEBAIGludCBzZGVp X3VucmVnaXN0ZXJfZ2hlcyhzdHJ1Y3QgZ2hlcyAqZ2hlcyk7Cj4+ICAvKiBGb3IgdXNlIGJ5IGFy Y2ggY29kZSB3aGVuIENQVSBob3RwbHVnIG5vdGlmaWVycyBhcmUgbm90IGFwcHJvcHJpYXRlLiAq Lwo+PiAgaW50IHNkZWlfbWFza19sb2NhbF9jcHUodm9pZCk7Cj4+ICBpbnQgc2RlaV91bm1hc2tf bG9jYWxfY3B1KHZvaWQpOwo+PiArdm9pZCBfX2luaXQgc2RlaV9pbml0KHZvaWQpOwo+PiAgI2Vs c2UKPj4gIHN0YXRpYyBpbmxpbmUgaW50IHNkZWlfbWFza19sb2NhbF9jcHUodm9pZCkgeyByZXR1 cm4gMDsgfQo+PiAgc3RhdGljIGlubGluZSBpbnQgc2RlaV91bm1hc2tfbG9jYWxfY3B1KHZvaWQp IHsgcmV0dXJuIDA7IH0KPj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBzZGVpX2luaXQodm9pZCkgeyBy ZXR1cm4gOyB9Cj4gCj4gInJldHVybiIgaXMgdW5uZWNlc3NhcnkgaGVyZS4KCkdvdCBpdC4gV2ls bCBkZWxldGUgInJldHVybiIgaW4gZ2hlc19pbml0KCksIHNkZWlfaW5pdCgpIGFuZCBhY3BpX2hl c3RfaW5pdCgpLgoKPj4gICNlbmRpZiAvKiBDT05GSUdfQVJNX1NERV9JTlRFUkZBQ0UgKi8KPj4g IAo+PiAgCj4+IC0tIAo+PiAyLjIwLjEuMTIuZzcyNzg4ZmRiCj4+Cj4+Cj4+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IGxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0Cj4+IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+PiBo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJu ZWwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFy bS1rZXJuZWwK