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 D4403C433F5 for ; Fri, 24 Dec 2021 00:19:18 +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:MIME-Version: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:References: List-Owner; bh=0bNMGLbe4lw7DQfYERjlQFWIVEx4awROOf6nQLZj1sI=; b=UtfxVLCmzBqMTq VZcRrXACmW+i9Tj5b0yqHPxObJGvrv51hAusvvQ3Ikdj1oCH+qGKdl1Qm14pPSabdRiCsNquCDB11 F3Gbd3n7tLaKQKvUf4q9BmUBvOHSz8lUkYe5qME1+8yls/KbeJZl6OrqP8tPVuWKX2rZk7r2iF2Hp 2hn6g8V8oQF5+JxfoVIC4oxtez50790rKw46h+wcXtxQYunQTBNhDJs/c4CVpLnvktFkI6RhYISna vPIVs5T7vyxR9FqRNPsKVPhxS7WoqGWplOeALmAvNemmTF56p6Rq0KeEooLIjmyoYAm84rISJJa/Q p5NhYrnMUAtFgAMMQbCA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n0YGx-00DZT6-33; Fri, 24 Dec 2021 00:17:23 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n0YGt-00DZSj-CE for linux-arm-kernel@lists.infradead.org; Fri, 24 Dec 2021 00:17:21 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id DE58C61FB4; Fri, 24 Dec 2021 00:17:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DA228C36AE9; Fri, 24 Dec 2021 00:17:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1640305038; bh=Lsn+SJr4zh4UngfpfSCZSK7Cx8HFzr3Btzb07JER74A=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=e8qfm14ZXBBPAovJ7Lz14Jh2N+BIwWPCrhp/J9Oq4q1kzmOhI5czSBRUuDSY9eB05 XmyMFIn+ynDw3MZVqQJvZw1/EK2Ogf6yiSdGzXMdEQQ71ms3TRmssK17Fz/xVrkr6z Tw2kg1cFq6raVDqB0eT1W9+ksOqB1nQG+AB4qjVpn8JWwAzkIr4/lsfJngbvJ7VTXt StH7OChZ66aECg/QqxF+TcgthAYl9ITz8khtIeW91b+UxelJ8wIRvCgKvMVBANMwPU fWSNQ9av2ealcc6u+40b6oB6agt9wIrXo+adjmU4Kv6GGcVI+zahYSIpJvdFThBV4t D5qTkU5rIxtjg== Date: Thu, 23 Dec 2021 18:17:16 -0600 From: Bjorn Helgaas To: Shuai Xue , "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 Subject: Re: [RESEND PATCH v4] ACPI: Move sdei_init and ghes_init ahead to handle platform errors earlier Message-ID: <20211224001716.GA1324143@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <8d415145-01bc-ce57-fd00-91ca63090caa@linux.alibaba.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211223_161719_527493_8667A722 X-CRM114-Status: GOOD ( 54.45 ) 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 Wyt0byBSYWZhZWwsIHF1ZXN0aW9uIGFib3V0IEhFU1QvR0hFUy9TREVJIGluaXRdCgpPbiBUaHUs IERlYyAyMywgMjAyMSBhdCAwNDoxMToxMVBNICswODAwLCBTaHVhaSBYdWUgd3JvdGU6Cj4g5Zyo IDIwMjEvMTIvMjIgQU03OjE3LCBCam9ybiBIZWxnYWFzIOWGmemBkzoKPiA+IE9uIFRodSwgRGVj IDE2LCAyMDIxIGF0IDA5OjM0OjU2UE0gKzA4MDAsIFNodWFpIFh1ZSB3cm90ZToKPiA+PiBPbiBh biBBQ1BJIHN5c3RlbSwgQUNQSSBpcyBpbml0aWFsaXNlZCB2ZXJ5IGVhcmx5IGZyb20gYSBzdWJz eXNfaW5pdGNhbGwoKSwKPiA+PiB3aGlsZSBTREVJIGlzIG5vdCByZWFkeSB1bnRpbCBhIHN1YnN5 c19pbml0Y2FsbF9zeW5jKCkuCj4gPj4KPiA+PiBUaGUgU0RFSSBkcml2ZXIgcHJvdmlkZXMgZnVu Y3Rpb25zIChlLmcuIGFwZWlfc2RlaV9yZWdpc3Rlcl9naGVzLAo+ID4+IGFwZWlfc2RlaV91bnJl Z2lzdGVyX2doZXMpIHRvIHJlZ2lzdGVyIG9yIHVucmVnaXN0ZXIgZXZlbnQgY2FsbGJhY2sgZm9y Cj4gPj4gZGlzcGF0Y2hlciBpbiBmaXJtd2FyZS4gV2hlbiB0aGUgR0hFUyBkcml2ZXIgcHJvYmlu ZywgaXQgcmVnaXN0ZXJzIHRoZQo+ID4+IGNvcnJlc3BvbmRpbmcgY2FsbGJhY2sgYWNjb3JkaW5n IHRvIHRoZSBub3RpZmljYXRpb24gdHlwZSBzcGVjaWZpZWQgYnkKPiA+PiBHSEVTLiBJZiB0aGUg R0hFUyBub3RpZmljYXRpb24gdHlwZSBpcyBTREVJLCB0aGUgR0hFUyBkcml2ZXIgd2lsbCBjYWxs Cj4gPj4gYXBlaV9zZGVpX3JlZ2lzdGVyX2doZXMgdG8gcmVnaXN0ZXIgZXZlbnQgY2FsbC4KPiA+ Pgo+ID4+IFdoZW4gdGhlIGZpcm13YXJlIGVtaXRzIGFuIGV2ZW50LCBpdCBtaWdyYXRlcyB0aGUg aGFuZGxpbmcgb2YgdGhlIGV2ZW50Cj4gPj4gaW50byB0aGUga2VybmVsIGF0IHRoZSByZWdpc3Rl cmVkIGVudHJ5LXBvaW50IF9fc2RlaV9hc21faGFuZGxlci4gQW5kCj4gPj4gZmluYWxseSwgdGhl IGtlcm5lbCB3aWxsIGNhbGwgdGhlIHJlZ2lzdGVyZWQgZXZlbnQgY2FsbGJhY2sgYW5kIHJldHVy bgo+ID4+IHN0YXR1c19jb2RlIHRvIGluZGljYXRlIHRoZSBzdGF0dXMgb2YgZXZlbnQgaGFuZGxp bmcuIFNERUlfRVZfRkFJTEVECj4gPj4gaW5kaWNhdGVzIHRoYXQgdGhlIGtlcm5lbCBmYWlsZWQg dG8gaGFuZGxlIHRoZSBldmVudC4KPiA+Pgo+ID4+IENvbnNlcXVlbnRseSwgd2hlbiBhbiBlcnJv ciBvY2N1cnMgZHVyaW5nIGtlcm5lbCBib290aW5nLCB0aGUga2VybmVsIGlzCj4gPj4gdW5hYmxl IHRvIGhhbmRsZSBhbmQgcmVwb3J0IGVycm9ycyB1bnRpbCB0aGUgR0hFUyBkcml2ZXIgaXMgaW5p dGlhbGl6ZWQgYnkKPiA+PiBkZXZpY2VfaW5pdGNhbGwoKSwgaW4gd2hpY2ggdGhlIGV2ZW50IGNh bGxiYWNrIGlzIHJlZ2lzdGVyZWQuIEFsbCBlcnJvcnMKPiA+PiB0aGF0IG9jY3VycmVkIGJlZm9y ZSBHSEVTIGluaXRpYWxpemF0aW9uIGFyZSBtaXNzZWQgYW5kIHRoZXJlIGlzIG5vIGNoYW5jZQo+ ID4+IHRvIHJlcG9ydCBhbmQgZmluZCB0aGVtIGFnYWluLgo+ID4+Cj4gPj4gRnJvbSBjb21taXQg ZTE0NzEzM2E0MmNiICgiQUNQSSAvIEFQRUk6IE1ha2UgaGVzdC5jIG1hbmFnZSB0aGUgZXN0YXR1 cwo+ID4+IG1lbW9yeSBwb29sIikgd2FzIG1lcmdlZCwgZ2hlc19pbml0KCkgcmVsaWVzIG9uIGFj cGlfaGVzdF9pbml0KCkgdG8gbWFuYWdlCj4gPj4gdGhlIGVzdGF0dXMgbWVtb3J5IHBvb2wuIE9u IHRoZSBvdGhlciBoYW5kLCBnaGVzX2luaXQoKSByZWxpZXMgb24KPiA+PiBzZGVpX2luaXQoKSB0 byBkZXRlY3QgdGhlIFNERUkgdmVyc2lvbiBhbmQgdGhlIGZyYW1ld29yayBmb3IgcmVnaXN0ZXJp bmcKPiA+PiBhbmQgdW5yZWdpc3RlcmluZyBldmVudHMuCj4gPiAKPiA+PiBCeSB0aGUgd2F5LCBJ IGRvbid0IGZpZ3VyZSBvdXQgd2h5IGFjcGlfaGVzdF9pbml0IGlzIGNhbGxlZCBpbgo+ID4+IGFj cGlfcGNpX3Jvb3RfaW5pdCwgaXQgZG9uJ3QgcmVseSBvbiBhbnkgb3RoZXIgdGhpbmcuIE1heSBp dCBjb3VsZAo+ID4+IGJlIG1vdmVkIGZ1cnRoZXIsIGZvbGxvd2luZyBhY3BpX2lvcnRfaW5pdCBp biBhY3BpX2luaXQuCgo+ID4+IHNkZWlfaW5pdCgpIHJlbGllcyBvbiBBQ1BJIHRhYmxlIHdoaWNo IGlzIGluaXRpYWxpemVkCj4gPj4gc3Vic3lzX2luaXRjYWxsKCk6IGFjcGlfaW5pdCgpLCBhY3Bp X2J1c19pbml0KCksIGFjcGlfbG9hZF90YWJsZXMoKSwKPiA+PiBhY3BpX3RiX2xhb2RfbmFtZXNw YWNlKCkuICBNYXkgaXQgc2hvdWxkIGJlIGFsc28gbW92ZWQgZnVydGhlciwKPiA+PiBhZnRlciBh Y3BpX2xvYWRfdGFibGVzLgoKPiA+PiBJbiB0aGlzIHBhdGNoLCBtb3ZlIHNkZWlfaW5pdCBhbmQg Z2hlc19pbml0IGFzIGZhciBhaGVhZCBhcwo+ID4+IHBvc3NpYmxlLCByaWdodCBhZnRlciBhY3Bp X2hlc3RfaW5pdCgpLgo+ID4gCj4gPiBJJ20gaGF2aW5nIGEgaGFyZCB0aW1lIGZpZ3VyaW5nIG91 dCB0aGUgcmVhc29uIGZvciB0aGlzIHBhdGNoLgo+ID4gCj4gPiBBcHBhcmVudGx5IHRoZSByZWxl dmFudCBwYXJ0cyBhcmUgc2RlaV9pbml0KCkgYW5kIGdoZXNfaW5pdCgpLgo+ID4gVG9kYXkgdGhl eSBhcmUgZXhlY3V0ZWQgaW4gdGhhdCBvcmRlcjoKPiA+IAo+ID4gICBzdWJzeXNfaW5pdGNhbGxf c3luYyhzZGVpX2luaXQpOwo+ID4gICBkZXZpY2VfaW5pdGNhbGwoZ2hlc19pbml0KTsKPiA+IAo+ ID4gQWZ0ZXIgdGhpcyBwYXRjaCwgdGhleSB3b3VsZCBiZSBleGVjdXRlZCBpbiB0aGUgc2FtZSBv cmRlciwgYnV0IGNhbGxlZAo+ID4gZXhwbGljaXRseSBpbnN0ZWFkIG9mIGFzIGluaXRjYWxsczoK PiA+IAo+ID4gICBhY3BpX3BjaV9yb290X2luaXQoKQo+ID4gICB7Cj4gPiAgICAgYWNwaV9oZXN0 X2luaXQoKTsKPiA+ICAgICBzZGVpX2luaXQoKTsKPiA+ICAgICBnaGVzX2luaXQoKTsKPiA+ICAg ICAuLi4KPiA+IAo+ID4gRXhwbGljaXQgY2FsbHMgYXJlIGNlcnRhaW5seSBiZXR0ZXIgdGhhbiBp bml0Y2FsbHMsIGJ1dCB0aGF0IGRvZXNuJ3QKPiA+IHNlZW0gdG8gYmUgdGhlIHJlYXNvbiBmb3Ig dGhpcyBwYXRjaC4KPiA+IAo+ID4gRG9lcyB0aGlzIHBhdGNoIGZpeCBhIGJ1Zz8gIElmIHNvLCB3 aGF0IGlzIHRoZSBidWc/Cj4gCj4gWWVzLiBXaGVuIHRoZSBrZXJuZWwgYm9vdGluZywgdGhlIGNv bnNvbGUgbG9ncyBtYW55IHRpbWVzIGZyb20gZmlybXdhcmUKPiBiZWZvcmUgR0hFUyBkcml2ZXJz IGluaXQ6Cj4gCj4gCVRyaXAgaW4gTU0gUENJZSBSQVMgaGFuZGxlKEludHI6OTEwKQo+ICAgCUNs ZWFuIFBFWzEuMS4xXSBFUlJfU1RTOjB4NDAwMDEwMCAtPiAwIElOVF9TVFM6RjAwMDAwMDAKPiAJ RmluZCBSUCg5ODoxLjApCj4gCS0tV2FsayBkZXYoOTg6MS4wKSBDRTowIFVDRTo0MDAwCj4gCS4u Lgo+IAlFUlJPUjogICBzZGVpX2Rpc3BhdGNoX2V2ZW50KDMyYSkgcmV0Oi0xCj4gCS0taGFuZGxl cig5MTApIGVuZAo+IAo+IFRoaXMgaXMgYmVjYXVzZSB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gaGFz IG5vdCBiZWVuIHJlZ2lzdGVyZWQgeWV0Lgo+IFByZXZpb3VzbHkgcmVwb3J0ZWQgZXJyb3JzIHdp bGwgYmUgb3ZlcndyaXR0ZW4gYnkgbmV3IG9uZXMuIFRoZXJlZm9yZSwKPiBhbGwgZXJyb3JzIHRo YXQgb2NjdXJyZWQgYmVmb3JlIEdIRVMgaW5pdGlhbGl6YXRpb24gYXJlIG1pc3NlZAo+IGFuZCB0 aGVyZSBpcyBubyBjaGFuY2UgdG8gcmVwb3J0IGFuZCBmaW5kIHRoZW0gYWdhaW4uCj4gCj4gPiBZ b3Ugc2F5IHRoYXQgY3VycmVudGx5ICJlcnJvcnMgdGhhdCBvY2N1ciBiZWZvcmUgR0hFUyBpbml0 aWFsaXphdGlvbgo+ID4gYXJlIG1pc3NlZCIuICBJc24ndCB0aGF0IHN0aWxsIHRydWUgYWZ0ZXIg dGhpcyBwYXRjaD8gIERvZXMgdGhpcyBwYXRjaAo+ID4gbWVyZWx5IHJlZHVjZSB0aGUgdGltZSBi ZWZvcmUgR0hFUyBpbml0aWFsaXphdGlvbj8gIElmIHNvLCBJJ20KPiA+IGR1YmlvdXMsIGJlY2F1 c2Ugd2UgaGF2ZSB0byB0b2xlcmF0ZSBhbiBhcmJpdHJhcnkgYW1vdW50IG9mIHRpbWUKPiA+IHRo ZXJlLgo+IAo+IEFmdGVyIHRoaXMgcGF0Y2gsIHRoZXJlIGFyZSBzdGlsbCBlcnJvcnMgbWlzc2lu Zy4gQXMgeW91IG1lbnRpb25lZCwKPiB3ZSBoYXZlIHRvIHRvbGVyYXRlIGl0IHVudGlsIHRoZSBz b2Z0d2FyZSByZXBvcnRpbmcgY2FwYWJpbGl0eSBpcyBidWlsdC4KPiAKPiBZZXMsIHRoaXMgcGF0 Y2ggbWVyZWx5IHJlZHVjZSB0aGUgdGltZSBiZWZvcmUgR0hFUyBpbml0aWFsaXphdGlvbi4KCkl0 J3Mgbm90IGEgYnVnIHRoYXQgZXJyb3JzIHRoYXQgaGFwcGVuIGJlZm9yZSB0aGUgY2FsbGJhY2sg YXJlIGxvc3QuCkF0IGxlYXN0LCBpdCdzIG5vdCBhICpMaW51eCogYnVnLiAgSXQgbWlnaHQgYmUg YSBwb29yIGRlc2lnbiBvZiB0aGUKZmlybXdhcmUgZXJyb3IgcmVwb3J0aW5nIGludGVyZmFjZS4K CklmIHRoZSBvbmx5IHBvaW50IG9mIHRoaXMgcGF0Y2ggaXMgdG8gcmVkdWNlIHRoZSB0aW1lIGJl Zm9yZSBHSEVTCmluaXRpYWxpemF0aW9uLCB0aGUgY29tbWl0IGxvZyBzaG91bGQgY2xlYXJseSBz YXkgdGhhdC4KCj4gVGhlIGJvb3QgZG1lc2cgYmVmb3JlIHRoaXMgcGF0Y2g6Cj4gCj4gCVsgICAg My42ODg1ODZdIEhFU1Q6IFRhYmxlIHBhcnNpbmcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuCj4gCS4u Lgo+IAlbICAgMzMuMjA0MzQwXSBjYWxsaW5nICBzZGVpX2luaXQrMHgwLzB4MTIwIEAgMQo+IAlb ICAgMzMuMjA4NjQ1XSBzZGVpOiBTREVJdjEuMCAoMHgwKSBkZXRlY3RlZCBpbiBmaXJtd2FyZS4K PiAJLi4uCj4gCVsgICAzNi4wMDUzOTBdIGNhbGxpbmcgIGdoZXNfaW5pdCsweDAvMHgxMWMgQCAx Cj4gCVsgICAzNi4xOTAwMjFdIEdIRVM6IEFQRUkgZmlybXdhcmUgZmlyc3QgbW9kZSBpcyBlbmFi bGVkIGJ5IEFQRUkgYml0IGFuZCBXSEVBIF9PU0MuCj4gCj4gCj4gQWZ0ZXIgdGhpcyBwYXRjaCwg dGhlIGJvb3QgZG1lc2cgbGlrZSBiZWxsb3c6Cj4gCj4gCVsgICAgMy42ODg2NjRdIEhFU1Q6IFRh YmxlIHBhcnNpbmcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuCj4gCVsgICAgMy42ODg2OTFdIHNkZWk6 IFNERUl2MS4wICgweDApIGRldGVjdGVkIGluIGZpcm13YXJlLgo+IAlbICAgIDMuNjk0NTU3XSBH SEVTOiBBUEVJIGZpcm13YXJlIGZpcnN0IG1vZGUgaXMgZW5hYmxlZCBieSBBUEVJIGJpdCBhbmQg V0hFQSBfT1NDLgoKW1RhbmdlbnQ6IEkgdGhpbmsgdGhpcyBHSEVTIG1lc3NhZ2UgaXMgY29uZnVz aW5nLiAgV2hhdCAiQVBFSSBiaXQiCmRvZXMgdGhpcyByZWZlciB0bz8gIFRoZSBvbmx5IGJpdHMg SSByZW1lbWJlciBhcmUgdGhlIEZsYWdzIGJpdHMgaW4KSEVTVCBFcnJvciBTb3VyY2UgRGVzY3Jp cHRvciBFbnRyaWVzLCBlLmcuLCBBQ1BJIHY2LjMsIHNlYyAxOC4zLjIuCgoiV0hFQSBfT1NDIiBt ZWFucyBub3RoaW5nIHRvIG1lLCBhbmQgSSBkaWRuJ3QgZmluZCBhbnl0aGluZyB1c2VmdWwKd2l0 aCBncmVwLCBvdGhlciB0aGFuIHRoYXQgIldIRUEiIG1pZ2h0IGJlIGFuIG9ic29sZXRlIG5hbWUg Zm9yIHdoYXQKd2Ugbm93IGNhbGwgIkFQRUkiLgoKSSBkb24ndCB0aGluayB0aGVyZSdzIGFueXRo aW5nIGluIF9PU0MgdGhhdCBtZW50aW9ucyAiZmlybXdhcmUgZmlyc3QuIgoKSSBkb24ndCByZW1l bWJlciBhbnl0aGluZyBpbiB0aGUgc3BlYyBhYm91dCBhIHdheSB0byAqZW5hYmxlKiBGaXJtd2Fy ZQpGaXJzdCBFcnJvciBIYW5kbGluZyBuZWVkaW5nIChJJ20gbG9va2luZyBhdCBBQ1BJIHY2LjMs IHNlYyAxOC40KS4KCkkgdGhpbmsgdGhlICJmaXJtd2FyZSBmaXJzdCIgaW5mb3JtYXRpb24gaXMg dXNlbGVzcyB0byB0aGUgT1MgLS0gYXMKZmFyIGFzIEkgY2FuIHRlbGwsIHRoZSBzcGVjIHNheXMg bm90aGluZyBhYm91dCBhbnl0aGluZyB0aGUgT1Mgc2hvdWxkCmRvIGJhc2VkIG9uIHRoZSBGSVJN V0FSRV9GSVJTVCBiaXRzLl0KCj4gQXMgd2UgY2FuIHNlZSwgdGhlIGluaXRpYWxpemF0aW9uIG9m IEdIRVMgaXMgYWR2YW5jZWQgYnkgMzMgc2Vjb25kcy4KPiBTbywgaW4gbXkgb3BpbmlvbiwgdGhp cyBwYXRjaCBpcyBuZWNlc3NhcnksIHJpZ2h0Pwo+IChJdCBzaG91bGQgYmUgbm90ZWQgdGhhdCB0 aGUgZWZmZWN0IG9mIG9wdGltaXphdGlvbiB2YXJpZXMgd2l0aCB0aGUgcGxhdGZvcm0uKQoKPiA+ PiAtZGV2aWNlX2luaXRjYWxsKGdoZXNfaW5pdCk7Cj4gPiAKPiA+PiAgdm9pZCBfX2luaXQgYWNw aV9wY2lfcm9vdF9pbml0KHZvaWQpCj4gPj4gIHsKPiA+PiAgCWFjcGlfaGVzdF9pbml0KCk7Cj4g Pj4gKwlzZGVpX2luaXQoKTsKPiA+PiArCWdoZXNfaW5pdCgpOwo+ID4gCj4gPiBXaGF0J3MgdGhl IGNvbm5lY3Rpb24gYmV0d2VlbiBQQ0ksIFNERUksIGFuZCBHSEVTPyAgQXMgZmFyIGFzIEkgY2Fu Cj4gPiB0ZWxsLCBTREVJIGFuZCBHSEVTIGFyZSBub3QgUENJLXNwZWNpZmljLCBzbyBpdCBkb2Vz bid0IHNlZW0gbGlrZSB0aGV5Cj4gPiBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgaGVyZSBpbiBhY3Bp X3BjaV9yb290X2luaXQoKS4KPiAKPiBUaGUgb25seSByZWFzb24gaXMgdGhhdCBhY3BpX2hlc3Rf aW5pdCgpIGlzIGluaXRpYWxpemVkIGhlcmUuCj4gCj4gRnJvbSBjb21taXQgZTE0NzEzM2E0MmNi ICgiQUNQSSAvIEFQRUk6IE1ha2UgaGVzdC5jIG1hbmFnZSB0aGUgZXN0YXR1cwo+IG1lbW9yeSBw b29sIikgd2FzIG1lcmdlZCwgZ2hlc19pbml0KCkgcmVsaWVzIG9uIGFjcGlfaGVzdF9pbml0KCkg dG8gbWFuYWdlCj4gdGhlIGVzdGF0dXMgbWVtb3J5IHBvb2wuIE9uIHRoZSBvdGhlciBoYW5kLCBn aGVzX2luaXQoKSByZWxpZXMgb24KPiBzZGVpX2luaXQoKSB0byBkZXRlY3QgdGhlIFNERUkgdmVy c2lvbiBhbmQgdGhlIGZyYW1ld29yayBmb3IgcmVnaXN0ZXJpbmcKPiBhbmQgdW5yZWdpc3Rlcmlu ZyBldmVudHMuIFRoZSBkZXBlbmRlbmNpZXMgYXJlIGFzIGZvbGxvd3MKPiAKPiAJZ2hlc19pbml0 KCkgPT4gYWNwaV9oZXN0X2luaXQoKQo+IAlnaGVzX2luaXQoKSA9PiBzZGVpX2luaXQoKQo+IAo+ IEkgZG9uJ3QgZmlndXJlIG91dCB3aHkgYWNwaV9oZXN0X2luaXQoKSBpcyBjYWxsZWQgaW4KPiBh Y3BpX3BjaV9yb290X2luaXQoKSwgaXQgZG9uJ3QgcmVseSBvbiBhbnkgb3RoZXIgdGhpbmcuCj4g SSBhbSB3b25kZXJpbmcgdGhhdCBzaG91bGQgd2UgbW92ZWQgYWxsIG9mIHRoZW0gZnVydGhlcj8g ZS5nLgo+IGZvbGxvd2luZyBhY3BpX2lvcnRfaW5pdCgpIGluIGFjcGlfaW5pdCgpLgoKSSBkb24n dCBrbm93IHdoeSBhY3BpX2hlc3RfaW5pdCgpIGlzIGNhbGxlZCBmcm9tIGFjcGlfcGNpX3Jvb3Rf aW5pdCgpLgpJdCBsb29rcyBsaWtlIEhFU1QgY2FuIHN1cHBvcnQgZXJyb3Igc291cmNlcyBvdGhl ciB0aGFuIFBDSSAoSUEtMzIKTWFjaGluZSBDaGVja3MsIE5NSXMsIEdIRVMsIGV0Yy4pICBJdCB3 YXMgYWRkZWQgYnkgNDE1ZTEyYjIzNzkyCigiUENJL0FDUEk6IFJlcXVlc3QgX09TQyBjb250cm9s IG9uY2UgZm9yIGVhY2ggcm9vdCBicmlkZ2UgKHYzKSIpOwptYXliZSBSYWZhZWwgcmVtZW1iZXJz IHdoeS4KClNlZW0gbGlrZSBhY3BpX2hlc3RfaW5pdCgpLCBzZGVpX2luaXQoKSwgYW5kIGdoZXNf aW5pdCgpIHNob3VsZCBhbGwgZ28Kc29tZXdoZXJlIGVsc2UsIGJ1dCBJIGRvbid0IGtub3cgd2hl cmUuICBNYXliZSBzb21ld2hlcmUgaW4KYWNwaV9pbml0KCk/CgpCam9ybgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=