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 3A3C7CA5FCE for ; Mon, 5 Oct 2026 04:42:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:References:To: From:Subject:Cc:Message-Id:Date:Content-Type:Content-Transfer-Encoding: Mime-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=qJFGQKjvbH1HqSDayT62DQ2rPAzEBQdHJkasbzlXbNg=; b=kE3Wwz9YtGcBJUmKYKfhnp9kuI YFLZteMsfKQISutn+wC5npLXqfDdyf/5dT2XZ6sP5zNIe64o/MqDwX8yeF4QtLmO07h3kx9phP+cy X7kkWkL9X5rbHTkdMV5LuiICvbIx3KIw9aw9wmWVgsYZKkK8YKMhgDSDmX+GH1d7aFntm34lWI/z5 kkAjBO4qOn7TDtHV20mFh1VgzdZq/4pgP+b1ZhRhHP9SSXHC5PjzIwtd+bJFLwSSkQoZyE1/Omy/o jl4nVYIA9c8DID0Tv/gbpEgeMUPt2CW9F3TvCJ6IFE/u07PHlDCq4/texVo8MgveMimOpb/6qNtei STsafifQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xDaWU-0000000FfNq-2mf7; Mon, 05 Oct 2026 04:41:58 +0000 Received: from sender6-op-o12.zoho.com ([165.173.180.12]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xDaWR-0000000FfNS-4C4v; Mon, 05 Oct 2026 04:41:58 +0000 ARC-Seal: i=1; a=rsa-sha256; t=1791175281; cv=none; d=zohomail.com; s=zohoarc; b=AI67L/etDKRXMy/h3C/49dpfgoEQTzxqfRUsfPKNRCeO7jwbUxjXou0t+MSuNygOA5ajn7UVyb2DoAuxBJuPQo5EMuJK7SrCtH2jY2Qgd+lrJ4yBllNuOYZ/+GUNAgLftThDJPrMKOHl9/c2VnaajwKSyV/vlij8ly8f+hf3TWk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1791175281; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=qJFGQKjvbH1HqSDayT62DQ2rPAzEBQdHJkasbzlXbNg=; b=PDfcLn1BYodAaZUEHZJw2Dd2oDe1yF3nrD0G5arhe66YWaJZUjcH7leENicRbTn0dlYOXdk6L7cIbAsH8rMgs8M1XK6kvxx2NBRc8TjqZNIa4OKM4POx2vRIpuJx3mm8KQ8MxYwGZt38B4nP2gH+hwFjGnl8WVCwK7vVSWpblcU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=pigmoral.tech; spf=pass smtp.mailfrom=junhui.liu@pigmoral.tech; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1791175281; s=zmail; d=pigmoral.tech; i=junhui.liu@pigmoral.tech; h=Mime-Version:Content-Transfer-Encoding:Content-Type:Date:Date:Message-Id:Message-Id:Cc:Cc:Subject:Subject:From:From:To:To:In-Reply-To:Reply-To; bh=qJFGQKjvbH1HqSDayT62DQ2rPAzEBQdHJkasbzlXbNg=; b=Vlu2rvsuksYEU7h9UlpgeiLM4sV2miSw8nrRHl0jfNGZvoK2wDl80etPsjnuc3aj bOSQvL4WI6A+Vr5cwNPvzu5bDHEvH81Vkn11EIx0PCCYuHdDZQu3Sys8XaANa76iiH+ h7bqGLFvsABQvSS9yzOe53P8IJJ/bJWv12anp2Ac= Received: by smtp.zohomail.com with SMTPS id 1791175279488549.9267500854362; Sun, 4 Oct 2026 21:41:19 -0700 (PDT) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Mon, 05 Oct 2026 12:41:10 +0800 Message-Id: Cc: "Stephen Boyd" , "Brian Masney" , "Jerome Brunet" , "Rob Herring" , "Krzysztof Kozlowski" , "Conor Dooley" , "Jernej Skrabec" , "Samuel Holland" , "Philipp Zabel" , "Paul Walmsley" , "Palmer Dabbelt" , "Albert Ou" , "Alexandre Ghiti" , "Richard Cochran" , , , , , , , , "Jerome Brunet" , "Enzo Adriano" , "Andre Przywara" Subject: Re: [PATCH v5 7/8] clk: sunxi-ng: a733: Add bus clock gates From: "Junhui Liu" To: , "Junhui Liu" X-Mailer: aerc 0.22.0 References: <20260930-a733-clk-v5-0-11175b41cd2d@pigmoral.tech> <20260930-a733-clk-v5-7-11175b41cd2d@pigmoral.tech> In-Reply-To: X-ZohoMailClient: External X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261004_214156_525721_3C20797B X-CRM114-Status: GOOD ( 24.43 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Chen-Yu, On Sun Oct 4, 2026 at 7:03 PM CST, Chen-Yu Tsai wrote: > On Tue, Sep 29, 2026 at 7:28=E2=80=AFPM Junhui Liu wrote: >> >> Add the bus clock gates that control access to the devices' register >> interface on the Allwinner A733 SoC. These clocks are typically >> single-bit controls in the BGR registers, covering UARTs, SPI, I2C, and >> various multimedia engines. It also includes bus gates for system >> components like the IOMMU and MSI-lite interfaces. >> >> Also mark the ahb-store, mbus-store and ahb-cpus clocks as critical. >> Disabling either store gate breaks access to boot/storage devices such >> as MMC and SPI NOR, while gating ahb-cpus hangs any access to the CPUS >> power domain registers when unused clocks are disabled. >> >> Tested-by: Jerome Brunet >> Reviewed-by: Andre Przywara >> Signed-off-by: Junhui Liu >> --- >> drivers/clk/sunxi-ng/ccu-sun60i-a733.c | 492 ++++++++++++++++++++++++++= ++++++- >> 1 file changed, 491 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/clk/sunxi-ng/ccu-sun60i-a733.c b/drivers/clk/sunxi-= ng/ccu-sun60i-a733.c >> index 1b2d4d36ec4c..b077e5d2f32c 100644 >> --- a/drivers/clk/sunxi-ng/ccu-sun60i-a733.c >> +++ b/drivers/clk/sunxi-ng/ccu-sun60i-a733.c >> @@ -4,6 +4,10 @@ >> * Copyright (C) 2026 Junhui Liu >> * Based on the A523 CCU driver: >> * Copyright (C) 2023-2024 Arm Ltd. >> + * >> + * TODO: The real parents of some bus gates, including its-pcie0-aclk, >> + * msi-lite, npu, ufs, sgpio, lpc and i2spcm, are not documented in the >> + * manual. For now, follow the vendor BSP, which keeps them on hosc. >> */ > > [...] > >> @@ -510,9 +522,118 @@ static SUNXI_CCU_M_DATA_WITH_MUX_GATE_FEAT(mbus_cl= k, "mbus", mbus_parents, 0x588 >> BIT(31), /* gate */ >> CLK_IS_CRITICAL, >> CCU_FEATURE_UPDATE_BIT); >> +static const struct clk_hw *mbus_hws[] =3D { &mbus_clk.common.hw }; >> + >> +static SUNXI_CCU_GATE_HWS(mbus_iommu0_sys_clk, "mbus-iommu0-sys", mbus_= hws, 0x58c, BIT(0), 0); >> +static SUNXI_CCU_GATE_HWS(apb_iommu0_sys_clk, "apb-iommu0-sys", apb0_hw= s, 0x58c, BIT(1), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_iommu0_sys_clk, "ahb-iommu0-sys", ahb_hws= , 0x58c, BIT(2), 0); >> + >> +static SUNXI_CCU_GATE_DATA(bus_msi_lite0_clk, "bus-msi-lite0", hosc, 0x= 594, BIT(0), 0); >> +static SUNXI_CCU_GATE_DATA(bus_msi_lite1_clk, "bus-msi-lite1", hosc, 0x= 59c, BIT(0), 0); >> +static SUNXI_CCU_GATE_DATA(bus_msi_lite2_clk, "bus-msi-lite2", hosc, 0x= 5a4, BIT(0), 0); >> + >> +static SUNXI_CCU_GATE_HWS(mbus_iommu1_sys_clk, "mbus-iommu1-sys", mbus_= hws, 0x5b4, BIT(0), 0); >> +static SUNXI_CCU_GATE_HWS(apb_iommu1_sys_clk, "apb-iommu1-sys", apb0_hw= s, 0x5b4, BIT(1), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_iommu1_sys_clk, "ahb-iommu1-sys", ahb_hws= , 0x5b4, BIT(2), 0); > >> +static SUNXI_CCU_GATE_HWS(ahb_ve_dec_clk, "ahb-ve-dec", ahb_hws, >> + 0x5c0, BIT(0), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_ve_enc_clk, "ahb-ve-enc", ahb_hws, >> + 0x5c0, BIT(1), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_vid_in_clk, "ahb-vid-in", ahb_hws, >> + 0x5c0, BIT(2), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_vid_cout0_clk, "ahb-vid-cout0", ahb_hws, >> + 0x5c0, BIT(3), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_vid_cout1_clk, "ahb-vid-cout1", ahb_hws, >> + 0x5c0, BIT(4), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_de_clk, "ahb-de", ahb_hws, >> + 0x5c0, BIT(5), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_npu_clk, "ahb-npu", ahb_hws, >> + 0x5c0, BIT(6), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_gpu0_clk, "ahb-gpu0", ahb_hws, >> + 0x5c0, BIT(7), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_serdes_clk, "ahb-serdes", ahb_hws, >> + 0x5c0, BIT(8), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_usb_sys_clk, "ahb-usb-sys", ahb_hws, >> + 0x5c0, BIT(9), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_msi_lite0_clk, "ahb-msi-lite0", ahb_hws, >> + 0x5c0, BIT(16), 0); >> +static SUNXI_CCU_GATE_HWS(ahb_store_clk, "ahb-store", ahb_hws, >> + 0x5c0, BIT(24), CLK_IS_CRITICAL); >> +static SUNXI_CCU_GATE_HWS(ahb_cpus_clk, "ahb-cpus", ahb_hws, >> + 0x5c0, BIT(28), CLK_IS_CRITICAL); > > I suspect these refer to a AHB-AHB bridge for the various subsystems show= n > in the memory map. That would explain why when the "ahb-store" clock is > gated, the storage bits stop working. > > If that's the case, we should describe it as the parent of each storage > peripheral bus gate's parent. Same would go for the other types. I haven'= t > checked what the BSP does though. As Norman mentioned in his reply, the vendor BSP also does not model this hierarchy and instead models these gates as independent clocks parented to the oscillator. The manual does not describe the hierarchy either, so I don't think we have enough information to model it differently at this point. I will add comments explaining why ahb_store_clk, mbus_store_clk, and ahb_cpus_clk are marked critical. > >> +static SUNXI_CCU_GATE_HWS(mbus_iommu0_clk, "mbus-iommu0", mbus_hws, >> + 0x5e0, BIT(0), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_iommu1_clk, "mbus-iommu1", mbus_hws, >> + 0x5e0, BIT(1), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_desys_clk, "mbus-desys", mbus_hws, >> + 0x5e0, BIT(11), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_ve_enc0_gate_clk, "mbus-ve-enc0-gate", m= bus_hws, >> + 0x5e0, BIT(12), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_ve_dec0_gate_clk, "mbus-ve-dec0-gate", m= bus_hws, >> + 0x5e0, BIT(14), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_gpu0_clk, "mbus-gpu0", mbus_hws, >> + 0x5e0, BIT(16), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_npu_clk, "mbus-npu", mbus_hws, >> + 0x5e0, BIT(18), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_vid_in_clk, "mbus-vid-in", mbus_hws, >> + 0x5e0, BIT(24), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_serdes_clk, "mbus-serdes", mbus_hws, >> + 0x5e0, BIT(28), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_msi_lite0_clk, "mbus-msi-lite0", mbus_hw= s, >> + 0x5e0, BIT(29), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_store_clk, "mbus-store", mbus_hws, >> + 0x5e0, BIT(30), CLK_IS_CRITICAL); > > Same thing for the MBUS clocks. > >> +static SUNXI_CCU_GATE_HWS(mbus_msi_lite2_clk, "mbus-msi-lite2", mbus_hw= s, >> + 0x5e0, BIT(31), 0); >> + >> +static SUNXI_CCU_GATE_HWS(mbus_dma0_clk, "mbus-dma0", mbus_hws, >> + 0x5e4, BIT(0), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_ve_enc0_clk, "mbus-ve-enc0", mbus_hws, >> + 0x5e4, BIT(1), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_ce_clk, "mbus-ce", mbus_hws, >> + 0x5e4, BIT(2), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_dma1_clk, "mbus-dma1", mbus_hws, >> + 0x5e4, BIT(3), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_nand_clk, "mbus-nand", mbus_hws, >> + 0x5e4, BIT(5), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_csi_clk, "mbus-csi", mbus_hws, >> + 0x5e4, BIT(8), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_isp_clk, "mbus-isp", mbus_hws, >> + 0x5e4, BIT(9), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_gmac0_clk, "mbus-gmac0", mbus_hws, >> + 0x5e4, BIT(11), 0); >> +/* Undocumented, taken from the vendor kernel. */ >> +static SUNXI_CCU_GATE_HWS(mbus_gmac1_clk, "mbus-gmac1", mbus_hws, >> + 0x5e4, BIT(12), 0); >> +static SUNXI_CCU_GATE_HWS(mbus_ve_dec0_clk, "mbus-ve-dec0", mbus_hws, >> + 0x5e4, BIT(18), 0); > > [...] > > The remaining definitions look correct (minus the vendor BSP ones which I > couldn't check at this time). > > I didn't check the clock list additions. > > Consider this > > Reviewed-by: Chen-Yu Tsai > Thanks! > > We can change the AHB / MBUS clock parents later if we do figure it out. > > > ChenYu --=20 Best regards, Junhui Liu 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 71F54CA5FCE for ; Mon, 5 Oct 2026 04:42:32 +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:To:From:Subject: Cc:Message-Id:Date:Mime-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pUbMFrq8ygzXVs8ff7ZPPAozRA07Vd52lyTZ0CLPx0M=; b=yzWBQjOuPX9IhI OnXnuiPo36kLrJOWYUkMagGDb3FG28dM1qm4Z61gmv/KtesIcjnw7i6uf0pGz5i/tSOqahfyg5PTg 6+xFebeTeFg6phLuOVIQEjkFjzTANwtcgrE5ljE1+3E0OlFScSTTk/IkWUe+ZofcQYxFcB9G7T+z0 xeY7gI95dO6/GLyg86cIa8b7ntE6pE7wKJlkh3/a421xMcWoexTh4wQutwjASO5TzSVwXj6CoHA+t Gt2p9PwUtERvbQO9eF7ZIXMq7bANWcHgu3RWpk/c0B5h69fmg3x1jMxPM+QYoAcTGtnrQXp2v3mgk z+HC4QmuYd3gosqiaNfA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xDaWU-0000000FfO8-3HYa; Mon, 05 Oct 2026 04:41:58 +0000 Received: from sender6-op-o12.zoho.com ([165.173.180.12]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xDaWR-0000000FfNS-4C4v; Mon, 05 Oct 2026 04:41:58 +0000 ARC-Seal: i=1; a=rsa-sha256; t=1791175281; cv=none; d=zohomail.com; s=zohoarc; b=AI67L/etDKRXMy/h3C/49dpfgoEQTzxqfRUsfPKNRCeO7jwbUxjXou0t+MSuNygOA5ajn7UVyb2DoAuxBJuPQo5EMuJK7SrCtH2jY2Qgd+lrJ4yBllNuOYZ/+GUNAgLftThDJPrMKOHl9/c2VnaajwKSyV/vlij8ly8f+hf3TWk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1791175281; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=qJFGQKjvbH1HqSDayT62DQ2rPAzEBQdHJkasbzlXbNg=; b=PDfcLn1BYodAaZUEHZJw2Dd2oDe1yF3nrD0G5arhe66YWaJZUjcH7leENicRbTn0dlYOXdk6L7cIbAsH8rMgs8M1XK6kvxx2NBRc8TjqZNIa4OKM4POx2vRIpuJx3mm8KQ8MxYwGZt38B4nP2gH+hwFjGnl8WVCwK7vVSWpblcU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=pigmoral.tech; spf=pass smtp.mailfrom=junhui.liu@pigmoral.tech; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1791175281; s=zmail; d=pigmoral.tech; i=junhui.liu@pigmoral.tech; h=Mime-Version:Content-Transfer-Encoding:Content-Type:Date:Date:Message-Id:Message-Id:Cc:Cc:Subject:Subject:From:From:To:To:In-Reply-To:Reply-To; bh=qJFGQKjvbH1HqSDayT62DQ2rPAzEBQdHJkasbzlXbNg=; b=Vlu2rvsuksYEU7h9UlpgeiLM4sV2miSw8nrRHl0jfNGZvoK2wDl80etPsjnuc3aj bOSQvL4WI6A+Vr5cwNPvzu5bDHEvH81Vkn11EIx0PCCYuHdDZQu3Sys8XaANa76iiH+ h7bqGLFvsABQvSS9yzOe53P8IJJ/bJWv12anp2Ac= Received: by smtp.zohomail.com with SMTPS id 1791175279488549.9267500854362; Sun, 4 Oct 2026 21:41:19 -0700 (PDT) Mime-Version: 1.0 Date: Mon, 05 Oct 2026 12:41:10 +0800 Message-Id: Cc: "Stephen Boyd" , "Brian Masney" , "Jerome Brunet" , "Rob Herring" , "Krzysztof Kozlowski" , "Conor Dooley" , "Jernej Skrabec" , "Samuel Holland" , "Philipp Zabel" , "Paul Walmsley" , "Palmer Dabbelt" , "Albert Ou" , "Alexandre Ghiti" , "Richard Cochran" , , , , , , , , "Jerome Brunet" , "Enzo Adriano" , "Andre Przywara" Subject: Re: [PATCH v5 7/8] clk: sunxi-ng: a733: Add bus clock gates From: "Junhui Liu" To: , "Junhui Liu" X-Mailer: aerc 0.22.0 References: <20260930-a733-clk-v5-0-11175b41cd2d@pigmoral.tech> <20260930-a733-clk-v5-7-11175b41cd2d@pigmoral.tech> In-Reply-To: X-ZohoMailClient: External X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261004_214156_525721_3C20797B X-CRM114-Status: GOOD ( 24.43 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org SGkgQ2hlbi1ZdSwKCk9uIFN1biBPY3QgNCwgMjAyNiBhdCA3OjAzIFBNIENTVCwgQ2hlbi1ZdSBU c2FpIHdyb3RlOgo+IE9uIFR1ZSwgU2VwIDI5LCAyMDI2IGF0IDc6MjjigK9QTSBKdW5odWkgTGl1 IDxqdW5odWkubGl1QHBpZ21vcmFsLnRlY2g+IHdyb3RlOgo+Pgo+PiBBZGQgdGhlIGJ1cyBjbG9j ayBnYXRlcyB0aGF0IGNvbnRyb2wgYWNjZXNzIHRvIHRoZSBkZXZpY2VzJyByZWdpc3Rlcgo+PiBp bnRlcmZhY2Ugb24gdGhlIEFsbHdpbm5lciBBNzMzIFNvQy4gVGhlc2UgY2xvY2tzIGFyZSB0eXBp Y2FsbHkKPj4gc2luZ2xlLWJpdCBjb250cm9scyBpbiB0aGUgQkdSIHJlZ2lzdGVycywgY292ZXJp bmcgVUFSVHMsIFNQSSwgSTJDLCBhbmQKPj4gdmFyaW91cyBtdWx0aW1lZGlhIGVuZ2luZXMuIEl0 IGFsc28gaW5jbHVkZXMgYnVzIGdhdGVzIGZvciBzeXN0ZW0KPj4gY29tcG9uZW50cyBsaWtlIHRo ZSBJT01NVSBhbmQgTVNJLWxpdGUgaW50ZXJmYWNlcy4KPj4KPj4gQWxzbyBtYXJrIHRoZSBhaGIt c3RvcmUsIG1idXMtc3RvcmUgYW5kIGFoYi1jcHVzIGNsb2NrcyBhcyBjcml0aWNhbC4KPj4gRGlz YWJsaW5nIGVpdGhlciBzdG9yZSBnYXRlIGJyZWFrcyBhY2Nlc3MgdG8gYm9vdC9zdG9yYWdlIGRl dmljZXMgc3VjaAo+PiBhcyBNTUMgYW5kIFNQSSBOT1IsIHdoaWxlIGdhdGluZyBhaGItY3B1cyBo YW5ncyBhbnkgYWNjZXNzIHRvIHRoZSBDUFVTCj4+IHBvd2VyIGRvbWFpbiByZWdpc3RlcnMgd2hl biB1bnVzZWQgY2xvY2tzIGFyZSBkaXNhYmxlZC4KPj4KPj4gVGVzdGVkLWJ5OiBKZXJvbWUgQnJ1 bmV0IDxqYnJ1bmV0QGJheWxpYnJlLmNvbT4KPj4gUmV2aWV3ZWQtYnk6IEFuZHJlIFByenl3YXJh IDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBKdW5odWkgTGl1IDxq dW5odWkubGl1QHBpZ21vcmFsLnRlY2g+Cj4+IC0tLQo+PiAgZHJpdmVycy9jbGsvc3VueGktbmcv Y2N1LXN1bjYwaS1hNzMzLmMgfCA0OTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst Cj4+ICAxIGZpbGUgY2hhbmdlZCwgNDkxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPj4K Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW42MGktYTczMy5jIGIv ZHJpdmVycy9jbGsvc3VueGktbmcvY2N1LXN1bjYwaS1hNzMzLmMKPj4gaW5kZXggMWIyZDRkMzZl YzRjLi5iMDc3ZTVkMmYzMmMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2Nj dS1zdW42MGktYTczMy5jCj4+ICsrKyBiL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW42MGkt YTczMy5jCj4+IEBAIC00LDYgKzQsMTAgQEAKPj4gICAqIENvcHlyaWdodCAoQykgMjAyNiBKdW5o dWkgTGl1IDxqdW5odWkubGl1QHBpZ21vcmFsLnRlY2g+Cj4+ICAgKiBCYXNlZCBvbiB0aGUgQTUy MyBDQ1UgZHJpdmVyOgo+PiAgICogICBDb3B5cmlnaHQgKEMpIDIwMjMtMjAyNCBBcm0gTHRkLgo+ PiArICoKPj4gKyAqIFRPRE86IFRoZSByZWFsIHBhcmVudHMgb2Ygc29tZSBidXMgZ2F0ZXMsIGlu Y2x1ZGluZyBpdHMtcGNpZTAtYWNsaywKPj4gKyAqIG1zaS1saXRlLCBucHUsIHVmcywgc2dwaW8s IGxwYyBhbmQgaTJzcGNtLCBhcmUgbm90IGRvY3VtZW50ZWQgaW4gdGhlCj4+ICsgKiBtYW51YWwu IEZvciBub3csIGZvbGxvdyB0aGUgdmVuZG9yIEJTUCwgd2hpY2gga2VlcHMgdGhlbSBvbiBob3Nj Lgo+PiAgICovCj4KPiBbLi4uXQo+Cj4+IEBAIC01MTAsOSArNTIyLDExOCBAQCBzdGF0aWMgU1VO WElfQ0NVX01fREFUQV9XSVRIX01VWF9HQVRFX0ZFQVQobWJ1c19jbGssICJtYnVzIiwgbWJ1c19w YXJlbnRzLCAweDU4OAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQklUKDMxKSwgICAgIC8qIGdhdGUgKi8KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENMS19JU19DUklUSUNBTCwKPj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENDVV9GRUFUVVJFX1VQREFURV9CSVQpOwo+PiArc3RhdGlj IGNvbnN0IHN0cnVjdCBjbGtfaHcgKm1idXNfaHdzW10gPSB7ICZtYnVzX2Nsay5jb21tb24uaHcg fTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXUyhtYnVzX2lvbW11MF9zeXNfY2xr LCAibWJ1cy1pb21tdTAtc3lzIiwgbWJ1c19od3MsIDB4NThjLCBCSVQoMCksIDApOwo+PiArc3Rh dGljIFNVTlhJX0NDVV9HQVRFX0hXUyhhcGJfaW9tbXUwX3N5c19jbGssICJhcGItaW9tbXUwLXN5 cyIsIGFwYjBfaHdzLCAweDU4YywgQklUKDEpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FU RV9IV1MoYWhiX2lvbW11MF9zeXNfY2xrLCAiYWhiLWlvbW11MC1zeXMiLCBhaGJfaHdzLCAweDU4 YywgQklUKDIpLCAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0RBVEEoYnVzX21z aV9saXRlMF9jbGssICJidXMtbXNpLWxpdGUwIiwgaG9zYywgMHg1OTQsIEJJVCgwKSwgMCk7Cj4+ ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfREFUQShidXNfbXNpX2xpdGUxX2NsaywgImJ1cy1tc2kt bGl0ZTEiLCBob3NjLCAweDU5YywgQklUKDApLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FU RV9EQVRBKGJ1c19tc2lfbGl0ZTJfY2xrLCAiYnVzLW1zaS1saXRlMiIsIGhvc2MsIDB4NWE0LCBC SVQoMCksIDApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdTKG1idXNfaW9tbXUx X3N5c19jbGssICJtYnVzLWlvbW11MS1zeXMiLCBtYnVzX2h3cywgMHg1YjQsIEJJVCgwKSwgMCk7 Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdTKGFwYl9pb21tdTFfc3lzX2NsaywgImFwYi1p b21tdTEtc3lzIiwgYXBiMF9od3MsIDB4NWI0LCBCSVQoMSksIDApOwo+PiArc3RhdGljIFNVTlhJ X0NDVV9HQVRFX0hXUyhhaGJfaW9tbXUxX3N5c19jbGssICJhaGItaW9tbXUxLXN5cyIsIGFoYl9o d3MsIDB4NWI0LCBCSVQoMiksIDApOwo+Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdTKGFo Yl92ZV9kZWNfY2xrLCAiYWhiLXZlLWRlYyIsIGFoYl9od3MsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgMHg1YzAsIEJJVCgwKSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdT KGFoYl92ZV9lbmNfY2xrLCAiYWhiLXZlLWVuYyIsIGFoYl9od3MsCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgMHg1YzAsIEJJVCgxKSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVf SFdTKGFoYl92aWRfaW5fY2xrLCAiYWhiLXZpZC1pbiIsIGFoYl9od3MsCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgMHg1YzAsIEJJVCgyKSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dB VEVfSFdTKGFoYl92aWRfY291dDBfY2xrLCAiYWhiLXZpZC1jb3V0MCIsIGFoYl9od3MsCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgMHg1YzAsIEJJVCgzKSwgMCk7Cj4+ICtzdGF0aWMgU1VO WElfQ0NVX0dBVEVfSFdTKGFoYl92aWRfY291dDFfY2xrLCAiYWhiLXZpZC1jb3V0MSIsIGFoYl9o d3MsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgMHg1YzAsIEJJVCg0KSwgMCk7Cj4+ICtz dGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdTKGFoYl9kZV9jbGssICJhaGItZGUiLCBhaGJfaHdzLAo+ PiArICAgICAgICAgICAgICAgICAgICAgICAgIDB4NWMwLCBCSVQoNSksIDApOwo+PiArc3RhdGlj IFNVTlhJX0NDVV9HQVRFX0hXUyhhaGJfbnB1X2NsaywgImFoYi1ucHUiLCBhaGJfaHdzLAo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgIDB4NWMwLCBCSVQoNiksIDApOwo+PiArc3RhdGljIFNV TlhJX0NDVV9HQVRFX0hXUyhhaGJfZ3B1MF9jbGssICJhaGItZ3B1MCIsIGFoYl9od3MsCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgMHg1YzAsIEJJVCg3KSwgMCk7Cj4+ICtzdGF0aWMgU1VO WElfQ0NVX0dBVEVfSFdTKGFoYl9zZXJkZXNfY2xrLCAiYWhiLXNlcmRlcyIsIGFoYl9od3MsCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgMHg1YzAsIEJJVCg4KSwgMCk7Cj4+ICtzdGF0aWMg U1VOWElfQ0NVX0dBVEVfSFdTKGFoYl91c2Jfc3lzX2NsaywgImFoYi11c2Itc3lzIiwgYWhiX2h3 cywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAweDVjMCwgQklUKDkpLCAwKTsKPj4gK3N0 YXRpYyBTVU5YSV9DQ1VfR0FURV9IV1MoYWhiX21zaV9saXRlMF9jbGssICJhaGItbXNpLWxpdGUw IiwgYWhiX2h3cywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAweDVjMCwgQklUKDE2KSwg MCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdTKGFoYl9zdG9yZV9jbGssICJhaGItc3Rv cmUiLCBhaGJfaHdzLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgIDB4NWMwLCBCSVQoMjQp LCBDTEtfSVNfQ1JJVElDQUwpOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXUyhhaGJfY3B1 c19jbGssICJhaGItY3B1cyIsIGFoYl9od3MsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg MHg1YzAsIEJJVCgyOCksIENMS19JU19DUklUSUNBTCk7Cj4KPiBJIHN1c3BlY3QgdGhlc2UgcmVm ZXIgdG8gYSBBSEItQUhCIGJyaWRnZSBmb3IgdGhlIHZhcmlvdXMgc3Vic3lzdGVtcyBzaG93bgo+ IGluIHRoZSBtZW1vcnkgbWFwLiBUaGF0IHdvdWxkIGV4cGxhaW4gd2h5IHdoZW4gdGhlICJhaGIt c3RvcmUiIGNsb2NrIGlzCj4gZ2F0ZWQsIHRoZSBzdG9yYWdlIGJpdHMgc3RvcCB3b3JraW5nLgo+ Cj4gSWYgdGhhdCdzIHRoZSBjYXNlLCB3ZSBzaG91bGQgZGVzY3JpYmUgaXQgYXMgdGhlIHBhcmVu dCBvZiBlYWNoIHN0b3JhZ2UKPiBwZXJpcGhlcmFsIGJ1cyBnYXRlJ3MgcGFyZW50LiBTYW1lIHdv dWxkIGdvIGZvciB0aGUgb3RoZXIgdHlwZXMuIEkgaGF2ZW4ndAo+IGNoZWNrZWQgd2hhdCB0aGUg QlNQIGRvZXMgdGhvdWdoLgoKQXMgTm9ybWFuIG1lbnRpb25lZCBpbiBoaXMgcmVwbHksIHRoZSB2 ZW5kb3IgQlNQIGFsc28gZG9lcyBub3QgbW9kZWwKdGhpcyBoaWVyYXJjaHkgYW5kIGluc3RlYWQg bW9kZWxzIHRoZXNlIGdhdGVzIGFzIGluZGVwZW5kZW50IGNsb2NrcwpwYXJlbnRlZCB0byB0aGUg b3NjaWxsYXRvci4gVGhlIG1hbnVhbCBkb2VzIG5vdCBkZXNjcmliZSB0aGUgaGllcmFyY2h5CmVp dGhlciwgc28gSSBkb24ndCB0aGluayB3ZSBoYXZlIGVub3VnaCBpbmZvcm1hdGlvbiB0byBtb2Rl bCBpdApkaWZmZXJlbnRseSBhdCB0aGlzIHBvaW50LgoKSSB3aWxsIGFkZCBjb21tZW50cyBleHBs YWluaW5nIHdoeSBhaGJfc3RvcmVfY2xrLCBtYnVzX3N0b3JlX2NsaywgYW5kCmFoYl9jcHVzX2Ns ayBhcmUgbWFya2VkIGNyaXRpY2FsLgoKPgo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXUyht YnVzX2lvbW11MF9jbGssICJtYnVzLWlvbW11MCIsIG1idXNfaHdzLAo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgIDB4NWUwLCBCSVQoMCksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRF X0hXUyhtYnVzX2lvbW11MV9jbGssICJtYnVzLWlvbW11MSIsIG1idXNfaHdzLAo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NWUwLCBCSVQoMSksIDApOwo+PiArc3RhdGljIFNVTlhJX0ND VV9HQVRFX0hXUyhtYnVzX2Rlc3lzX2NsaywgIm1idXMtZGVzeXMiLCBtYnVzX2h3cywKPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAweDVlMCwgQklUKDExKSwgMCk7Cj4+ICtzdGF0aWMgU1VO WElfQ0NVX0dBVEVfSFdTKG1idXNfdmVfZW5jMF9nYXRlX2NsaywgIm1idXMtdmUtZW5jMC1nYXRl IiwgbWJ1c19od3MsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgMHg1ZTAsIEJJVCgxMiks IDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXUyhtYnVzX3ZlX2RlYzBfZ2F0ZV9jbGss ICJtYnVzLXZlLWRlYzAtZ2F0ZSIsIG1idXNfaHdzLAo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgIDB4NWUwLCBCSVQoMTQpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURV9IV1MobWJ1 c19ncHUwX2NsaywgIm1idXMtZ3B1MCIsIG1idXNfaHdzLAo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgIDB4NWUwLCBCSVQoMTYpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURV9IV1Mo bWJ1c19ucHVfY2xrLCAibWJ1cy1ucHUiLCBtYnVzX2h3cywKPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAweDVlMCwgQklUKDE4KSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdT KG1idXNfdmlkX2luX2NsaywgIm1idXMtdmlkLWluIiwgbWJ1c19od3MsCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgMHg1ZTAsIEJJVCgyNCksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9H QVRFX0hXUyhtYnVzX3NlcmRlc19jbGssICJtYnVzLXNlcmRlcyIsIG1idXNfaHdzLAo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgIDB4NWUwLCBCSVQoMjgpLCAwKTsKPj4gK3N0YXRpYyBTVU5Y SV9DQ1VfR0FURV9IV1MobWJ1c19tc2lfbGl0ZTBfY2xrLCAibWJ1cy1tc2ktbGl0ZTAiLCBtYnVz X2h3cywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAweDVlMCwgQklUKDI5KSwgMCk7Cj4+ ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdTKG1idXNfc3RvcmVfY2xrLCAibWJ1cy1zdG9yZSIs IG1idXNfaHdzLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgIDB4NWUwLCBCSVQoMzApLCBD TEtfSVNfQ1JJVElDQUwpOwo+Cj4gU2FtZSB0aGluZyBmb3IgdGhlIE1CVVMgY2xvY2tzLgo+Cj4+ ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdTKG1idXNfbXNpX2xpdGUyX2NsaywgIm1idXMtbXNp LWxpdGUyIiwgbWJ1c19od3MsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgMHg1ZTAsIEJJ VCgzMSksIDApOwo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdTKG1idXNfZG1hMF9j bGssICJtYnVzLWRtYTAiLCBtYnVzX2h3cywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAw eDVlNCwgQklUKDApLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURV9IV1MobWJ1c192ZV9l bmMwX2NsaywgIm1idXMtdmUtZW5jMCIsIG1idXNfaHdzLAo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgIDB4NWU0LCBCSVQoMSksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXUyht YnVzX2NlX2NsaywgIm1idXMtY2UiLCBtYnVzX2h3cywKPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAweDVlNCwgQklUKDIpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURV9IV1MobWJ1 c19kbWExX2NsaywgIm1idXMtZG1hMSIsIG1idXNfaHdzLAo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgIDB4NWU0LCBCSVQoMyksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXUyht YnVzX25hbmRfY2xrLCAibWJ1cy1uYW5kIiwgbWJ1c19od3MsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgMHg1ZTQsIEJJVCg1KSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdT KG1idXNfY3NpX2NsaywgIm1idXMtY3NpIiwgbWJ1c19od3MsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgMHg1ZTQsIEJJVCg4KSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdT KG1idXNfaXNwX2NsaywgIm1idXMtaXNwIiwgbWJ1c19od3MsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgMHg1ZTQsIEJJVCg5KSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFdT KG1idXNfZ21hYzBfY2xrLCAibWJ1cy1nbWFjMCIsIG1idXNfaHdzLAo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgIDB4NWU0LCBCSVQoMTEpLCAwKTsKPj4gKy8qIFVuZG9jdW1lbnRlZCwgdGFr ZW4gZnJvbSB0aGUgdmVuZG9yIGtlcm5lbC4gKi8KPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURV9I V1MobWJ1c19nbWFjMV9jbGssICJtYnVzLWdtYWMxIiwgbWJ1c19od3MsCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgMHg1ZTQsIEJJVCgxMiksIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9H QVRFX0hXUyhtYnVzX3ZlX2RlYzBfY2xrLCAibWJ1cy12ZS1kZWMwIiwgbWJ1c19od3MsCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgMHg1ZTQsIEJJVCgxOCksIDApOwo+Cj4gWy4uLl0KPgo+ IFRoZSByZW1haW5pbmcgZGVmaW5pdGlvbnMgbG9vayBjb3JyZWN0IChtaW51cyB0aGUgdmVuZG9y IEJTUCBvbmVzIHdoaWNoIEkKPiBjb3VsZG4ndCBjaGVjayBhdCB0aGlzIHRpbWUpLgo+Cj4gSSBk aWRuJ3QgY2hlY2sgdGhlIGNsb2NrIGxpc3QgYWRkaXRpb25zLgo+Cj4gQ29uc2lkZXIgdGhpcwo+ Cj4gUmV2aWV3ZWQtYnk6IENoZW4tWXUgVHNhaSA8d2Vuc0BrZXJuZWwub3JnPgo+CgpUaGFua3Mh Cgo+Cj4gV2UgY2FuIGNoYW5nZSB0aGUgQUhCIC8gTUJVUyBjbG9jayBwYXJlbnRzIGxhdGVyIGlm IHdlIGRvIGZpZ3VyZSBpdCBvdXQuCj4KPgo+IENoZW5ZdQoKLS0gCkJlc3QgcmVnYXJkcywKSnVu aHVpIExpdQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK