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 4E960C433F5 for ; Thu, 13 Jan 2022 13:40:02 +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:References:Cc:To:From: 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=2GKMAD7fLOE2WovpmmcQlpAf3+JnEKgLabj74QfbAvQ=; b=0VrtqXpuAZ4fJi wFgng3wAfVqeW6JuFYPGwwlVR0TrFklDnMUZnNNnCN0iSjRpnlgLpP+UbXzJ9IJBt/QGVkbtaFtFE rl6Z8SQYYaiGMevBTa8goCWGeSQXvVrbXgTuior6sqvUsosGkJy69ptkuaZ+XAIgHlA+v+OelI71C ra2y29DxAgqGG1e944AtojhP3TmFvBnRG7EqyutOrpQISyyR4vlkRogC2ZA3jYcWYqHqT087tJNdG 1514BkF4p0Vg9ek0nx3NirNziHA/92yyjV/bVRgM+OOjEFG/Ouy/lLNo04f0llY3EdjJbnA2BJjMM tNVOkWAvgCZr4BBUKlKw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n80JR-0069D8-Hy; Thu, 13 Jan 2022 13:38:45 +0000 Received: from out30-45.freemail.mail.aliyun.com ([115.124.30.45]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n80JM-0069Ag-J6 for linux-arm-kernel@lists.infradead.org; Thu, 13 Jan 2022 13:38:43 +0000 X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R191e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=e01e01424; MF=xueshuai@linux.alibaba.com; NM=1; PH=DS; RN=13; SR=0; TI=SMTPD_---0V1kApJc_1642081110; Received: from 30.240.112.63(mailfrom:xueshuai@linux.alibaba.com fp:SMTPD_---0V1kApJc_1642081110) by smtp.aliyun-inc.com(127.0.0.1); Thu, 13 Jan 2022 21:38:32 +0800 Message-ID: <8e6ee387-7dc1-6c8a-c13f-ec06621e3efa@linux.alibaba.com> Date: Thu, 13 Jan 2022 21:38:30 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: Re: [RESEND PATCH v4] ACPI: Move sdei_init and ghes_init ahead to handle platform errors earlier Content-Language: en-US From: Shuai Xue To: Bjorn Helgaas , "Rafael J. Wysocki" Cc: bp@alien8.de, tony.luck@intel.com, james.morse@arm.com, lenb@kernel.org, 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: <20211224001716.GA1324143@bhelgaas> <75dedf3a-41c7-980e-a8a8-74d116ae6663@linux.alibaba.com> In-Reply-To: <75dedf3a-41c7-980e-a8a8-74d116ae6663@linux.alibaba.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220113_053840_876930_4C184459 X-CRM114-Status: GOOD ( 53.52 ) 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 SGksIEJqb3JuLCBSYWZhZWwsCgpIYXBweSBOZXcgWWVhciA6KQoKSSBhbSB3b25kZXJpbmcgdGhh dCBkbyB5b3UgaGF2ZSBhbnkgY29tbWVudCB0byB0aGlzIGltcGxlbWVudGF0aW9u77yfIEFueSBm ZWVkYmFjawphcmUgd2VsY29tZWQuCgpUaGFuayB5b3UuCgpCZXN0IHJlZ3JhZHMsClNodWFpCgrl nKggMjAyMS8xMi8yNCBQTTQ6NTUsIFNodWFpIFh1ZSDlhpnpgZM6Cj4gSGksIEJqb3JuLAo+IAo+ IFRoYW5rIHlvdSBmb3IgeW91ciBjb21tZW50cy4KPiAKPiDlnKggMjAyMS8xMi8yNCBBTTg6MTcs IEJqb3JuIEhlbGdhYXMg5YaZ6YGTOgo+PiBbK3RvIFJhZmFlbCwgcXVlc3Rpb24gYWJvdXQgSEVT VC9HSEVTL1NERUkgaW5pdF0KPj4KPj4gT24gVGh1LCBEZWMgMjMsIDIwMjEgYXQgMDQ6MTE6MTFQ TSArMDgwMCwgU2h1YWkgWHVlIHdyb3RlOgo+Pj4g5ZyoIDIwMjEvMTIvMjIgQU03OjE3LCBCam9y biBIZWxnYWFzIOWGmemBkzoKPj4+PiBPbiBUaHUsIERlYyAxNiwgMjAyMSBhdCAwOTozNDo1NlBN ICswODAwLCBTaHVhaSBYdWUgd3JvdGU6Cj4+Pj4+IE9uIGFuIEFDUEkgc3lzdGVtLCBBQ1BJIGlz IGluaXRpYWxpc2VkIHZlcnkgZWFybHkgZnJvbSBhIHN1YnN5c19pbml0Y2FsbCgpLAo+Pj4+PiB3 aGlsZSBTREVJIGlzIG5vdCByZWFkeSB1bnRpbCBhIHN1YnN5c19pbml0Y2FsbF9zeW5jKCkuCj4+ Pj4+Cj4+Pj4+IFRoZSBTREVJIGRyaXZlciBwcm92aWRlcyBmdW5jdGlvbnMgKGUuZy4gYXBlaV9z ZGVpX3JlZ2lzdGVyX2doZXMsCj4+Pj4+IGFwZWlfc2RlaV91bnJlZ2lzdGVyX2doZXMpIHRvIHJl Z2lzdGVyIG9yIHVucmVnaXN0ZXIgZXZlbnQgY2FsbGJhY2sgZm9yCj4+Pj4+IGRpc3BhdGNoZXIg aW4gZmlybXdhcmUuIFdoZW4gdGhlIEdIRVMgZHJpdmVyIHByb2JpbmcsIGl0IHJlZ2lzdGVycyB0 aGUKPj4+Pj4gY29ycmVzcG9uZGluZyBjYWxsYmFjayBhY2NvcmRpbmcgdG8gdGhlIG5vdGlmaWNh dGlvbiB0eXBlIHNwZWNpZmllZCBieQo+Pj4+PiBHSEVTLiBJZiB0aGUgR0hFUyBub3RpZmljYXRp b24gdHlwZSBpcyBTREVJLCB0aGUgR0hFUyBkcml2ZXIgd2lsbCBjYWxsCj4+Pj4+IGFwZWlfc2Rl aV9yZWdpc3Rlcl9naGVzIHRvIHJlZ2lzdGVyIGV2ZW50IGNhbGwuCj4+Pj4+Cj4+Pj4+IFdoZW4g dGhlIGZpcm13YXJlIGVtaXRzIGFuIGV2ZW50LCBpdCBtaWdyYXRlcyB0aGUgaGFuZGxpbmcgb2Yg dGhlIGV2ZW50Cj4+Pj4+IGludG8gdGhlIGtlcm5lbCBhdCB0aGUgcmVnaXN0ZXJlZCBlbnRyeS1w b2ludCBfX3NkZWlfYXNtX2hhbmRsZXIuIEFuZAo+Pj4+PiBmaW5hbGx5LCB0aGUga2VybmVsIHdp bGwgY2FsbCB0aGUgcmVnaXN0ZXJlZCBldmVudCBjYWxsYmFjayBhbmQgcmV0dXJuCj4+Pj4+IHN0 YXR1c19jb2RlIHRvIGluZGljYXRlIHRoZSBzdGF0dXMgb2YgZXZlbnQgaGFuZGxpbmcuIFNERUlf RVZfRkFJTEVECj4+Pj4+IGluZGljYXRlcyB0aGF0IHRoZSBrZXJuZWwgZmFpbGVkIHRvIGhhbmRs ZSB0aGUgZXZlbnQuCj4+Pj4+Cj4+Pj4+IENvbnNlcXVlbnRseSwgd2hlbiBhbiBlcnJvciBvY2N1 cnMgZHVyaW5nIGtlcm5lbCBib290aW5nLCB0aGUga2VybmVsIGlzCj4+Pj4+IHVuYWJsZSB0byBo YW5kbGUgYW5kIHJlcG9ydCBlcnJvcnMgdW50aWwgdGhlIEdIRVMgZHJpdmVyIGlzIGluaXRpYWxp emVkIGJ5Cj4+Pj4+IGRldmljZV9pbml0Y2FsbCgpLCBpbiB3aGljaCB0aGUgZXZlbnQgY2FsbGJh Y2sgaXMgcmVnaXN0ZXJlZC4gQWxsIGVycm9ycwo+Pj4+PiB0aGF0IG9jY3VycmVkIGJlZm9yZSBH SEVTIGluaXRpYWxpemF0aW9uIGFyZSBtaXNzZWQgYW5kIHRoZXJlIGlzIG5vIGNoYW5jZQo+Pj4+ PiB0byByZXBvcnQgYW5kIGZpbmQgdGhlbSBhZ2Fpbi4KPj4+Pj4KPj4+Pj4gRnJvbSBjb21taXQg ZTE0NzEzM2E0MmNiICgiQUNQSSAvIEFQRUk6IE1ha2UgaGVzdC5jIG1hbmFnZSB0aGUgZXN0YXR1 cwo+Pj4+PiBtZW1vcnkgcG9vbCIpIHdhcyBtZXJnZWQsIGdoZXNfaW5pdCgpIHJlbGllcyBvbiBh Y3BpX2hlc3RfaW5pdCgpIHRvIG1hbmFnZQo+Pj4+PiB0aGUgZXN0YXR1cyBtZW1vcnkgcG9vbC4g T24gdGhlIG90aGVyIGhhbmQsIGdoZXNfaW5pdCgpIHJlbGllcyBvbgo+Pj4+PiBzZGVpX2luaXQo KSB0byBkZXRlY3QgdGhlIFNERUkgdmVyc2lvbiBhbmQgdGhlIGZyYW1ld29yayBmb3IgcmVnaXN0 ZXJpbmcKPj4+Pj4gYW5kIHVucmVnaXN0ZXJpbmcgZXZlbnRzLgo+Pj4+Cj4+Pj4+IEJ5IHRoZSB3 YXksIEkgZG9uJ3QgZmlndXJlIG91dCB3aHkgYWNwaV9oZXN0X2luaXQgaXMgY2FsbGVkIGluCj4+ Pj4+IGFjcGlfcGNpX3Jvb3RfaW5pdCwgaXQgZG9uJ3QgcmVseSBvbiBhbnkgb3RoZXIgdGhpbmcu IE1heSBpdCBjb3VsZAo+Pj4+PiBiZSBtb3ZlZCBmdXJ0aGVyLCBmb2xsb3dpbmcgYWNwaV9pb3J0 X2luaXQgaW4gYWNwaV9pbml0Lgo+Pgo+Pj4+PiBzZGVpX2luaXQoKSByZWxpZXMgb24gQUNQSSB0 YWJsZSB3aGljaCBpcyBpbml0aWFsaXplZAo+Pj4+PiBzdWJzeXNfaW5pdGNhbGwoKTogYWNwaV9p bml0KCksIGFjcGlfYnVzX2luaXQoKSwgYWNwaV9sb2FkX3RhYmxlcygpLAo+Pj4+PiBhY3BpX3Ri X2xhb2RfbmFtZXNwYWNlKCkuICBNYXkgaXQgc2hvdWxkIGJlIGFsc28gbW92ZWQgZnVydGhlciwK Pj4+Pj4gYWZ0ZXIgYWNwaV9sb2FkX3RhYmxlcy4KPj4KPj4+Pj4gSW4gdGhpcyBwYXRjaCwgbW92 ZSBzZGVpX2luaXQgYW5kIGdoZXNfaW5pdCBhcyBmYXIgYWhlYWQgYXMKPj4+Pj4gcG9zc2libGUs IHJpZ2h0IGFmdGVyIGFjcGlfaGVzdF9pbml0KCkuCj4+Pj4KPj4+PiBJJ20gaGF2aW5nIGEgaGFy ZCB0aW1lIGZpZ3VyaW5nIG91dCB0aGUgcmVhc29uIGZvciB0aGlzIHBhdGNoLgo+Pj4+Cj4+Pj4g QXBwYXJlbnRseSB0aGUgcmVsZXZhbnQgcGFydHMgYXJlIHNkZWlfaW5pdCgpIGFuZCBnaGVzX2lu aXQoKS4KPj4+PiBUb2RheSB0aGV5IGFyZSBleGVjdXRlZCBpbiB0aGF0IG9yZGVyOgo+Pj4+Cj4+ Pj4gICBzdWJzeXNfaW5pdGNhbGxfc3luYyhzZGVpX2luaXQpOwo+Pj4+ICAgZGV2aWNlX2luaXRj YWxsKGdoZXNfaW5pdCk7Cj4+Pj4KPj4+PiBBZnRlciB0aGlzIHBhdGNoLCB0aGV5IHdvdWxkIGJl IGV4ZWN1dGVkIGluIHRoZSBzYW1lIG9yZGVyLCBidXQgY2FsbGVkCj4+Pj4gZXhwbGljaXRseSBp bnN0ZWFkIG9mIGFzIGluaXRjYWxsczoKPj4+Pgo+Pj4+ICAgYWNwaV9wY2lfcm9vdF9pbml0KCkK Pj4+PiAgIHsKPj4+PiAgICAgYWNwaV9oZXN0X2luaXQoKTsKPj4+PiAgICAgc2RlaV9pbml0KCk7 Cj4+Pj4gICAgIGdoZXNfaW5pdCgpOwo+Pj4+ICAgICAuLi4KPj4+Pgo+Pj4+IEV4cGxpY2l0IGNh bGxzIGFyZSBjZXJ0YWlubHkgYmV0dGVyIHRoYW4gaW5pdGNhbGxzLCBidXQgdGhhdCBkb2Vzbid0 Cj4+Pj4gc2VlbSB0byBiZSB0aGUgcmVhc29uIGZvciB0aGlzIHBhdGNoLgo+Pj4+Cj4+Pj4gRG9l cyB0aGlzIHBhdGNoIGZpeCBhIGJ1Zz8gIElmIHNvLCB3aGF0IGlzIHRoZSBidWc/Cj4+Pgo+Pj4g WWVzLiBXaGVuIHRoZSBrZXJuZWwgYm9vdGluZywgdGhlIGNvbnNvbGUgbG9ncyBtYW55IHRpbWVz IGZyb20gZmlybXdhcmUKPj4+IGJlZm9yZSBHSEVTIGRyaXZlcnMgaW5pdDoKPj4+Cj4+PiAJVHJp cCBpbiBNTSBQQ0llIFJBUyBoYW5kbGUoSW50cjo5MTApCj4+PiAgIAlDbGVhbiBQRVsxLjEuMV0g RVJSX1NUUzoweDQwMDAxMDAgLT4gMCBJTlRfU1RTOkYwMDAwMDAwCj4+PiAJRmluZCBSUCg5ODox LjApCj4+PiAJLS1XYWxrIGRldig5ODoxLjApIENFOjAgVUNFOjQwMDAKPj4+IAkuLi4KPj4+IAlF UlJPUjogICBzZGVpX2Rpc3BhdGNoX2V2ZW50KDMyYSkgcmV0Oi0xCj4+PiAJLS1oYW5kbGVyKDkx MCkgZW5kCj4+Pgo+Pj4gVGhpcyBpcyBiZWNhdXNlIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBoYXMg bm90IGJlZW4gcmVnaXN0ZXJlZCB5ZXQuCj4+PiBQcmV2aW91c2x5IHJlcG9ydGVkIGVycm9ycyB3 aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IG5ldyBvbmVzLiBUaGVyZWZvcmUsCj4+PiBhbGwgZXJyb3Jz IHRoYXQgb2NjdXJyZWQgYmVmb3JlIEdIRVMgaW5pdGlhbGl6YXRpb24gYXJlIG1pc3NlZAo+Pj4g YW5kIHRoZXJlIGlzIG5vIGNoYW5jZSB0byByZXBvcnQgYW5kIGZpbmQgdGhlbSBhZ2Fpbi4KPj4+ Cj4+Pj4gWW91IHNheSB0aGF0IGN1cnJlbnRseSAiZXJyb3JzIHRoYXQgb2NjdXIgYmVmb3JlIEdI RVMgaW5pdGlhbGl6YXRpb24KPj4+PiBhcmUgbWlzc2VkIi4gIElzbid0IHRoYXQgc3RpbGwgdHJ1 ZSBhZnRlciB0aGlzIHBhdGNoPyAgRG9lcyB0aGlzIHBhdGNoCj4+Pj4gbWVyZWx5IHJlZHVjZSB0 aGUgdGltZSBiZWZvcmUgR0hFUyBpbml0aWFsaXphdGlvbj8gIElmIHNvLCBJJ20KPj4+PiBkdWJp b3VzLCBiZWNhdXNlIHdlIGhhdmUgdG8gdG9sZXJhdGUgYW4gYXJiaXRyYXJ5IGFtb3VudCBvZiB0 aW1lCj4+Pj4gdGhlcmUuCj4+Pgo+Pj4gQWZ0ZXIgdGhpcyBwYXRjaCwgdGhlcmUgYXJlIHN0aWxs IGVycm9ycyBtaXNzaW5nLiBBcyB5b3UgbWVudGlvbmVkLAo+Pj4gd2UgaGF2ZSB0byB0b2xlcmF0 ZSBpdCB1bnRpbCB0aGUgc29mdHdhcmUgcmVwb3J0aW5nIGNhcGFiaWxpdHkgaXMgYnVpbHQuCj4+ Pgo+Pj4gWWVzLCB0aGlzIHBhdGNoIG1lcmVseSByZWR1Y2UgdGhlIHRpbWUgYmVmb3JlIEdIRVMg aW5pdGlhbGl6YXRpb24uCj4+Cj4+IEl0J3Mgbm90IGEgYnVnIHRoYXQgZXJyb3JzIHRoYXQgaGFw cGVuIGJlZm9yZSB0aGUgY2FsbGJhY2sgYXJlIGxvc3QuCj4+IEF0IGxlYXN0LCBpdCdzIG5vdCBh ICpMaW51eCogYnVnLiAgSXQgbWlnaHQgYmUgYSBwb29yIGRlc2lnbiBvZiB0aGUKPj4gZmlybXdh cmUgZXJyb3IgcmVwb3J0aW5nIGludGVyZmFjZS4KPj4KPj4gSWYgdGhlIG9ubHkgcG9pbnQgb2Yg dGhpcyBwYXRjaCBpcyB0byByZWR1Y2UgdGhlIHRpbWUgYmVmb3JlIEdIRVMKPj4gaW5pdGlhbGl6 YXRpb24sIHRoZSBjb21taXQgbG9nIHNob3VsZCBjbGVhcmx5IHNheSB0aGF0Lgo+IAo+IFllcCwg aXQgaXMgYSBkZXNpZ24gZGVmZWN0IG9mIGZpcm13YXJlLiBJIHdpbGwgZXhwbGljaXRseSBkb2N1 bWVudAo+IHRoZSBwdXJwb3NlIG9mIHRoaXMgcGF0Y2ggaW4gbmV4dCB2ZXJzaW9uLgo+IAo+Pj4g VGhlIGJvb3QgZG1lc2cgYmVmb3JlIHRoaXMgcGF0Y2g6Cj4+Pgo+Pj4gCVsgICAgMy42ODg1ODZd IEhFU1Q6IFRhYmxlIHBhcnNpbmcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuCj4+PiAJLi4uCj4+PiAJ WyAgIDMzLjIwNDM0MF0gY2FsbGluZyAgc2RlaV9pbml0KzB4MC8weDEyMCBAIDEKPj4+IAlbICAg MzMuMjA4NjQ1XSBzZGVpOiBTREVJdjEuMCAoMHgwKSBkZXRlY3RlZCBpbiBmaXJtd2FyZS4KPj4+ IAkuLi4KPj4+IAlbICAgMzYuMDA1MzkwXSBjYWxsaW5nICBnaGVzX2luaXQrMHgwLzB4MTFjIEAg MQo+Pj4gCVsgICAzNi4xOTAwMjFdIEdIRVM6IEFQRUkgZmlybXdhcmUgZmlyc3QgbW9kZSBpcyBl bmFibGVkIGJ5IEFQRUkgYml0IGFuZCBXSEVBIF9PU0MuCj4+Pgo+Pj4KPj4+IEFmdGVyIHRoaXMg cGF0Y2gsIHRoZSBib290IGRtZXNnIGxpa2UgYmVsbG93Ogo+Pj4KPj4+IAlbICAgIDMuNjg4NjY0 XSBIRVNUOiBUYWJsZSBwYXJzaW5nIGhhcyBiZWVuIGluaXRpYWxpemVkLgo+Pj4gCVsgICAgMy42 ODg2OTFdIHNkZWk6IFNERUl2MS4wICgweDApIGRldGVjdGVkIGluIGZpcm13YXJlLgo+Pj4gCVsg ICAgMy42OTQ1NTddIEdIRVM6IEFQRUkgZmlybXdhcmUgZmlyc3QgbW9kZSBpcyBlbmFibGVkIGJ5 IEFQRUkgYml0IGFuZCBXSEVBIF9PU0MuCj4gCj4gQWZ0ZXIgdGhpcyBwYXRjaCwgd2UgdXNlIGV4 cGxpY2l0IGNhbGwgdG8gaW5pdCBHSEVTIHJhdGhlciB0aGFuIGluaXRjYWxsLgo+IFRoZSBHSEVT IG1lc3NhZ2UgaGVyZSBpcyBqdXN0IHRvIHByb3ZlIHRoYXQgR0hFUyBpbml0aWFsaXphdGlvbiBp cwo+IGFkdmFuY2VkIHRvIDMuNjk0NTU3IHNlY29uZHMuCj4gCj4gCj4+IFtUYW5nZW50OiBJIHRo aW5rIHRoaXMgR0hFUyBtZXNzYWdlIGlzIGNvbmZ1c2luZy4gIFdoYXQgIkFQRUkgYml0Igo+PiBk b2VzIHRoaXMgcmVmZXIgdG8/ICBUaGUgb25seSBiaXRzIEkgcmVtZW1iZXIgYXJlIHRoZSBGbGFn cyBiaXRzIGluCj4+IEhFU1QgRXJyb3IgU291cmNlIERlc2NyaXB0b3IgRW50cmllcywgZS5nLiwg QUNQSSB2Ni4zLCBzZWMgMTguMy4yLgo+IAo+IEZyb20gdGhlIGxvZyBjb2RlIGJlaGF2aW9yLCB0 aGUgQVBFSSBiaXQgcmVmZXJzIHRvIE9TQ19TQl9BUEVJX1NVUFBPUlQuCj4gKEJJVCA0LCBBQ1BJ IHY2LjQsIHNlYyA2LjIuMTEuMiwgIHRhYmxlIFRhYmxlIDYuMTMgUGxhdGZvcm0tV2lkZSBfT1ND Cj4gQ2FwYWJpbGl0aWVzIERXT1JEIDIuIFsxXSkKPiAKPiAgICAgLyogY29kZSBpbiBkcml2ZXJz L2FjcGkvYXBlaS9naGVzLmMgKi8KPiAgICAgaWYgKHJjID09IDAgJiYgb3NjX3NiX2FwZWlfc3Vw cG9ydF9hY2tlZCkKPiAgICAgICAgIHByX2luZm8oR0hFU19QRlggIkFQRUkgZmlybXdhcmUgZmly c3QgbW9kZSBpcyBlbmFibGVkIGJ5IEFQRUkgYml0IGFuZCBXSEVBIF9PU0MuXG4iKTsKPiAKPiAg ICAgLyogY29kZSBpbiBkcml2ZXJzL2FjcGkvYnVzLmMgKi8KPiAgICAgb3NjX3NiX2FwZWlfc3Vw cG9ydF9hY2tlZCA9Cj4gICAgICAgICBjYXBidWZfcmV0W09TQ19TVVBQT1JUX0RXT1JEXSAmIE9T Q19TQl9BUEVJX1NVUFBPUlQ7Cj4gCj4gCj4+ICJXSEVBIF9PU0MiIG1lYW5zIG5vdGhpbmcgdG8g bWUsIGFuZCBJIGRpZG4ndCBmaW5kIGFueXRoaW5nIHVzZWZ1bAo+PiB3aXRoIGdyZXAsIG90aGVy IHRoYW4gdGhhdCAiV0hFQSIgbWlnaHQgYmUgYW4gb2Jzb2xldGUgbmFtZSBmb3Igd2hhdAo+PiB3 ZSBub3cgY2FsbCAiQVBFSSIuCj4gCj4gWWVwLCBXSEVBIGlzIGFuIG9ic29sZXRlIG5hbWUuIEkg dGhpbmsgYXBlaV9vc2Nfc2V0dXAoKSBpcyBhZGRlZCBmb3IgY29tcGF0aWJpbGl0eQo+IGluIGNv bW1pdCBlY2NkZGQzMmNlZDAgKCJBQ1BJLCBBUEVJLCBBZGQgQVBFSSBiaXQgc3VwcG9ydCBpbiBn ZW5lcmljIF9PU0MgY2FsbCIpJwo+IAo+IFRoZSBBQ1BJIHNwZWMgUGxhdGZvcm0tV2lkZSBPU1BN IENhcGFiaWxpdGllcyBkZWZpbmVzCj4gVVVJRCAiMDgxMUIwNkUtNEEyNy00NEY5LThENjAtM0NC QkMyMkU3QjQ4IiBpcyB1c2VkIGluCj4gYWNwaV9idXNfb3NjX3N1cHBvcnQoKS4gVGhlIE1pY3Jv c29mdCBXSEVBIGRlZmluZXMKPiBVVUlEICJlZDg1NWUwYy02YzkwLTQ3YmYtYTYyYS0yNmRlMGZj NWFkNWMiIHRoYXQgaXMgdXNlZAo+IGluIGFwZWlfb3NjX3NldHVwKCkuIFsyXVszXQo+IAo+IEZy b20gdGhlIGRpc2N1c3Npb25bNF0sIHRoZSBHSEVTIG1lc3NhZ2UgaXMgdG8gZGlzdGluZ3Vpc2gg YmV0d2Vlbgo+IHRoZSB0d28gc3BlY3MuCj4gCj4gICAgIFRvIGF2b2lkIGNvbmZ1c2lvbiwgY2Fu IHdlIGNoYW5nZSB0aGUgbWVzc2FnZSBhcyBmb2xsb3cuCj4gCj4gICAgIC0gZ2VuZXJpYyBfT1ND IHN1Y2NlZWRlZCwgQVBFSSBfT1NDIGZhaWxlZDogQVBFSSBmaXJtd2FyZSBmaXJzdCBtb2RlIGlz Cj4gICAgIGVuYWJsZWQgYnkgQVBFSSBiaXQuCj4gICAgIC0gZ2VuZXJpYyBfT1NDIGZhaWxlZCwg QVBFSSBfT1NDIHN1Y2NlZWRlZDogQVBFSSBmaXJtd2FyZSBmaXJzdCBtb2RlIGlzCj4gICAgIGVu YWJsZWQgYnkgV0hFQSBfT1NDLgo+ICAgICAtIGJvdGggc3VjY2VlZGVkOiBBUEVJIGZpcm13YXJl IGZpcnN0IG1vZGUgaXMgZW5hYmxlZCBieSBBUEVJIGJpdCBhbmQKPiAgICAgV0hFQSBfT1NDLgo+ ICAgICAtIGJvdGggZmFpbGVkOiBGYWlsZWQgdG8gZW5hYmxlIEFQRUkgZmlybXdhcmUgZmlyc3Qg bW9kZSEKPiAKPiAKPj4gSSBkb24ndCB0aGluayB0aGVyZSdzIGFueXRoaW5nIGluIF9PU0MgdGhh dCBtZW50aW9ucyAiZmlybXdhcmUgZmlyc3QuIgo+Pgo+PiBJIGRvbid0IHJlbWVtYmVyIGFueXRo aW5nIGluIHRoZSBzcGVjIGFib3V0IGEgd2F5IHRvICplbmFibGUqIEZpcm13YXJlCj4+IEZpcnN0 IEVycm9yIEhhbmRsaW5nIG5lZWRpbmcgKEknbSBsb29raW5nIGF0IEFDUEkgdjYuMywgc2VjIDE4 LjQpLgo+Pgo+PiBJIHRoaW5rIHRoZSAiZmlybXdhcmUgZmlyc3QiIGluZm9ybWF0aW9uIGlzIHVz ZWxlc3MgdG8gdGhlIE9TIC0tIGFzCj4+IGZhciBhcyBJIGNhbiB0ZWxsLCB0aGUgc3BlYyBzYXlz IG5vdGhpbmcgYWJvdXQgYW55dGhpbmcgdGhlIE9TIHNob3VsZAo+PiBkbyBiYXNlZCBvbiB0aGUg RklSTVdBUkVfRklSU1QgYml0cy5dCj4gCj4gR0hFUyB3b3JrcyBpbiAiRmlybXdhcmUgRmlyc3Qi IG1vZGUgdG8gcmVwb3J0IHBsYXRmb3JtIGhhcmR3YXJlIGVycm9yCj4gYW5kIGl0IGRlcGVuZHMg b24gQVBFSSBpbnRlcmZhY2UuIChkcml2ZXJzL2FjcGkvYXBlaS9naGVzLmMpCj4gCj4gICAgKiBH ZW5lcmljIEhhcmR3YXJlIEVycm9yIFNvdXJjZSBwcm92aWRlcyBhIHdheSB0byByZXBvcnQgcGxh dGZvcm0KPiAgICAqIGhhcmR3YXJlIGVycm9ycyAoc3VjaCBhcyB0aGF0IGZyb20gY2hpcHNldCku IEl0IHdvcmtzIGluIHNvIGNhbGxlZAo+ICAgICogIkZpcm13YXJlIEZpcnN0IiBtb2RlLCB0aGF0 IGlzLCBoYXJkd2FyZSBlcnJvcnMgYXJlIHJlcG9ydGVkIHRvCj4gICAgKiBmaXJtd2FyZSBmaXJz dGx5LCB0aGVuIHJlcG9ydGVkIHRvIExpbnV4IGJ5IGZpcm13YXJlLgo+IAo+IEJhc2VkIG9uIGFi b3ZlLCBJIHRoaW5rIHRoZSBHSEVTIG1lc3NhZ2UganVzdCBtZWFucyB0aGF0IHRoaXMgYm9vdGlu Zwo+IGtlcm5lbCBzdXBwb3J0cyBBUEVJIG9yIFdIRUEsIGFuZCBHSEVTIHJlcG9ydCBGaXJtd2Fy ZSBmaXJzdCBlcnJvcnMgb24KPiB0aGlzIG1hY2hpbmUuIElzIGl0IGZpbmUgdG8ga2VlcCB0aGUg bWVzc2FnZT8KPiAKPiAKPj4+IEFzIHdlIGNhbiBzZWUsIHRoZSBpbml0aWFsaXphdGlvbiBvZiBH SEVTIGlzIGFkdmFuY2VkIGJ5IDMzIHNlY29uZHMuCj4+PiBTbywgaW4gbXkgb3BpbmlvbiwgdGhp cyBwYXRjaCBpcyBuZWNlc3NhcnksIHJpZ2h0Pwo+Pj4gKEl0IHNob3VsZCBiZSBub3RlZCB0aGF0 IHRoZSBlZmZlY3Qgb2Ygb3B0aW1pemF0aW9uIHZhcmllcyB3aXRoIHRoZSBwbGF0Zm9ybS4pCj4+ Cj4+Pj4+IC1kZXZpY2VfaW5pdGNhbGwoZ2hlc19pbml0KTsKPj4+Pgo+Pj4+PiAgdm9pZCBfX2lu aXQgYWNwaV9wY2lfcm9vdF9pbml0KHZvaWQpCj4+Pj4+ICB7Cj4+Pj4+ICAJYWNwaV9oZXN0X2lu aXQoKTsKPj4+Pj4gKwlzZGVpX2luaXQoKTsKPj4+Pj4gKwlnaGVzX2luaXQoKTsKPj4+Pgo+Pj4+ IFdoYXQncyB0aGUgY29ubmVjdGlvbiBiZXR3ZWVuIFBDSSwgU0RFSSwgYW5kIEdIRVM/ICBBcyBm YXIgYXMgSSBjYW4KPj4+PiB0ZWxsLCBTREVJIGFuZCBHSEVTIGFyZSBub3QgUENJLXNwZWNpZmlj LCBzbyBpdCBkb2Vzbid0IHNlZW0gbGlrZSB0aGV5Cj4+Pj4gc2hvdWxkIGJlIGluaXRpYWxpemVk IGhlcmUgaW4gYWNwaV9wY2lfcm9vdF9pbml0KCkuCj4+Pgo+Pj4gVGhlIG9ubHkgcmVhc29uIGlz IHRoYXQgYWNwaV9oZXN0X2luaXQoKSBpcyBpbml0aWFsaXplZCBoZXJlLgo+Pj4KPj4+IEZyb20g Y29tbWl0IGUxNDcxMzNhNDJjYiAoIkFDUEkgLyBBUEVJOiBNYWtlIGhlc3QuYyBtYW5hZ2UgdGhl IGVzdGF0dXMKPj4+IG1lbW9yeSBwb29sIikgd2FzIG1lcmdlZCwgZ2hlc19pbml0KCkgcmVsaWVz IG9uIGFjcGlfaGVzdF9pbml0KCkgdG8gbWFuYWdlCj4+PiB0aGUgZXN0YXR1cyBtZW1vcnkgcG9v bC4gT24gdGhlIG90aGVyIGhhbmQsIGdoZXNfaW5pdCgpIHJlbGllcyBvbgo+Pj4gc2RlaV9pbml0 KCkgdG8gZGV0ZWN0IHRoZSBTREVJIHZlcnNpb24gYW5kIHRoZSBmcmFtZXdvcmsgZm9yIHJlZ2lz dGVyaW5nCj4+PiBhbmQgdW5yZWdpc3RlcmluZyBldmVudHMuIFRoZSBkZXBlbmRlbmNpZXMgYXJl IGFzIGZvbGxvd3MKPj4+Cj4+PiAJZ2hlc19pbml0KCkgPT4gYWNwaV9oZXN0X2luaXQoKQo+Pj4g CWdoZXNfaW5pdCgpID0+IHNkZWlfaW5pdCgpCj4+Pgo+Pj4gSSBkb24ndCBmaWd1cmUgb3V0IHdo eSBhY3BpX2hlc3RfaW5pdCgpIGlzIGNhbGxlZCBpbgo+Pj4gYWNwaV9wY2lfcm9vdF9pbml0KCks IGl0IGRvbid0IHJlbHkgb24gYW55IG90aGVyIHRoaW5nLgo+Pj4gSSBhbSB3b25kZXJpbmcgdGhh dCBzaG91bGQgd2UgbW92ZWQgYWxsIG9mIHRoZW0gZnVydGhlcj8gZS5nLgo+Pj4gZm9sbG93aW5n IGFjcGlfaW9ydF9pbml0KCkgaW4gYWNwaV9pbml0KCkuCj4+Cj4+IEkgZG9uJ3Qga25vdyB3aHkg YWNwaV9oZXN0X2luaXQoKSBpcyBjYWxsZWQgZnJvbSBhY3BpX3BjaV9yb290X2luaXQoKS4KPj4g SXQgbG9va3MgbGlrZSBIRVNUIGNhbiBzdXBwb3J0IGVycm9yIHNvdXJjZXMgb3RoZXIgdGhhbiBQ Q0kgKElBLTMyCj4+IE1hY2hpbmUgQ2hlY2tzLCBOTUlzLCBHSEVTLCBldGMuKSAgSXQgd2FzIGFk ZGVkIGJ5IDQxNWUxMmIyMzc5Mgo+PiAoIlBDSS9BQ1BJOiBSZXF1ZXN0IF9PU0MgY29udHJvbCBv bmNlIGZvciBlYWNoIHJvb3QgYnJpZGdlICh2MykiKTsKPj4gbWF5YmUgUmFmYWVsIHJlbWVtYmVy cyB3aHkuCj4+Cj4+IFNlZW0gbGlrZSBhY3BpX2hlc3RfaW5pdCgpLCBzZGVpX2luaXQoKSwgYW5k IGdoZXNfaW5pdCgpIHNob3VsZCBhbGwgZ28KPj4gc29tZXdoZXJlIGVsc2UsIGJ1dCBJIGRvbid0 IGtub3cgd2hlcmUuICBNYXliZSBzb21ld2hlcmUgaW4KPj4gYWNwaV9pbml0KCk/Cj4gCj4gSSB0 cmllZCB0byBtb3ZlIHRoZW0gaW50byBhY3BpX2luaXQoKSwgYW5kIGl0IHdvcmtzIHdlbGwuCj4g Cj4gQEAgLTEyNTEsNiArMTI1MSw5IEBAIHN0YXRpYyBpbnQgX19pbml0IGFjcGlfaW5pdCh2b2lk KQo+IAo+ICAgICAgICAgcGNpX21tY2ZnX2xhdGVfaW5pdCgpOwo+ICAgICAgICAgYWNwaV9pb3J0 X2luaXQoKTsKPiArICAgICAgIGFjcGlfaGVzdF9pbml0KCk7Cj4gKyAgICAgICBzZGVpX2luaXQo KTsKPiArICAgICAgIGdoZXNfaW5pdCgpOwo+ICAgICAgICAgYWNwaV9zY2FuX2luaXQoKTsKPiAg ICAgICAgIGFjcGlfZWNfaW5pdCgpOwo+IAo+IFdoYXQncyB5b3VyIG9waW5pb24/Cj4gCj4gQmVz dCBSZWdhcmRzLAo+IAo+IFNodWFpCj4gCj4gCj4gWzFdIGh0dHBzOi8vdWVmaS5vcmcvc3BlY3Mv QUNQSS82LjQvMDZfRGV2aWNlX0NvbmZpZ3VyYXRpb24vRGV2aWNlX0NvbmZpZ3VyYXRpb24uaHRt bCNwbGF0Zm9ybS13aWRlLW9zYy1jYXBhYmlsaXRpZXMtZHdvcmQtMgo+IFsyXSBodHRwczovL3d3 dy5tYWlsLWFyY2hpdmUuY29tL3VidW50dS1idWdzQGxpc3RzLnVidW50dS5jb20vbXNnNDcxODUw My5odG1sCj4gWzNdIGh0dHA6Ly93d3cuZ3V5cmVhbXMuY29tL1BERi93aGVhLnBkZgo+IFs0XSBo dHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QvbGludXgtYWNwaS9wYXRjaC8xMzA4 NjQwNTg3LTI0NTAyLTUtZ2l0LXNlbmQtZW1haWwteWluZy5odWFuZ0BpbnRlbC5jb20vIzE5Nzg5 MjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFy bS1rZXJuZWwK