From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mian Yousaf Kaukab Subject: arm64: tegra186: bpmp: kernel crash while decompressing initrd Date: Fri, 8 May 2020 10:40:41 +0200 Message-ID: <20200508084041.23366-1-ykaukab@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: talho-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, afaerber-l3A5Bk7waGM@public.gmane.org, Mian Yousaf Kaukab List-Id: linux-tegra@vger.kernel.org I am seeing following kernel crash on Jetson TX2. Board is flashed with firmware bits from L4T R32.4.2 with upstream u-boot. Crash always happens while decompressing initrd. Initrd is approximately 80 MiB in size and compressed with xz (xz --check=crc32 --lzma2=dict=32MiB). Crash is not observed if the same initrd is compressed with gzip. [1] was a previous attempt to workaround the same issue. [ 0.651168] Trying to unpack rootfs image as initramfs... [ 2.890171] SError Interrupt on CPU0, code 0xbf40c000 -- SError [ 2.890174] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G S 5.7.0-rc4-next-20200505 #22 [ 2.890175] Hardware name: nvidia p2771-0000/p2771-0000, BIOS 2020.04-rc3 03/25/2020 [ 2.890176] pstate: 20000005 (nzCv daif -PAN -UAO BTYPE=--) [ 2.890177] pc : lzma_main+0x648/0x908 [ 2.890178] lr : lzma_main+0x330/0x908 [ 2.890179] sp : ffff80001003bb70 [ 2.890180] x29: ffff80001003bb70 x28: 0000000004d794a4 [ 2.890183] x27: 0000000004769941 x26: ffff0001eb064000 [ 2.890185] x25: ffff0001eb060028 x24: 0000000000000002 [ 2.890187] x23: 0000000000000003 x22: 0000000000000007 [ 2.890189] x21: 0000000000611f4b x20: ffff0001eb060000 [ 2.890192] x19: ffff80001003bcb8 x18: 0000000000000068 [ 2.890194] x17: 00000000000000c0 x16: fffffe00076b2108 [ 2.890196] x15: 0000000000000800 x14: 0000000000ffffff [ 2.890198] x13: 0000000000000001 x12: ffff0001eb060000 [ 2.890200] x11: 0000000000000600 x10: ffff0001eb060028 [ 2.890202] x9 : 00000000ffbb2a08 x8 : 0000000000000ed0 [ 2.890204] x7 : 00000000011553ec x6 : 0000000000000000 [ 2.890206] x5 : 0000000000000000 x4 : 0000000000000006 [ 2.890208] x3 : 00000000015a29e4 x2 : ffff0001eb062d0c [ 2.890210] x1 : 000000000000000c x0 : 000000000263de44 With some debugging aid ported from Nvidia downstream kernel [2] the actual cause was found: [ 0.761525] Trying to unpack rootfs image as initramfs... [ 2.955499] CPU0: SError: mpidr=0x80000100, esr=0xbf40c000 [ 2.955502] CPU1: SError: mpidr=0x80000000, esr=0xbe000000 [ 2.955505] CPU2: SError: mpidr=0x80000001, esr=0xbe000000 [ 2.955506] CPU3: SError: mpidr=0x80000101, esr=0xbf40c000 [ 2.955507] ROC:CCE Machine Check Error: [ 2.955508] ROC:CCE Registers: [ 2.955509] STAT: 0xb400000000400415 [ 2.955510] ADDR: 0x400c00e7a00c [ 2.955511] MSC1: 0x80ffc [ 2.955512] MSC2: 0x3900000000800 [ 2.955513] -------------------------------------- [ 2.955514] Decoded ROC:CCE Machine Check: [ 2.955515] Uncorrected (this is fatal) [ 2.955516] Error reporting enabled when error arrived [ 2.955517] Error Code = 0x415 [ 2.955518] Poison Error [ 2.955518] Command = NCRd (0xc) [ 2.955519] Address Type = Non-Secure DRAM [ 2.955521] Address = 0x30039e80 -- 30000000.sysram + 0x39e80 [ 2.955521] TLimit = 0x3ff [ 2.955522] Poison Error Mask = 0x80 [ 2.955523] More Info = 0x800 [ 2.955524] Timeout Info = 0x0 [ 2.955525] Poison Info = 0x800 [ 2.955526] Read Request failed GSC checks [ 2.955527] Source = L2_1 (A57) (0x1) [ 2.955528] TID = 0xe IIUC, there was read request for 0x30039e80 from EL1/2 which failed. This address falls in the sysram security aperture and hence a read from normal mode failed. sysram is mapped at 0x3000_0000 to 0x3004_ffff and is managed by the sram driver (drivers/misc/sram.c). There are two reserved pools for BPMP driver communication at 0x3004_e000 and 0x3004_f000 of 0x1000 bytes each. sram driver maps complete 0x3000_0000 to 0x3004_ffff range as normal memory. However, only the BPMP reserved pools (0x3004_e000 - 0x3004_ffff) are accessible from the kernel. Address 0x3003_9e80 is inaccessible from the kernel and a read to it (which I believe is speculative) causes the SError. Only driver which uses sysram is not initialized at this point (rootfs_initcall level). As since commit d70f5e541ab3 ("firmware: tegra: Make BPMP a regular driver") bpmp driver is initialized at device_initcall level. If none of the drivers on the kernel side using 0x3003_9e80 address range. Why a read to it occurs even speculatively? Could it be that some EL3 software didn’t cleanup after itself properly? Any suggestions on debugging this issue further? Another solution suggested in [1] was to add no-memory-wc in sysram node in device-tree so that sysram is mapped as device-memory. Thus preventing any speculative access. However, it causes another set of issues with the bpmp driver. That's may be a discussion for another time. BR, Yousaf [1]: https://lore.kernel.org/patchwork/patch/1132429/ [2]: git://nv-tegra.nvidia.com/linux-4.9.git 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 X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8D941C38A2A for ; Fri, 8 May 2020 08:41:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 724FE208CA for ; Fri, 8 May 2020 08:41:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727815AbgEHIlH (ORCPT ); Fri, 8 May 2020 04:41:07 -0400 Received: from mx2.suse.de ([195.135.220.15]:40562 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726756AbgEHIlG (ORCPT ); Fri, 8 May 2020 04:41:06 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 35CFBAA55; Fri, 8 May 2020 08:41:07 +0000 (UTC) From: Mian Yousaf Kaukab To: talho@nvidia.com, thierry.reding@gmail.com, jonathanh@nvidia.com, linux-tegra@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, afaerber@suse.de, Mian Yousaf Kaukab Subject: arm64: tegra186: bpmp: kernel crash while decompressing initrd Date: Fri, 8 May 2020 10:40:41 +0200 Message-Id: <20200508084041.23366-1-ykaukab@suse.de> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I am seeing following kernel crash on Jetson TX2. Board is flashed with firmware bits from L4T R32.4.2 with upstream u-boot. Crash always happens while decompressing initrd. Initrd is approximately 80 MiB in size and compressed with xz (xz --check=crc32 --lzma2=dict=32MiB). Crash is not observed if the same initrd is compressed with gzip. [1] was a previous attempt to workaround the same issue. [ 0.651168] Trying to unpack rootfs image as initramfs... [ 2.890171] SError Interrupt on CPU0, code 0xbf40c000 -- SError [ 2.890174] CPU: 0 PID: 1 Comm: swapper/0 Tainted: G S 5.7.0-rc4-next-20200505 #22 [ 2.890175] Hardware name: nvidia p2771-0000/p2771-0000, BIOS 2020.04-rc3 03/25/2020 [ 2.890176] pstate: 20000005 (nzCv daif -PAN -UAO BTYPE=--) [ 2.890177] pc : lzma_main+0x648/0x908 [ 2.890178] lr : lzma_main+0x330/0x908 [ 2.890179] sp : ffff80001003bb70 [ 2.890180] x29: ffff80001003bb70 x28: 0000000004d794a4 [ 2.890183] x27: 0000000004769941 x26: ffff0001eb064000 [ 2.890185] x25: ffff0001eb060028 x24: 0000000000000002 [ 2.890187] x23: 0000000000000003 x22: 0000000000000007 [ 2.890189] x21: 0000000000611f4b x20: ffff0001eb060000 [ 2.890192] x19: ffff80001003bcb8 x18: 0000000000000068 [ 2.890194] x17: 00000000000000c0 x16: fffffe00076b2108 [ 2.890196] x15: 0000000000000800 x14: 0000000000ffffff [ 2.890198] x13: 0000000000000001 x12: ffff0001eb060000 [ 2.890200] x11: 0000000000000600 x10: ffff0001eb060028 [ 2.890202] x9 : 00000000ffbb2a08 x8 : 0000000000000ed0 [ 2.890204] x7 : 00000000011553ec x6 : 0000000000000000 [ 2.890206] x5 : 0000000000000000 x4 : 0000000000000006 [ 2.890208] x3 : 00000000015a29e4 x2 : ffff0001eb062d0c [ 2.890210] x1 : 000000000000000c x0 : 000000000263de44 With some debugging aid ported from Nvidia downstream kernel [2] the actual cause was found: [ 0.761525] Trying to unpack rootfs image as initramfs... [ 2.955499] CPU0: SError: mpidr=0x80000100, esr=0xbf40c000 [ 2.955502] CPU1: SError: mpidr=0x80000000, esr=0xbe000000 [ 2.955505] CPU2: SError: mpidr=0x80000001, esr=0xbe000000 [ 2.955506] CPU3: SError: mpidr=0x80000101, esr=0xbf40c000 [ 2.955507] ROC:CCE Machine Check Error: [ 2.955508] ROC:CCE Registers: [ 2.955509] STAT: 0xb400000000400415 [ 2.955510] ADDR: 0x400c00e7a00c [ 2.955511] MSC1: 0x80ffc [ 2.955512] MSC2: 0x3900000000800 [ 2.955513] -------------------------------------- [ 2.955514] Decoded ROC:CCE Machine Check: [ 2.955515] Uncorrected (this is fatal) [ 2.955516] Error reporting enabled when error arrived [ 2.955517] Error Code = 0x415 [ 2.955518] Poison Error [ 2.955518] Command = NCRd (0xc) [ 2.955519] Address Type = Non-Secure DRAM [ 2.955521] Address = 0x30039e80 -- 30000000.sysram + 0x39e80 [ 2.955521] TLimit = 0x3ff [ 2.955522] Poison Error Mask = 0x80 [ 2.955523] More Info = 0x800 [ 2.955524] Timeout Info = 0x0 [ 2.955525] Poison Info = 0x800 [ 2.955526] Read Request failed GSC checks [ 2.955527] Source = L2_1 (A57) (0x1) [ 2.955528] TID = 0xe IIUC, there was read request for 0x30039e80 from EL1/2 which failed. This address falls in the sysram security aperture and hence a read from normal mode failed. sysram is mapped at 0x3000_0000 to 0x3004_ffff and is managed by the sram driver (drivers/misc/sram.c). There are two reserved pools for BPMP driver communication at 0x3004_e000 and 0x3004_f000 of 0x1000 bytes each. sram driver maps complete 0x3000_0000 to 0x3004_ffff range as normal memory. However, only the BPMP reserved pools (0x3004_e000 - 0x3004_ffff) are accessible from the kernel. Address 0x3003_9e80 is inaccessible from the kernel and a read to it (which I believe is speculative) causes the SError. Only driver which uses sysram is not initialized at this point (rootfs_initcall level). As since commit d70f5e541ab3 ("firmware: tegra: Make BPMP a regular driver") bpmp driver is initialized at device_initcall level. If none of the drivers on the kernel side using 0x3003_9e80 address range. Why a read to it occurs even speculatively? Could it be that some EL3 software didn’t cleanup after itself properly? Any suggestions on debugging this issue further? Another solution suggested in [1] was to add no-memory-wc in sysram node in device-tree so that sysram is mapped as device-memory. Thus preventing any speculative access. However, it causes another set of issues with the bpmp driver. That's may be a discussion for another time. BR, Yousaf [1]: https://lore.kernel.org/patchwork/patch/1132429/ [2]: git://nv-tegra.nvidia.com/linux-4.9.git 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 X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 070FBC38A2A for ; Fri, 8 May 2020 08:41:16 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id CFA74208CA for ; Fri, 8 May 2020 08:41:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="k0b3mx4J" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CFA74208CA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=7JvCcZmm6qrbYTggltOHmSaMaHE8dDLEAPijsg26V1o=; b=k0b3mx4JXfmbVe djvvLdlTrgaiRaqDRCPsO7YrDpgcZAKgVNbYAsv632rPd9ZkpVaiTQKrqhBZmrF8pdHKTAP8R9gZh B9SrjU9NxexjepCFHtk6QTD19gERnaSy1TcL57dsY8J1E+20T71NfKiwpecxf4zaEz5R/3DwhTqNb S92oQRQzY/hYIDSpxs0I1pVFB0HnOiOMLuupBc1t0y4ynjp2Z87eSpsfEgo/Ap7TQ38ODcxNHB1Ip Fj//aISdiEzJI1lriSp3qAn4ChZ10kjQetSYoQUyDYa0U4L5Gc2hRl8CYCLAYuRLclThj4Q15QA2U h3BKk72clk5ESZgz5DVA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jWyZE-00043M-G4; Fri, 08 May 2020 08:41:12 +0000 Received: from mx2.suse.de ([195.135.220.15]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jWyZB-00042D-Nu for linux-arm-kernel@lists.infradead.org; Fri, 08 May 2020 08:41:11 +0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 35CFBAA55; Fri, 8 May 2020 08:41:07 +0000 (UTC) From: Mian Yousaf Kaukab To: talho@nvidia.com, thierry.reding@gmail.com, jonathanh@nvidia.com, linux-tegra@vger.kernel.org Subject: arm64: tegra186: bpmp: kernel crash while decompressing initrd Date: Fri, 8 May 2020 10:40:41 +0200 Message-Id: <20200508084041.23366-1-ykaukab@suse.de> X-Mailer: git-send-email 2.25.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200508_014110_072173_14DB5CF1 X-CRM114-Status: GOOD ( 12.15 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mian Yousaf Kaukab , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, afaerber@suse.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SSBhbSBzZWVpbmcgZm9sbG93aW5nIGtlcm5lbCBjcmFzaCBvbiBKZXRzb24gVFgyLiBCb2FyZCBp cyBmbGFzaGVkIHdpdGgKZmlybXdhcmUgYml0cyBmcm9tIEw0VCBSMzIuNC4yIHdpdGggdXBzdHJl YW0gdS1ib290LiBDcmFzaCBhbHdheXMKaGFwcGVucyB3aGlsZSBkZWNvbXByZXNzaW5nIGluaXRy ZC4gSW5pdHJkIGlzIGFwcHJveGltYXRlbHkgODAgTWlCIGluCnNpemUgYW5kIGNvbXByZXNzZWQg d2l0aCB4eiAoeHogLS1jaGVjaz1jcmMzMiAtLWx6bWEyPWRpY3Q9MzJNaUIpLgpDcmFzaCBpcyBu b3Qgb2JzZXJ2ZWQgaWYgdGhlIHNhbWUgaW5pdHJkIGlzIGNvbXByZXNzZWQgd2l0aCBnemlwLgpb MV0gd2FzIGEgcHJldmlvdXMgYXR0ZW1wdCB0byB3b3JrYXJvdW5kIHRoZSBzYW1lIGlzc3VlLgoK WyAgICAwLjY1MTE2OF0gVHJ5aW5nIHRvIHVucGFjayByb290ZnMgaW1hZ2UgYXMgaW5pdHJhbWZz Li4uClsgICAgMi44OTAxNzFdIFNFcnJvciBJbnRlcnJ1cHQgb24gQ1BVMCwgY29kZSAweGJmNDBj MDAwIC0tIFNFcnJvcgpbICAgIDIuODkwMTc0XSBDUFU6IDAgUElEOiAxIENvbW06IHN3YXBwZXIv MCBUYWludGVkOiBHIFMgICAgICAgICAgICAgICAgNS43LjAtcmM0LW5leHQtMjAyMDA1MDUgIzIy ClsgICAgMi44OTAxNzVdIEhhcmR3YXJlIG5hbWU6IG52aWRpYSBwMjc3MS0wMDAwL3AyNzcxLTAw MDAsIEJJT1MgMjAyMC4wNC1yYzMgMDMvMjUvMjAyMApbICAgIDIuODkwMTc2XSBwc3RhdGU6IDIw MDAwMDA1IChuekN2IGRhaWYgLVBBTiAtVUFPIEJUWVBFPS0tKQpbICAgIDIuODkwMTc3XSBwYyA6 IGx6bWFfbWFpbisweDY0OC8weDkwOApbICAgIDIuODkwMTc4XSBsciA6IGx6bWFfbWFpbisweDMz MC8weDkwOApbICAgIDIuODkwMTc5XSBzcCA6IGZmZmY4MDAwMTAwM2JiNzAKWyAgICAyLjg5MDE4 MF0geDI5OiBmZmZmODAwMDEwMDNiYjcwIHgyODogMDAwMDAwMDAwNGQ3OTRhNApbICAgIDIuODkw MTgzXSB4Mjc6IDAwMDAwMDAwMDQ3Njk5NDEgeDI2OiBmZmZmMDAwMWViMDY0MDAwClsgICAgMi44 OTAxODVdIHgyNTogZmZmZjAwMDFlYjA2MDAyOCB4MjQ6IDAwMDAwMDAwMDAwMDAwMDIKWyAgICAy Ljg5MDE4N10geDIzOiAwMDAwMDAwMDAwMDAwMDAzIHgyMjogMDAwMDAwMDAwMDAwMDAwNwpbICAg IDIuODkwMTg5XSB4MjE6IDAwMDAwMDAwMDA2MTFmNGIgeDIwOiBmZmZmMDAwMWViMDYwMDAwClsg ICAgMi44OTAxOTJdIHgxOTogZmZmZjgwMDAxMDAzYmNiOCB4MTg6IDAwMDAwMDAwMDAwMDAwNjgK WyAgICAyLjg5MDE5NF0geDE3OiAwMDAwMDAwMDAwMDAwMGMwIHgxNjogZmZmZmZlMDAwNzZiMjEw OApbICAgIDIuODkwMTk2XSB4MTU6IDAwMDAwMDAwMDAwMDA4MDAgeDE0OiAwMDAwMDAwMDAwZmZm ZmZmClsgICAgMi44OTAxOThdIHgxMzogMDAwMDAwMDAwMDAwMDAwMSB4MTI6IGZmZmYwMDAxZWIw NjAwMDAKWyAgICAyLjg5MDIwMF0geDExOiAwMDAwMDAwMDAwMDAwNjAwIHgxMDogZmZmZjAwMDFl YjA2MDAyOApbICAgIDIuODkwMjAyXSB4OSA6IDAwMDAwMDAwZmZiYjJhMDggeDggOiAwMDAwMDAw MDAwMDAwZWQwClsgICAgMi44OTAyMDRdIHg3IDogMDAwMDAwMDAwMTE1NTNlYyB4NiA6IDAwMDAw MDAwMDAwMDAwMDAKWyAgICAyLjg5MDIwNl0geDUgOiAwMDAwMDAwMDAwMDAwMDAwIHg0IDogMDAw MDAwMDAwMDAwMDAwNgpbICAgIDIuODkwMjA4XSB4MyA6IDAwMDAwMDAwMDE1YTI5ZTQgeDIgOiBm ZmZmMDAwMWViMDYyZDBjClsgICAgMi44OTAyMTBdIHgxIDogMDAwMDAwMDAwMDAwMDAwYyB4MCA6 IDAwMDAwMDAwMDI2M2RlNDQKCldpdGggc29tZSBkZWJ1Z2dpbmcgYWlkIHBvcnRlZCBmcm9tIE52 aWRpYSBkb3duc3RyZWFtIGtlcm5lbCBbMl0gdGhlCmFjdHVhbCBjYXVzZSB3YXMgZm91bmQ6Cgpb ICAgIDAuNzYxNTI1XSBUcnlpbmcgdG8gdW5wYWNrIHJvb3RmcyBpbWFnZSBhcyBpbml0cmFtZnMu Li4KWyAgICAyLjk1NTQ5OV0gQ1BVMDogU0Vycm9yOiBtcGlkcj0weDgwMDAwMTAwLCBlc3I9MHhi ZjQwYzAwMApbICAgIDIuOTU1NTAyXSBDUFUxOiBTRXJyb3I6IG1waWRyPTB4ODAwMDAwMDAsIGVz cj0weGJlMDAwMDAwClsgICAgMi45NTU1MDVdIENQVTI6IFNFcnJvcjogbXBpZHI9MHg4MDAwMDAw MSwgZXNyPTB4YmUwMDAwMDAKWyAgICAyLjk1NTUwNl0gQ1BVMzogU0Vycm9yOiBtcGlkcj0weDgw MDAwMTAxLCBlc3I9MHhiZjQwYzAwMApbICAgIDIuOTU1NTA3XSBST0M6Q0NFIE1hY2hpbmUgQ2hl Y2sgRXJyb3I6ClsgICAgMi45NTU1MDhdIFJPQzpDQ0UgUmVnaXN0ZXJzOgpbICAgIDIuOTU1NTA5 XSAgU1RBVDogMHhiNDAwMDAwMDAwNDAwNDE1ClsgICAgMi45NTU1MTBdICBBRERSOiAweDQwMGMw MGU3YTAwYwpbICAgIDIuOTU1NTExXSAgTVNDMTogMHg4MGZmYwpbICAgIDIuOTU1NTEyXSAgTVND MjogMHgzOTAwMDAwMDAwODAwClsgICAgMi45NTU1MTNdIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tClsgICAgMi45NTU1MTRdIERlY29kZWQgUk9DOkNDRSBNYWNoaW5lIENo ZWNrOgpbICAgIDIuOTU1NTE1XSAgVW5jb3JyZWN0ZWQgKHRoaXMgaXMgZmF0YWwpClsgICAgMi45 NTU1MTZdICBFcnJvciByZXBvcnRpbmcgZW5hYmxlZCB3aGVuIGVycm9yIGFycml2ZWQKWyAgICAy Ljk1NTUxN10gIEVycm9yIENvZGUgPSAweDQxNQpbICAgIDIuOTU1NTE4XSAgUG9pc29uIEVycm9y ClsgICAgMi45NTU1MThdICBDb21tYW5kID0gTkNSZCAoMHhjKQpbICAgIDIuOTU1NTE5XSAgQWRk cmVzcyBUeXBlID0gTm9uLVNlY3VyZSBEUkFNClsgICAgMi45NTU1MjFdICBBZGRyZXNzID0gMHgz MDAzOWU4MCAtLSAzMDAwMDAwMC5zeXNyYW0gKyAweDM5ZTgwClsgICAgMi45NTU1MjFdICBUTGlt aXQgPSAweDNmZgpbICAgIDIuOTU1NTIyXSAgUG9pc29uIEVycm9yIE1hc2sgPSAweDgwClsgICAg Mi45NTU1MjNdICBNb3JlIEluZm8gPSAweDgwMApbICAgIDIuOTU1NTI0XSAgVGltZW91dCBJbmZv ID0gMHgwClsgICAgMi45NTU1MjVdICAgICAgICAgIFBvaXNvbiBJbmZvID0gMHg4MDAKWyAgICAy Ljk1NTUyNl0gICAgICAgICAgUmVhZCBSZXF1ZXN0IGZhaWxlZCBHU0MgY2hlY2tzClsgICAgMi45 NTU1MjddICBTb3VyY2UgPSBMMl8xIChBNTcpICgweDEpClsgICAgMi45NTU1MjhdICBUSUQgPSAw eGUKCklJVUMsIHRoZXJlIHdhcyByZWFkIHJlcXVlc3QgZm9yIDB4MzAwMzllODAgZnJvbSBFTDEv MiB3aGljaCBmYWlsZWQuClRoaXMgYWRkcmVzcyBmYWxscyBpbiB0aGUgc3lzcmFtIHNlY3VyaXR5 IGFwZXJ0dXJlIGFuZCBoZW5jZSBhIHJlYWQKZnJvbSBub3JtYWwgbW9kZSBmYWlsZWQuCgpzeXNy YW0gaXMgbWFwcGVkIGF0IDB4MzAwMF8wMDAwIHRvIDB4MzAwNF9mZmZmIGFuZCBpcyBtYW5hZ2Vk IGJ5IHRoZQpzcmFtIGRyaXZlciAoZHJpdmVycy9taXNjL3NyYW0uYykuIFRoZXJlIGFyZSB0d28g cmVzZXJ2ZWQgcG9vbHMgZm9yCkJQTVAgZHJpdmVyIGNvbW11bmljYXRpb24gYXQgMHgzMDA0X2Uw MDAgYW5kIDB4MzAwNF9mMDAwIG9mIDB4MTAwMApieXRlcyBlYWNoLgoKc3JhbSBkcml2ZXIgbWFw cyBjb21wbGV0ZSAweDMwMDBfMDAwMCB0byAweDMwMDRfZmZmZiByYW5nZSBhcyBub3JtYWwKbWVt b3J5LiBIb3dldmVyLCBvbmx5IHRoZSBCUE1QIHJlc2VydmVkIHBvb2xzICgweDMwMDRfZTAwMCAt IDB4MzAwNF9mZmZmKQphcmUgYWNjZXNzaWJsZSBmcm9tIHRoZSBrZXJuZWwuIEFkZHJlc3MgMHgz MDAzXzllODAgaXMgaW5hY2Nlc3NpYmxlCmZyb20gdGhlIGtlcm5lbCBhbmQgYSByZWFkIHRvIGl0 ICh3aGljaCBJIGJlbGlldmUgaXMgc3BlY3VsYXRpdmUpCmNhdXNlcyB0aGUgU0Vycm9yLiBPbmx5 IGRyaXZlciB3aGljaCB1c2VzIHN5c3JhbSBpcyBub3QgaW5pdGlhbGl6ZWQgYXQKdGhpcyBwb2lu dCAocm9vdGZzX2luaXRjYWxsIGxldmVsKS4gQXMgc2luY2UKY29tbWl0IGQ3MGY1ZTU0MWFiMyAo ImZpcm13YXJlOiB0ZWdyYTogTWFrZSBCUE1QIGEgcmVndWxhciBkcml2ZXIiKQpicG1wIGRyaXZl ciBpcyBpbml0aWFsaXplZCBhdCBkZXZpY2VfaW5pdGNhbGwgbGV2ZWwuCgpJZiBub25lIG9mIHRo ZSBkcml2ZXJzIG9uIHRoZSBrZXJuZWwgc2lkZSB1c2luZyAweDMwMDNfOWU4MCBhZGRyZXNzCnJh bmdlLiBXaHkgYSByZWFkIHRvIGl0IG9jY3VycyBldmVuIHNwZWN1bGF0aXZlbHk/IENvdWxkIGl0 IGJlIHRoYXQKc29tZSBFTDMgc29mdHdhcmUgZGlkbuKAmXQgY2xlYW51cCBhZnRlciBpdHNlbGYg cHJvcGVybHk/IEFueQpzdWdnZXN0aW9ucyBvbiBkZWJ1Z2dpbmcgdGhpcyBpc3N1ZSBmdXJ0aGVy PwoKQW5vdGhlciBzb2x1dGlvbiBzdWdnZXN0ZWQgaW4gWzFdIHdhcyB0byBhZGQgbm8tbWVtb3J5 LXdjIGluIHN5c3JhbQpub2RlIGluIGRldmljZS10cmVlIHNvIHRoYXQgc3lzcmFtIGlzIG1hcHBl ZCBhcyBkZXZpY2UtbWVtb3J5LiBUaHVzCnByZXZlbnRpbmcgYW55IHNwZWN1bGF0aXZlIGFjY2Vz cy4gSG93ZXZlciwgaXQgY2F1c2VzIGFub3RoZXIgc2V0IG9mCmlzc3VlcyB3aXRoIHRoZSBicG1w IGRyaXZlci4gVGhhdCdzIG1heSBiZSBhIGRpc2N1c3Npb24gZm9yIGFub3RoZXIKdGltZS4KCkJS LApZb3VzYWYKClsxXTogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcGF0Y2h3b3JrL3BhdGNoLzEx MzI0MjkvClsyXTogZ2l0Oi8vbnYtdGVncmEubnZpZGlhLmNvbS9saW51eC00LjkuZ2l0CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg==