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 D93F6E7B5E1 for ; Wed, 4 Oct 2023 10:00:30 +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:References: 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=wfsNc8XynYP+JYLsvM5TBdmVOs6Axn7+7Z4wP5jsrMU=; b=vnD3odYa4KrWEc 8PykbWHTIJzBk7bT8a8CC7tefyJa+KyCSbKdrCKzfJbyGlBC0tDFqvwUZyoY4p/iOwrtxDJn7BwuL xvHK3Vt9WkTEO1VMtAQNLktcJfLybhb6/IgsNZFQobQxCjnH6OjScMpcvWmw60K2NCFgsw7+hC94B rEJdrd+yLFAsDgcgEpBa+w3YXwbBKJEDLl/9rUOlALGc3MaUuexjxx9pY+f8HQpGn10dpw58Km0BL PulBH8OQ+3Szc8pTUxXcMKVSgFG9sgoT666+f5C2QyxG97y4JQEgxFfbssgm0eD+04T0p+H+/oDb+ hVpvBXhTij4SLNhHPVkw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qnyfl-00HA3Y-15; Wed, 04 Oct 2023 10:00:05 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qnyfi-00HA2U-18; Wed, 04 Oct 2023 10:00:04 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E89ACDA7; Wed, 4 Oct 2023 03:00:38 -0700 (PDT) Received: from FVFF77S0Q05N (unknown [10.57.95.70]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 56DB53F5A1; Wed, 4 Oct 2023 02:59:57 -0700 (PDT) Date: Wed, 4 Oct 2023 10:59:50 +0100 From: Mark Rutland To: Doug Anderson Cc: Catalin Marinas , Will Deacon , Marc Zyngier , Stephen Boyd , Valentin Schneider , Chen-Yu Tsai , AngeloGioacchino Del Regno , D Scott Phillips , Josh Poimboeuf , Matthias Brugger , Misono Tomohiro , Peter Zijlstra , Sumit Garg , Thomas Gleixner , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org Subject: Re: [PATCH 1/2] arm64: smp: Fix pseudo NMI issues w/ broken Mediatek FW Message-ID: References: <20231002094526.1.Ie8f760213053e3d11592f892b30912dbac6b8b48@changeid> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231004_030002_488273_585D1E31 X-CRM114-Status: GOOD ( 68.48 ) 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 T24gVHVlLCBPY3QgMDMsIDIwMjMgYXQgMTI6MzI6MzlQTSAtMDcwMCwgRG91ZyBBbmRlcnNvbiB3 cm90ZToKPiBIaSwKPiAKPiBPbiBUdWUsIE9jdCAzLCAyMDIzIGF0IDk6MzLigK9BTSBNYXJrIFJ1 dGxhbmQgPG1hcmsucnV0bGFuZEBhcm0uY29tPiB3cm90ZToKPiA+Cj4gPiBPbiBUdWUsIE9jdCAw MywgMjAyMyBhdCAwNjo0MzowN0FNIC0wNzAwLCBEb3VnIEFuZGVyc29uIHdyb3RlOgo+ID4gPiBI aSwKPiA+ID4KPiA+ID4gT24gVHVlLCBPY3QgMywgMjAyMyBhdCA1OjI54oCvQU0gTWFyayBSdXRs YW5kIDxtYXJrLnJ1dGxhbmRAYXJtLmNvbT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBPbiBNb24s IE9jdCAwMiwgMjAyMyBhdCAxMjoxNjoxN1BNIC0wNzAwLCBEb3VnIEFuZGVyc29uIHdyb3RlOgo+ ID4gPiA+ID4gSGksCj4gPiA+ID4gPgo+ID4gPiA+ID4gT24gTW9uLCBPY3QgMiwgMjAyMyBhdCAx MDoyNOKAr0FNIE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+IHdyb3RlOgo+ID4g PiA+ID4gPgo+ID4gPiA+ID4gPiBPbiBNb24sIE9jdCAwMiwgMjAyMyBhdCAwOTo0NToyOUFNIC0w NzAwLCBEb3VnbGFzIEFuZGVyc29uIHdyb3RlOgo+ID4gPiA+ID4gPiA+IFNvbWUgbWVkaWF0ZWsg ZGV2aWNlcyBoYXZlIHRoZSBwcm9wZXJ0eQo+ID4gPiA+ID4gPiA+ICJtZWRpYXRlayxicm9rZW4t c2F2ZS1yZXN0b3JlLWZ3IiBpbiB0aGVpciBHSUMuIFRoaXMgbWVhbnMgdGhhdCwKPiA+ID4gPiA+ ID4gPiBhbHRob3VnaCB0aGUgaGFyZHdhcmUgc3VwcG9ydHMgcHNldWRvLU5NSSwgdGhlIGZpcm13 YXJlIGhhcyBhIGJ1Zwo+ID4gPiA+ID4gPiA+IHRoYXQgYmxvY2tzIGVuYWJsaW5nIGl0LiBXaGVu IHdlJ3JlIGluIHRoaXMgc3RhdGUsCj4gPiA+ID4gPiA+ID4gc3lzdGVtX3VzZXNfaXJxX3ByaW9f bWFza2luZygpIHdpbGwgcmV0dXJuIHRydWUgYnV0IHdlJ2xsIGZhaWwgdG8KPiA+ID4gPiA+ID4g PiBhY3R1YWxseSBlbmFibGUgdGhlIElSUSBpbiB0aGUgR0lDLgo+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4gTGV0J3MgbWFrZSB0aGUgY29kZSBoYW5kbGUgdGhpcy4gV2UnbGwgZGV0ZWN0IHRo YXQgd2UgZmFpbGVkIHRvCj4gPiA+ID4gPiA+ID4gcmVxdWVzdCBhbiBJUEkgYXMgTk1JIGFuZCBm YWxsYmFjayB0byByZXF1ZXN0aW5nIGl0IG5vcm1hbGx5LiBUaG91Z2gKPiA+ID4gPiA+ID4gPiB3 ZSBleHBlY3QgdGhhdCBlaXRoZXIgYWxsIG9mIG91ciByZXF1ZXN0cyB3aWxsIGZhaWwgb3IgYWxs IHdpbGwKPiA+ID4gPiA+ID4gPiBzdWNjZWVkLCBpdCdzIGp1c3QgYXMgY2hlYXAgdG8ga2VlcCBh IHBlci1JUEkgYml0bWFwIGFuZCB0aGF0IGtlZXBzIHVzCj4gPiA+ID4gPiA+ID4gcm9idXN0Lgo+ ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gRml4ZXM6IDMzMWExYjNhODM2YyAoImFybTY0OiBz bXA6IEFkZCBhcmNoIHN1cHBvcnQgZm9yIGJhY2t0cmFjZSB1c2luZyBwc2V1ZG8tTk1JIikKPiA+ ID4gPiA+ID4gPiBSZXBvcnRlZC1ieTogQ2hlbi1ZdSBUc2FpIDx3ZW5zdEBjaHJvbWl1bS5vcmc+ Cj4gPiA+ID4gPiA+ID4gQ2xvc2VzOiBodHRwczovL2lzc3VldHJhY2tlci5nb29nbGUuY29tL2lz c3Vlcy8xOTcwNjE5ODcjY29tbWVudDY4Cj4gPiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogRG91 Z2xhcyBBbmRlcnNvbiA8ZGlhbmRlcnNAY2hyb21pdW0ub3JnPgo+ID4gPiA+ID4gPiA+IC0tLQo+ ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gIGFyY2gvYXJtNjQva2VybmVsL3NtcC5jIHwgMTkg KysrKysrKysrKysrLS0tLS0tLQo+ID4gPiA+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMTIgaW5z ZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSSdtIG5v dCB0b28ga2VlbiBvbiBmYWxsaW5nIGJhY2sgaGVyZSB3aGVuIHdlIGhhdmUgbm8gaWRlYSB3aHkg dGhlIHJlcXVlc3QgZmFpbGVkLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBJJ2QgcHJlZmVyIGlm IHdlIGNvdWxkIGNoZWNrIHRoZSBgc3VwcG9ydHNfcHNldWRvX25taXNgIHN0YXRpYyBrZXkgZGly ZWN0bHkgdG8KPiA+ID4gPiA+ID4gYWNjb3VudCBmb3IgdGhlIGNhc2Ugb2YgYnJva2VuIEZXLCBl LmcuIGFzIGJlbG93Lgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBNYXJrLgo+ID4gPiA+ID4gPgo+ ID4gPiA+ID4gPiAtLS0tPjgtLS0tCj4gPiA+ID4gPiA+IEZyb20gNzJmZGVjMDVjNjRhNzRmMjE4 NzFiNDRjN2M3NjBiYmUwN2NhYzA0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKPiA+ID4gPiA+ ID4gRnJvbTogTWFyayBSdXRsYW5kIDxtYXJrLnJ1dGxhbmRAYXJtLmNvbT4KPiA+ID4gPiA+ID4g RGF0ZTogTW9uLCAyIE9jdCAyMDIzIDE4OjAwOjM2ICswMTAwCj4gPiA+ID4gPiA+IFN1YmplY3Q6 IFtQQVRDSF0gYXJtNjQ6IHNtcDogYXZvaWQgTk1JIElQSXMgd2l0aCBicm9rZW4gTWVkaWFUZWsg RlcKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gU29tZSBNZWRpYVRlayBkZXZpY2VzIGhhdmUgYnJv a2VuIGZpcm13YXJlIHdoaWNoIGNvcnJ1cHRzIHNvbWUgR0lDUgo+ID4gPiA+ID4gPiByZWdpc3Rl cnMgYmVoaW5kIHRoZSBiYWNrIG9mIHRoZSBPUywgYW5kIHBzZXVkby1OTUlzIGNhbm5vdCBiZSB1 c2VkIG9uCj4gPiA+ID4gPiA+IHRoZXNlIGRldmljZXMuIEZvciBtb3JlIGRldGFpbHMgc2VlIGNv bW1pdDoKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gICA0NGJkNzhkZDJiODg5N2Y1ICgiaXJxY2hp cC9naWMtdjM6IERpc2FibGUgcHNldWRvIE5NSXMgb24gTWVkaWF0ZWsgZGV2aWNlcyB3LyBmaXJt d2FyZSBpc3N1ZXMiKQo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBXZSBkaWQgbm90IHRha2UgdGhp cyBwcm9ibGVtIGludG8gYWNjb3VudCBpbiBjb21taXQ6Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ ICAgMzMxYTFiM2E4MzZjMGYzOCAoImFybTY0OiBzbXA6IEFkZCBhcmNoIHN1cHBvcnQgZm9yIGJh Y2t0cmFjZSB1c2luZyBwc2V1ZG8tTk1JIikKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gU2luY2Ug dGhhdCBjb21taXQgYXJtNjQncyBTTVAgY29kZSB3aWxsIHRyeSB0byBzZXR1cCBzb21lIElQSXMg YXMKPiA+ID4gPiA+ID4gcHNldWRvLU5NSXMsIGV2ZW4gb24gc3lzdGVtcyB3aXRoIGJyb2tlbiBG Vy4gVGhlIEdJQ3YzIGNvZGUgd2lsbAo+ID4gPiA+ID4gPiAocmlnaHRseSkgcmVqZWN0IGF0dGVt cHRzIHRvIHJlcXVlc3QgaW50ZXJydXB0cyBhcyBwc2V1ZG8tTk1JcywKPiA+ID4gPiA+ID4gcmVz dWx0aW5nIGluIGJvb3QtdGltZSBmYWlsdXJlcy4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gQXZv aWQgdGhlIHByb2JsZW0gYnkgdGFraW5nIHRoZSBicm9rZW4gRlcgaW50byBhY2NvdW50IHdoZW4g ZGVjaWRpbmcgdG8KPiA+ID4gPiA+ID4gcmVxdWVzdCBJUElzIGFzIHBzZXVkby1OTUlzLiBUaGUg R0lDdjMgZHJpdmVyIG1haW50YWlucyBhIHN0YXRpY19rZXkKPiA+ID4gPiA+ID4gbmFtZWQgInN1 cHBvcnRzX3BzZXVkb19ubWlzIiB3aGljaCBpcyBmYWxzZSBvbiBzeXN0ZW1zIHdpdGggYnJva2Vu IEZXLAo+ID4gPiA+ID4gPiBhbmQgd2UgY2FuIGNvbnN1bHQgdGhpcyB3aXRoaW4gaXBpX3Nob3Vs ZF9iZV9ubWkoKS4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gRml4ZXM6IDMzMWExYjNhODM2YzBm MzggKCJhcm02NDogc21wOiBBZGQgYXJjaCBzdXBwb3J0IGZvciBiYWNrdHJhY2UgdXNpbmcgcHNl dWRvLU5NSSIpCj4gPiA+ID4gPiA+IFJlcG9ydGVkLWJ5OiBDaGVuLVl1IFRzYWkgPHdlbnN0QGNo cm9taXVtLm9yZz4KPiA+ID4gPiA+ID4gQ2xvc2VzOiBodHRwczovL2lzc3VldHJhY2tlci5nb29n bGUuY29tL2lzc3Vlcy8xOTcwNjE5ODcjY29tbWVudDY4Cj4gPiA+ID4gPiA+IFNpZ25lZC1vZmYt Ynk6IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+Cj4gPiA+ID4gPiA+IENjOiBE b3VnbGFzIEFuZGVyc29uIDxkaWFuZGVyc0BjaHJvbWl1bS5vcmc+Cj4gPiA+ID4gPiA+IENjOiBN YXJjIFp5bmdpZXIgPG1hekBrZXJuZWwub3JnPgo+ID4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ID4g IGFyY2gvYXJtNjQva2VybmVsL3NtcC5jICAgICAgfCA1ICsrKystCj4gPiA+ID4gPiA+ICBkcml2 ZXJzL2lycWNoaXAvaXJxLWdpYy12My5jIHwgMiArLQo+ID4gPiA+ID4gPiAgMiBmaWxlcyBjaGFu Z2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gPiA+ID4gPgo+ID4gPiA+ID4g U3VyZSwgdGhpcyBpcyBPSyB3LyBtZSBhcyBsb25nIGFzIGZvbGtzIGRvbid0IG1pbmQgYWNjZXNz aW5nIHRoZQo+ID4gPiA+ID4gZ2xvYmFsIGhlcmUsIGl0J3MgT0sgdy8gbWU6Cj4gPiA+ID4gPgo+ ID4gPiA+ID4gUmV2aWV3ZWQtYnk6IERvdWdsYXMgQW5kZXJzb24gPGRpYW5kZXJzQGNocm9taXVt Lm9yZz4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBJdCBzZWVtcyB0byB3b3JrIGZvciBtZSwgdGh1czoK PiA+ID4gPiA+Cj4gPiA+ID4gPiBUZXN0ZWQtYnk6IERvdWdsYXMgQW5kZXJzb24gPGRpYW5kZXJz QGNocm9taXVtLm9yZz4KPiA+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0 IGEvYXJjaC9hcm02NC9rZXJuZWwvc21wLmMgYi9hcmNoL2FybTY0L2tlcm5lbC9zbXAuYwo+ID4g PiA+ID4gPiBpbmRleCA4MTRkOWFhOTNiMjFiLi4wNjFjNjkxNjBmOTBmIDEwMDY0NAo+ID4gPiA+ ID4gPiAtLS0gYS9hcmNoL2FybTY0L2tlcm5lbC9zbXAuYwo+ID4gPiA+ID4gPiArKysgYi9hcmNo L2FybTY0L2tlcm5lbC9zbXAuYwo+ID4gPiA+ID4gPiBAQCAtOTY0LDcgKzk2NCwxMCBAQCBzdGF0 aWMgdm9pZCBzbXBfY3Jvc3NfY2FsbChjb25zdCBzdHJ1Y3QgY3B1bWFzayAqdGFyZ2V0LCB1bnNp Z25lZCBpbnQgaXBpbnIpCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICBzdGF0aWMgYm9vbCBpcGlf c2hvdWxkX2JlX25taShlbnVtIGlwaV9tc2dfdHlwZSBpcGkpCj4gPiA+ID4gPiA+ICB7Cj4gPiA+ ID4gPiA+IC0gICAgICAgaWYgKCFzeXN0ZW1fdXNlc19pcnFfcHJpb19tYXNraW5nKCkpCj4gPiA+ ID4gPiA+ICsgICAgICAgREVDTEFSRV9TVEFUSUNfS0VZX0ZBTFNFKHN1cHBvcnRzX3BzZXVkb19u bWlzKTsKPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiArICAgICAgIGlmICghc3lzdGVtX3VzZXNf aXJxX3ByaW9fbWFza2luZygpIHx8Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICFzdGF0aWNfYnJh bmNoX2xpa2VseSgmc3VwcG9ydHNfcHNldWRvX25taXMpKQo+ID4gPiA+ID4KPiA+ID4gPiA+IE9u ZSB0aG91Z2h0LCBhY3R1YWxseSwgaXMgd2hldGhlciB3ZSBzaG91bGQgYWN0dWFsbHkgY2hhbmdl Cj4gPiA+ID4gPiBzeXN0ZW1fdXNlc19pcnFfcHJpb19tYXNraW5nKCkgdG8gcmV0dXJuIHRoZSBj b3JyZWN0IHZhbHVlLiBXaGF0IGRvCj4gPiA+ID4gPiB5b3UgdGhpbms/Cj4gPiA+ID4KPiA+ID4g PiBJIGRvbid0IHRoaW5rIHdlIHNob3VsZCBhZGQgdGhpcyB0byBzeXN0ZW1fdXNlc19pcnFfcHJp b19tYXNraW5nKCk7IHRoYXQncyB1c2VkCj4gPiA+ID4gYnkgdGhlIGxvdy1sZXZlbCBmbGFncyBt YW5pcHVsYXRpb24gY29kZSB0aGF0IGdldHMgaW5saW5lZCBhbGwgb3ZlciB0aGUgcGxhY2UsCj4g PiA+ID4gYW5kIHRoYXQgY29kZSB3aWxsIHdvcmsgcmVnYXJsZGVzcyBvZiB3aGV0aGVyIHdlIGFj dHVhbGx5IHVzZSBOTUkgcHJpb3JpdGllcy4KPiA+ID4gPgo+ID4gPiA+IElmIHdlIHdhbnQgdG8g YXZvaWQgdXNpbmcgUE1SIG1hc2tpbmcgKmF0IGFsbCogb24gdGhlc2UgcGxhdGZvcm1zLCB3ZSdk IG5lZWQgdG8KPiA+ID4gPiBkZXRlY3QgdGhhdCB3aXRoaW4gY2FuX3VzZV9naWNfcHJpb3JpdGll cygpIG9yIGVhcmx5X2VuYWJsZV9wc2V1ZG9fbm1pKCkuCj4gPiA+Cj4gPiA+IEkgc3VzcGVjdCB0 aGF0IGFueW9uZSB0cnlpbmcgdG8gdXNlIFBNUiBtYXNraW5nIG9uIHRoZXNlIHN5c3RlbXMgZm9y Cj4gPiA+IGFueSBwdXJwb3NlIHdpbGwgYmUgdW5oYXBweS4gVGhlIGlzc3VlIGlzIHRhbGtlZCBh Ym91dCBpbjoKPiA+ID4KPiA+ID4gaHR0cHM6Ly9pc3N1ZXRyYWNrZXIuZ29vZ2xlLmNvbS8yODE4 MzEyODgKPiA+ID4KPiA+ID4gLi4ud2hlcmUgeW91IGNhbiBzZWUgdGhhdCB0aGUgZmlybXdhcmUg b24gdGhlc2Ugc3lzdGVtcyBpc24ndCBwcm9wZXJseQo+ID4gPiBzYXZpbmcvcmVzdG9yaW5nIHNv bWUgcmVnaXN0ZXJzLCBpbmNsdWRpbmcgR0lDUl9JUFJJT1JJVFlSLgo+ID4KPiA+IE9rLCB0aGVu IHRoYXQncyBhIGxhdGVudCBidWcgZXZlbiBiZWZvcmUgdGhlIElQSSBjaGFuZ2VzLCBnb2luZyBi YWNrIHRvIHRoZQo+ID4gb3JpZ2luYWwgd29ya2Fyb3VuZCBpbiBjb21taXQ6Cj4gPgo+ID4gICA0 NGJkNzhkZDJiODg5N2Y1ICgiaXJxY2hpcC9naWMtdjM6IERpc2FibGUgcHNldWRvIE5NSXMgb24g TWVkaWF0ZWsgZGV2aWNlcyB3LyBmaXJtd2FyZSBpc3N1ZXMiKQo+ID4KPiA+IEZvciB0aGUgc2Fr ZSBvZiB0aG9zZSByZWFkaW5nIHRoZSBhcmNoaXZlLCBjYW4gd2UgaGF2ZSBhIGJldHRlciBkZXNj cmlwdGlvbiBvZgo+ID4gd2hhdCBleGFjdGx5IGhhcHBlbnMgb24gdGhlc2UgYm9hcmRzPwo+ID4K PiA+IElJVUMgb24gdGhlc2UgYm9hcmRzIHRoZSBmaXJtd2FyZSBmYWlscyB0byBzYXZlK3Jlc3Rv cmUgKHNvbWU/KSBHSUNSIHJlZ2lzdGVycwo+ID4gYWNyb3NzIChzb21lPykgUFNDSSBDUFVfU1VT UEVORCBpZGxlIHN0YXRlcy4KPiA+Cj4gPiBXaGljaCByZWdpc3RlcnMgZG9lcyBpdCBzYXZlK3Jl c3RvcmU/Cj4gPgo+ID4gRG9lcyBpdCByZXNldCBvdGhlciByZWdpc3RlcnMgaW50byBhIHNwZWNp ZmljIHN0YXRlPwo+IAo+IFRob3VnaCBJJ20gbm90IGFuIGV4cGVydCBpbiB0aGlzIGFyZWEsIG15 IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCBpbgo+IHNvbWUgb2YgdGhlIGRlZXBlciBpZGxlIHN0YXRl cyB0aGVuIEdJQ1IgcmVnaXN0ZXJzIGFyZSBsb3N0LiBUaGF0Cj4gbWF0Y2hlcyBhIHRocmVhZCBb MF0gSSBmb3VuZC4gSW4gZWFybHkgaW52ZXN0aWdhdGlvbiBJIGZvdW5kIHRoYXQgSQo+IGNvdWxk IGNvbW1lbnQgb3V0IGBjcHUtaWRsZS1zdGF0ZXNgIGluIHRoZSBkZXZpY2UgdHJlZSB0byBhdm9p ZCB0aGUKPiBwcm9ibGVtcyBbMV0uIEkgYmVsaWV2ZSB0aGlzIGlzIGZ1bGx5IGV4cGVjdGVkIHdo aWNoIGlzIHdoeSBmaXJtd2FyZQo+IGlzIHN1cHBvc2VkIHRvIHNhdmUvcmVzdG9yZSB0aGVzZSBy ZWdpc3RlcnMgd2hlbmV2ZXIgYSBsb3cgcG93ZXIgaXMKPiBlbnRlcmVkL2V4aXRlZC4gSSdkIHBy ZXN1bWUgdGhhdCBhbnkgcmVnaXN0ZXIgbm90IHByb3Blcmx5Cj4gc2F2ZWQvcmVzdG9yZWQgY29t ZXMgdXAgaW4gd2hhdGV2ZXIgaXRzIGRlZmF1bHQgc3RhdGUgaXMuCj4gCj4gQXMgZmFyIGFzIHBz ZXVkby1OTUkgd2FzIGNvbmNlcm5lZCwgYWxsIEkgcmVhbGx5IG5lZWRlZCB0bwo+IHNhdmUvcmVz dG9yZSB3YXMgIkdJQ1JfTlVNX0lQUklPUklUWVIiIFsyXSwgYnV0IE1hcmMgWnluZ2llciBsb29r ZWQgYXQKPiB0aGUgY29kZSBhbmQgaWRlbnRpZmllZCBbM10gYXQgbGVhc3QgdGhlc2UgaW4gYWRk aXRpb246Cj4gKiBHSUNSX0NUTFIKPiAqIEdJQ1JfSVNQRU5EUjAKPiAqIEdJQ1JfSVNBQ1RJVkVS MAo+ICogR0lDUl9OU0FDUgoKTG9va2luZyBhdCB0aGUgR0lDIHNwZWMgKEFybSBJSEkgMDA2OUgp LCBwYWdlIDEyLTY3MywgSSBzZWUgZm9yIGFsbCBvZiB0aGUKR0lDUl9JUFJJT1JJVFlSPG4+LlBy aW9yaXR5X29mZnNldF8qQiBmaWVsZHM6Cgp8IFRoZSByZXNldCBiZWhhdmlvciBvZiB0aGlzIGZp ZWxkIGlzOgp8IOKAoiBPbiBhIEdJQyByZXNldCwgdGhpcyBmaWVsZCByZXNldHMgdG8gYW4gYXJj aGl0ZWN0dXJhbGx5IFVOS05PV04gdmFsdWUuCgouLi4gc28gYXQgbGVhc3QgcGVyIHRoZSBhcmNo aXRlY3R1cmUgdGhlc2UgY291bGQgYmUgcmVzZXQgdG8gYXJiaXRyYXJ5IHZhbHVlcywKCmFuZCB0 aGF0IHByaW9yaXR5IG1pZ2h0IHBlcm1pdCBTR0kvUFBJcyB0byBiZSB0YWtlbiBJUlFzIGFyZSBw cmlvcml0eS1tYXNrZWQsCm9yIHRvIHByZXZlbnQgU0dJL1BQSXMgdG8gYmUgdGFrZW4gd2hlbiBw cmlvcml0eS11bm1hc2tlZC4KCkkgYWxzbyBzZWUgZm9yIEdJQ1JfQ1RMUiB0aGF0IEVuYWJsZUxQ SXMgd291bGQgYmUgcmVzZXQgdG8gMCwgYW5kIElJVUMgdGhhdAptZWFucyBMUElzIHdvbid0IHdv cmsgb24gdGhlc2UgcGFydHMsIHdoaWNoIHNlZW1zIGxpa2UgYSBwcm9ibGVtLgoKPiBUaGF0IGxp c3Qgc2VlbXMgdG8gbWF0Y2ggdGhlIEFybSBUcnVzdGVkIEZpcm13YXJlIHBhdGNoIHRoYXQgZml4 ZWQgdGhlCj4gaXNzdWUgWzRdLiAuLi5idXQgaXQgd2lsbCBiZSBpbXBvc3NpYmxlIHRvIGV2ZXIg Z2V0IHRoZSBmaXggcm9sbGVkIG91dAo+IHRvIGFsbCBkZXZpY2VzLiBFdmVuIGlmIHdlIGNvdWxk IGdldCBmaXJtd2FyZSBzcGlucyBRdWFsaWZpZWQgZm9yCj4gZXZlcnkgZGV2aWNlIHRoZXJlIHdp bGwgc3RpbGwgYmUgY2FzZXMgd2hlcmUgd2UnbGwgYm9vdCB3aXRoIHRoZSBvbGQKPiBmaXJtd2Fy ZS4gU2luY2Ugd2UgX2Rvbid0XyBidW5kbGUgdGhlIGRldmljZSB0cmVlIHdpdGggdGhlIGZpcm13 YXJlLAo+IHdlIGJlbGlldmUgdGhhdCB0aGUgcXVpcmsgbWVjaGFuaXNtIHRoYXQgd2UgY2FtZSB1 cCB3aXRoIChhZGQgYSBxdWlyawo+IGluIG5ldmVyIGRldmljZSB0cmVlcyBhbmQgZmlybXdhcmUg cmVtb3ZlcyB0aGUgcXVpcmsgd2hlbiB3ZSBoYXZlIGEKPiBmaXgpIGlzIGF0IGxlYXN0IGEgcm9i dXN0L3JlbGlhYmxlIHdheSB0byBkZXRlY3QgdGhlIGlzc3VlLgo+IAo+IFRoZSB3aG9sZSBpc3N1 ZSBzZWVtcyByYXRoZXIgY29uY2VybmluZywgYnV0IChhcHBhcmVudGx5KSBpdCBuZXZlcgo+IGNh dXNlZCBpc3N1ZXMgaW4gdGhlIGtlcm5lbCB1bnRpbCB3ZSB0cmllZCB0byB1c2UgcHNldWRvLU5N SS4KCkdpdmVuIHlvdSBoYXZlbid0IHNlZW4gYW55IGlzc3VlcywgSSBzdXNwZWN0IHRob3NlIGFy ZSBnZXR0aW5nIHJlc2V0IHRvIGZpeGVkCnZhbHVlcyB0aGF0IGhhcHBlbnMgdG8gd29yayBvdXQg Zm9yIHVzLCBidXQgaXQgaXMgYSBiaXQgd29ycmlzb21lIG1vcmUKZ2VuZXJhbGx5IChlLmcuIHRo ZSBMUEkgY2FzZSBhYm92ZSkuCgpNYXJrLgoKPiAKPiBbMF0gaHR0cHM6Ly9naXRodWIuY29tL0FS TS1zb2Z0d2FyZS90Zi1pc3N1ZXMvaXNzdWVzLzQ2NAo+IFsxXSBodHRwczovL2lzc3VldHJhY2tl ci5nb29nbGUuY29tL2lzc3Vlcy8xOTcwNjE5ODcjY29tbWVudDI3Cj4gWzJdIGh0dHBzOi8vY3Jy ZXYuY29tL2MvNDUxOTg3Nwo+IFszXSBodHRwczovL2lzc3VldHJhY2tlci5nb29nbGUuY29tL2lz c3Vlcy8yODE4MzEyODgjY29tbWVudDUKPiBbNF0gaHR0cHM6Ly9naXRodWIuY29tL0FSTS1zb2Z0 d2FyZS9hcm0tdHJ1c3RlZC1maXJtd2FyZS9jb21taXQvMWM2MmNjN2ZiZGYyZWMyYTdlNjliM2Mw MjdkNTA3ZmNhZmRjYWExMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBs aXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlz dGluZm8vbGludXgtYXJtLWtlcm5lbAo=