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 16B30E9410B for ; Fri, 2 Jan 2026 07:06:00 +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:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=toIyqW575DfMtMgMWfFnF9DC2QLE0Dszye3Y0KTihHg=; b=VYD9mICf37+FyG f+yoE2WQoqCgLwHkpWXALiNdM4LxIVovj+F33nuNuBaw2LHIi87J9fxZAwF3On2DBEiZ6fyO2nZhG 5M4aHUQfy6r6/cmyFGa3apCID5G4eE4RG6NI6xqB9HJ57sdomMVJ5JTrOx6LBM+O47gIEzeWJPvE0 ZKz+T2dkv0cdqSpR0RwvmG534B/BMrFIIoEH6S1Mv4ze3g/RI1rvx0MdfM3qw8Adnz/M8AkhfuCwN D+LZLVLPTg9pfW3ygZqv5X07uFKkjAMr9VFwIR/o1gwx0KIn9/FuZljzupbuo42A3lmzTtmRB4/GV x+cBGliPgA2+FSe/uXgw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vbZEV-00000007vSL-37RG; Fri, 02 Jan 2026 07:05:59 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vbZES-00000007vQg-3SFB; Fri, 02 Jan 2026 07:05:56 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id D444860017; Fri, 2 Jan 2026 07:05:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A58FDC19422; Fri, 2 Jan 2026 07:05:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1767337555; bh=PCpWC6AbTzuppWM+VmkMKjEgcPECM1FjjXTtxFhKA/s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BRazAYvpE65O4ga8K2yr6JMC0JTgjxdrfQPg7QECGdx57udLajfCNmxiYN1rL21hc a2Ax5uezK3vyFKPJ2EarK8rSiCmvDAKovnnk2jzw77WcdEpAypTdd10J/L4NFYuHw1 DXvoNmbVoqO1e+RG6RPNorO8yJhKCN+QxPR9+p7pA90YcAGCfjmrO6Wox8DChjIccy epXYiWwQskLpByFfzzD++t5S/BwbIZSbEucQ9MhEgPplxwQQQVGKYI5tHo75ATiOwY kD+dIcP59kSET90TOz/PrEVZt3AswtUls/gR3l14jboA9EJKRGk2bdw9hDr4Oa7ryb nfI4Mx3TtU/Pg== From: Mike Rapoport To: Andrew Morton Cc: Alex Shi , Alexander Gordeev , Andreas Larsson , Borislav Petkov , Brian Cain , "Christophe Leroy (CS GROUP)" , Catalin Marinas , "David S. Miller" , Dave Hansen , David Hildenbrand , Dinh Nguyen , Geert Uytterhoeven , Guo Ren , Heiko Carstens , Helge Deller , Huacai Chen , Ingo Molnar , Johannes Berg , John Paul Adrian Glaubitz , Jonathan Corbet , "Liam R. Howlett" , Lorenzo Stoakes , Magnus Lindholm , Matt Turner , Max Filippov , Michael Ellerman , Michal Hocko , Michal Simek , Mike Rapoport , Muchun Song , Oscar Salvador , Palmer Dabbelt , Pratyush Yadav , Richard Weinberger , Russell King , Stafford Horne , Suren Baghdasaryan , Thomas Bogendoerfer , Thomas Gleixner , Vasily Gorbik , Vineet Gupta , Vlastimil Babka , Will Deacon , x86@kernel.org, linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org, linux-cxl@vger.kernel.org, linux-doc@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-kernel@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-um@lists.infradead.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev, sparclinux@vger.kernel.org Subject: [PATCH v2 23/28] arch, mm: consolidate initialization of SPARSE memory model Date: Fri, 2 Jan 2026 08:59:59 +0200 Message-ID: <20260102070005.65328-24-rppt@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260102070005.65328-1-rppt@kernel.org> References: <20260102070005.65328-1-rppt@kernel.org> MIME-Version: 1.0 X-BeenThere: linux-snps-arc@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+linux-snps-arc=archiver.kernel.org@lists.infradead.org RnJvbTogIk1pa2UgUmFwb3BvcnQgKE1pY3Jvc29mdCkiIDxycHB0QGtlcm5lbC5vcmc+CgpFdmVy eSBhcmNoaXRlY3R1cmUgY2FsbHMgc3BhcnNlX2luaXQoKSBkdXJpbmcgc2V0dXBfYXJjaCgpIGFs dGhvdWdoIHRoZQpkYXRhIHN0cnVjdHVyZXMgY3JlYXRlZCBieSBzcGFyc2VfaW5pdCgpIGFyZSBu b3QgdXNlZCB1bnRpbCB0aGUKaW5pdGlhbGl6YXRpb24gb2YgdGhlIGNvcmUgTU0uCgpCZXNpZGUg dGhlIGNvZGUgZHVwbGljYXRpb24sIGNhbGxpbmcgc3BhcnNlX2luaXQoKSBmcm9tIGFyY2hpdGVj dHVyZQpzcGVjaWZpYyBjb2RlIGNhdXNlcyBvcmRlcmluZyBkaWZmZXJlbmNlcyBvZiB2bWVtbWFw IGFuZCBIVk8gaW5pdGlhbGl6YXRpb24Kb24gZGlmZmVyZW50IGFyY2hpdGVjdHVyZXMuCgpNb3Zl IHRoZSBjYWxsIHRvIHNwYXJzZV9pbml0KCkgZnJvbSBhcmNoaXRlY3R1cmUgc3BlY2lmaWMgY29k ZSB0bwpmcmVlX2FyZWFfaW5pdCgpIHRvIGVuc3VyZSB0aGF0IHZtZW1tYXAgYW5kIEhWTyBpbml0 aWFsaXphdGlvbiBvcmRlciBpcwphbHdheXMgdGhlIHNhbWUuCgpTaWduZWQtb2ZmLWJ5OiBNaWtl IFJhcG9wb3J0IChNaWNyb3NvZnQpIDxycHB0QGtlcm5lbC5vcmc+Ci0tLQogRG9jdW1lbnRhdGlv bi9tbS9tZW1vcnktbW9kZWwucnN0ICAgICAgICAgICAgICAgICAgICB8ICAzIC0tLQogRG9jdW1l bnRhdGlvbi90cmFuc2xhdGlvbnMvemhfQ04vbW0vbWVtb3J5LW1vZGVsLnJzdCB8ICAyIC0tCiBh cmNoL2FscGhhL2tlcm5lbC9zZXR1cC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEg LQogYXJjaC9hcm0vbW0vaW5pdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA2IC0tLS0tLQogYXJjaC9hcm02NC9tbS9pbml0LmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA2IC0tLS0tLQogYXJjaC9jc2t5L2tlcm5lbC9zZXR1cC5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAyIC0tCiBhcmNoL2xvb25nYXJjaC9rZXJuZWwvc2V0dXAuYyAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDggLS0tLS0tLS0KIGFyY2gvbWlwcy9rZXJuZWwvc2V0 dXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSAtLS0tLS0tLS0tLQogYXJjaC9w YXJpc2MvbW0vaW5pdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyIC0tCiBh cmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vc2V0dXAuaCAgICAgICAgICAgICAgICAgICAgIHwgIDQg KysrKwogYXJjaC9wb3dlcnBjL21tL21lbS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA1IC0tLS0tCiBhcmNoL3Bvd2VycGMvbW0vbnVtYS5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgLS0KIGFyY2gvcmlzY3YvbW0vaW5pdC5jICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMSAtCiBhcmNoL3MzOTAvbW0vaW5pdC5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDEgLQogYXJjaC9zaC9tbS9pbml0LmMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyIC0tCiBhcmNoL3NwYXJjL21tL2luaXRfNjQuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgLS0KIGFyY2gveDg2L21tL2luaXRfMzIu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSAtCiBhcmNoL3g4Ni9tbS9pbml0 XzY0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgLS0KIGluY2x1ZGUvbGlu dXgvbW16b25lLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiAtLQogbW0vaW50 ZXJuYWwuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKysr KwogbW0vbW1faW5pdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAxICsKIDIxIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDU5IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbW0vbWVtb3J5LW1vZGVsLnJzdCBiL0RvY3Vt ZW50YXRpb24vbW0vbWVtb3J5LW1vZGVsLnJzdAppbmRleCA3OTU3MTIyMDM5ZTguLjE5OWIxMTMy OGY0ZiAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9tbS9tZW1vcnktbW9kZWwucnN0CisrKyBi L0RvY3VtZW50YXRpb24vbW0vbWVtb3J5LW1vZGVsLnJzdApAQCAtOTcsOSArOTcsNiBAQCBzZWN0 aW9uczoKICAgYG1lbV9zZWN0aW9uYCBvYmplY3RzIGFuZCB0aGUgbnVtYmVyIG9mIHJvd3MgaXMg Y2FsY3VsYXRlZCB0byBmaXQKICAgYWxsIHRoZSBtZW1vcnkgc2VjdGlvbnMuCiAKLVRoZSBhcmNo aXRlY3R1cmUgc2V0dXAgY29kZSBzaG91bGQgY2FsbCBzcGFyc2VfaW5pdCgpIHRvCi1pbml0aWFs aXplIHRoZSBtZW1vcnkgc2VjdGlvbnMgYW5kIHRoZSBtZW1vcnkgbWFwcy4KLQogV2l0aCBTUEFS U0VNRU0gdGhlcmUgYXJlIHR3byBwb3NzaWJsZSB3YXlzIHRvIGNvbnZlcnQgYSBQRk4gdG8gdGhl CiBjb3JyZXNwb25kaW5nIGBzdHJ1Y3QgcGFnZWAgLSBhICJjbGFzc2ljIHNwYXJzZSIgYW5kICJz cGFyc2UKIHZtZW1tYXAiLiBUaGUgc2VsZWN0aW9uIGlzIG1hZGUgYXQgYnVpbGQgdGltZSBhbmQg aXQgaXMgZGV0ZXJtaW5lZCBieQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi90cmFuc2xhdGlv bnMvemhfQ04vbW0vbWVtb3J5LW1vZGVsLnJzdCBiL0RvY3VtZW50YXRpb24vdHJhbnNsYXRpb25z L3poX0NOL21tL21lbW9yeS1tb2RlbC5yc3QKaW5kZXggNzdlYzE0OWE5NzBjLi5jMGM1ZDhlY2Q4 ODAgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdHJhbnNsYXRpb25zL3poX0NOL21tL21lbW9y eS1tb2RlbC5yc3QKKysrIGIvRG9jdW1lbnRhdGlvbi90cmFuc2xhdGlvbnMvemhfQ04vbW0vbWVt b3J5LW1vZGVsLnJzdApAQCAtODMsOCArODMsNiBAQCBTUEFSU0VNRU3mqKHlnovlsIbniannkIbl hoXlrZjmmL7npLrkuLrkuIDkuKrpg6jliIbnmoTpm4blkIjjgILkuIDkuKrljLrmrrXnlKhtZQog ICDmr4/kuIDooYzljIXlkKvku7flgLwgYFBBR0VfU0laRWAg55qEIGBtZW1fc2VjdGlvbmAg5a+5 6LGh77yM6KGM5pWw55qE6K6h566X5piv5Li65LqG6YCC5bqU5omA5pyJ55qECiAgIOWGheWtmOWM uuOAggogCi3mnrbmnoTorr7nva7ku6PnoIHlupTor6XosIPnlKhzcGFyc2VfaW5pdCgp5p2l5Yid 5aeL5YyW5YaF5a2Y5Yy65ZKM5YaF5a2Y5pig5bCE44CCCi0KIOmAmui/h1NQQVJTRU1FTe+8jOac ieS4pOenjeWPr+iDveeahOaWueW8j+WwhlBGTui9rOaNouS4uuebuOW6lOeahCBgc3RydWN0IHBh Z2VgIC0tImNsYXNzaWMgc3BhcnNlIuWSjAogICJzcGFyc2Ugdm1lbW1hcCLjgILpgInmi6nmmK/l nKjmnoTlu7rml7bov5vooYznmoTvvIzlroPnlLEgYENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUGAg 55qECiAg5YC85Yaz5a6a44CCCmRpZmYgLS1naXQgYS9hcmNoL2FscGhhL2tlcm5lbC9zZXR1cC5j IGIvYXJjaC9hbHBoYS9rZXJuZWwvc2V0dXAuYwppbmRleCBiZWJkZmZhZmFlZTguLmYwYWY0NDRh NjlhNCAxMDA2NDQKLS0tIGEvYXJjaC9hbHBoYS9rZXJuZWwvc2V0dXAuYworKysgYi9hcmNoL2Fs cGhhL2tlcm5lbC9zZXR1cC5jCkBAIC02MDcsNyArNjA3LDYgQEAgc2V0dXBfYXJjaChjaGFyICoq Y21kbGluZV9wKQogCS8qIEZpbmQgb3VyIG1lbW9yeS4gICovCiAJc2V0dXBfbWVtb3J5KGtlcm5l bF9lbmQpOwogCW1lbWJsb2NrX3NldF9ib3R0b21fdXAodHJ1ZSk7Ci0Jc3BhcnNlX2luaXQoKTsK IAogCS8qIEZpcnN0IGd1ZXNzIGF0IGNwdSBjYWNoZSBzaXplcy4gIERvIHRoaXMgYmVmb3JlIGlu aXRfYXJjaC4gICovCiAJZGV0ZXJtaW5lX2NwdV9jYWNoZXMoY3B1LT50eXBlKTsKZGlmZiAtLWdp dCBhL2FyY2gvYXJtL21tL2luaXQuYyBiL2FyY2gvYXJtL21tL2luaXQuYwppbmRleCBhOGY3YjQw ODQ3MTUuLjBjYzFiZjA0Njg2ZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbW0vaW5pdC5jCisrKyBi L2FyY2gvYXJtL21tL2luaXQuYwpAQCAtMjA3LDEyICsyMDcsNiBAQCB2b2lkIF9faW5pdCBib290 bWVtX2luaXQodm9pZCkKIAogCWVhcmx5X21lbXRlc3QoKHBoeXNfYWRkcl90KW1pbl9sb3dfcGZu IDw8IFBBR0VfU0hJRlQsCiAJCSAgICAgIChwaHlzX2FkZHJfdCltYXhfbG93X3BmbiA8PCBQQUdF X1NISUZUKTsKLQotCS8qCi0JICogc3BhcnNlX2luaXQoKSB0cmllcyB0byBhbGxvY2F0ZSBtZW1v cnkgZnJvbSBtZW1ibG9jaywgc28gbXVzdCBiZQotCSAqIGRvbmUgYWZ0ZXIgdGhlIGZpeGVkIHJl c2VydmF0aW9ucwotCSAqLwotCXNwYXJzZV9pbml0KCk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9h cmNoL2FybTY0L21tL2luaXQuYyBiL2FyY2gvYXJtNjQvbW0vaW5pdC5jCmluZGV4IDM2NDFlODhl YTg3MS4uOWQyNzFhZmY3NjUyIDEwMDY0NAotLS0gYS9hcmNoL2FybTY0L21tL2luaXQuYworKysg Yi9hcmNoL2FybTY0L21tL2luaXQuYwpAQCAtMzIxLDEyICszMjEsNiBAQCB2b2lkIF9faW5pdCBi b290bWVtX2luaXQodm9pZCkKICNlbmRpZgogCiAJa3ZtX2h5cF9yZXNlcnZlKCk7Ci0KLQkvKgot CSAqIHNwYXJzZV9pbml0KCkgdHJpZXMgdG8gYWxsb2NhdGUgbWVtb3J5IGZyb20gbWVtYmxvY2ss IHNvIG11c3QgYmUKLQkgKiBkb25lIGFmdGVyIHRoZSBmaXhlZCByZXNlcnZhdGlvbnMKLQkgKi8K LQlzcGFyc2VfaW5pdCgpOwogCWRtYV9saW1pdHNfaW5pdCgpOwogCiAJLyoKZGlmZiAtLWdpdCBh L2FyY2gvY3NreS9rZXJuZWwvc2V0dXAuYyBiL2FyY2gvY3NreS9rZXJuZWwvc2V0dXAuYwppbmRl eCA0YmYzYzAxZWFkM2EuLjQ1Yzk4ZGNmN2Y1MCAxMDA2NDQKLS0tIGEvYXJjaC9jc2t5L2tlcm5l bC9zZXR1cC5jCisrKyBiL2FyY2gvY3NreS9rZXJuZWwvc2V0dXAuYwpAQCAtMTIzLDggKzEyMyw2 IEBAIHZvaWQgX19pbml0IHNldHVwX2FyY2goY2hhciAqKmNtZGxpbmVfcCkKIAlzZXR1cF9zbXAo KTsKICNlbmRpZgogCi0Jc3BhcnNlX2luaXQoKTsKLQogCWZpeGFkZHJfaW5pdCgpOwogCiAjaWZk ZWYgQ09ORklHX0hJR0hNRU0KZGlmZiAtLWdpdCBhL2FyY2gvbG9vbmdhcmNoL2tlcm5lbC9zZXR1 cC5jIGIvYXJjaC9sb29uZ2FyY2gva2VybmVsL3NldHVwLmMKaW5kZXggNzA4YWMwMjVkYjcxLi5k NmExZmYwZTE2ZjEgMTAwNjQ0Ci0tLSBhL2FyY2gvbG9vbmdhcmNoL2tlcm5lbC9zZXR1cC5jCisr KyBiL2FyY2gvbG9vbmdhcmNoL2tlcm5lbC9zZXR1cC5jCkBAIC00MDIsMTQgKzQwMiw2IEBAIHN0 YXRpYyB2b2lkIF9faW5pdCBhcmNoX21lbV9pbml0KGNoYXIgKipjbWRsaW5lX3ApCiAKIAljaGVj a19rZXJuZWxfc2VjdGlvbnNfbWVtKCk7CiAKLQkvKgotCSAqIEluIG9yZGVyIHRvIHJlZHVjZSB0 aGUgcG9zc2liaWxpdHkgb2Yga2VybmVsIHBhbmljIHdoZW4gZmFpbGVkIHRvCi0JICogZ2V0IElP IFRMQiBtZW1vcnkgdW5kZXIgQ09ORklHX1NXSU9UTEIsIGl0IGlzIGJldHRlciB0byBhbGxvY2F0 ZQotCSAqIGxvdyBtZW1vcnkgYXMgc21hbGwgYXMgcG9zc2libGUgYmVmb3JlIHN3aW90bGJfaW5p dCgpLCBzbyBtYWtlCi0JICogc3BhcnNlX2luaXQoKSB1c2luZyB0b3AtZG93biBhbGxvY2F0aW9u LgotCSAqLwotCW1lbWJsb2NrX3NldF9ib3R0b21fdXAoZmFsc2UpOwotCXNwYXJzZV9pbml0KCk7 CiAJbWVtYmxvY2tfc2V0X2JvdHRvbV91cCh0cnVlKTsKIAogCXN3aW90bGJfaW5pdCh0cnVlLCBT V0lPVExCX1ZFUkJPU0UpOwpkaWZmIC0tZ2l0IGEvYXJjaC9taXBzL2tlcm5lbC9zZXR1cC5jIGIv YXJjaC9taXBzL2tlcm5lbC9zZXR1cC5jCmluZGV4IDExYjliNmI2M2UxOS4uZDM2ZDg5ZDAxZmE0 IDEwMDY0NAotLS0gYS9hcmNoL21pcHMva2VybmVsL3NldHVwLmMKKysrIGIvYXJjaC9taXBzL2tl cm5lbC9zZXR1cC5jCkBAIC02MTQsNyArNjE0LDYgQEAgc3RhdGljIHZvaWQgX19pbml0IGJvb3Rj bWRsaW5lX2luaXQodm9pZCkKICAqIGtlcm5lbCBidXQgZ2VuZXJpYyBtZW1vcnkgbWFuYWdlbWVu dCBzeXN0ZW0gaXMgc3RpbGwgZW50aXJlbHkgdW5pbml0aWFsaXplZC4KICAqCiAgKiAgbyBib290 bWVtX2luaXQoKQotICogIG8gc3BhcnNlX2luaXQoKQogICogIG8gcGFnaW5nX2luaXQoKQogICog IG8gZG1hX2NvbnRpZ3VvdXNfcmVzZXJ2ZSgpCiAgKgpAQCAtNjY1LDE2ICs2NjQsNiBAQCBzdGF0 aWMgdm9pZCBfX2luaXQgYXJjaF9tZW1faW5pdChjaGFyICoqY21kbGluZV9wKQogCW1pcHNfcGFy c2VfY3Jhc2hrZXJuZWwoKTsKIAlkZXZpY2VfdHJlZV9pbml0KCk7CiAKLQkvKgotCSAqIEluIG9y ZGVyIHRvIHJlZHVjZSB0aGUgcG9zc2liaWxpdHkgb2Yga2VybmVsIHBhbmljIHdoZW4gZmFpbGVk IHRvCi0JICogZ2V0IElPIFRMQiBtZW1vcnkgdW5kZXIgQ09ORklHX1NXSU9UTEIsIGl0IGlzIGJl dHRlciB0byBhbGxvY2F0ZQotCSAqIGxvdyBtZW1vcnkgYXMgc21hbGwgYXMgcG9zc2libGUgYmVm b3JlIHBsYXRfc3dpb3RsYl9zZXR1cCgpLCBzbwotCSAqIG1ha2Ugc3BhcnNlX2luaXQoKSB1c2lu ZyB0b3AtZG93biBhbGxvY2F0aW9uLgotCSAqLwotCW1lbWJsb2NrX3NldF9ib3R0b21fdXAoZmFs c2UpOwotCXNwYXJzZV9pbml0KCk7Ci0JbWVtYmxvY2tfc2V0X2JvdHRvbV91cCh0cnVlKTsKLQog CXBsYXRfc3dpb3RsYl9zZXR1cCgpOwogCiAJZG1hX2NvbnRpZ3VvdXNfcmVzZXJ2ZShQRk5fUEhZ UyhtYXhfbG93X3BmbikpOwpkaWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2MvbW0vaW5pdC5jIGIvYXJj aC9wYXJpc2MvbW0vaW5pdC5jCmluZGV4IGNlNmYwOWFiN2E5MC4uNmEzOWUwMzFlNWZmIDEwMDY0 NAotLS0gYS9hcmNoL3BhcmlzYy9tbS9pbml0LmMKKysrIGIvYXJjaC9wYXJpc2MvbW0vaW5pdC5j CkBAIC03MDYsOCArNzA2LDYgQEAgdm9pZCBfX2luaXQgcGFnaW5nX2luaXQodm9pZCkKIAlmaXht YXBfaW5pdCgpOwogCWZsdXNoX2NhY2hlX2FsbF9sb2NhbCgpOyAvKiBzdGFydCB3aXRoIGtub3du IHN0YXRlICovCiAJZmx1c2hfdGxiX2FsbF9sb2NhbChOVUxMKTsKLQotCXNwYXJzZV9pbml0KCk7 CiB9CiAKIHN0YXRpYyB2b2lkIGFsbG9jX2J0bGIodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWdu ZWQgbG9uZyBlbmQsIGludCAqc2xvdCwKZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRl L2FzbS9zZXR1cC5oIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL3NldHVwLmgKaW5kZXggNTBh OTJiMjQ2MjhkLi42ZDYwZWE0ODY4YWIgMTAwNjQ0Ci0tLSBhL2FyY2gvcG93ZXJwYy9pbmNsdWRl L2FzbS9zZXR1cC5oCisrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9zZXR1cC5oCkBAIC0y MCw3ICsyMCwxMSBAQCBleHRlcm4gdm9pZCByZWxvY19nb3QyKHVuc2lnbmVkIGxvbmcpOwogCiB2 b2lkIGNoZWNrX2Zvcl9pbml0cmQodm9pZCk7CiB2b2lkIG1lbV90b3BvbG9neV9zZXR1cCh2b2lk KTsKKyNpZmRlZiBDT05GSUdfTlVNQQogdm9pZCBpbml0bWVtX2luaXQodm9pZCk7CisjZWxzZQor c3RhdGljIGlubGluZSB2b2lkIGluaXRtZW1faW5pdCh2b2lkKSB7fQorI2VuZGlmCiB2b2lkIHNl dHVwX3BhbmljKHZvaWQpOwogI2RlZmluZSBBUkNIX1BBTklDX1RJTUVPVVQgMTgwCiAKZGlmZiAt LWdpdCBhL2FyY2gvcG93ZXJwYy9tbS9tZW0uYyBiL2FyY2gvcG93ZXJwYy9tbS9tZW0uYwppbmRl eCA3MmQ0OTkzMTkyYTYuLjMwZjU2ZDYwMWU1NiAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL21t L21lbS5jCisrKyBiL2FyY2gvcG93ZXJwYy9tbS9tZW0uYwpAQCAtMTgyLDExICsxODIsNiBAQCB2 b2lkIF9faW5pdCBtZW1fdG9wb2xvZ3lfc2V0dXAodm9pZCkKIAltZW1ibG9ja19zZXRfbm9kZSgw LCBQSFlTX0FERFJfTUFYLCAmbWVtYmxvY2subWVtb3J5LCAwKTsKIH0KIAotdm9pZCBfX2luaXQg aW5pdG1lbV9pbml0KHZvaWQpCi17Ci0Jc3BhcnNlX2luaXQoKTsKLX0KLQogLyogbWFyayBwYWdl cyB0aGF0IGRvbid0IGV4aXN0IGFzIG5vc2F2ZSAqLwogc3RhdGljIGludCBfX2luaXQgbWFya19u b25yYW1fbm9zYXZlKHZvaWQpCiB7CmRpZmYgLS1naXQgYS9hcmNoL3Bvd2VycGMvbW0vbnVtYS5j IGIvYXJjaC9wb3dlcnBjL21tL251bWEuYwppbmRleCA2MDNhMGY2NTJiYTYuLmY0Y2YzYWUwMzZk ZSAxMDA2NDQKLS0tIGEvYXJjaC9wb3dlcnBjL21tL251bWEuYworKysgYi9hcmNoL3Bvd2VycGMv bW0vbnVtYS5jCkBAIC0xMjEzLDggKzEyMTMsNiBAQCB2b2lkIF9faW5pdCBpbml0bWVtX2luaXQo dm9pZCkKIAkJc2V0dXBfbm9kZV9kYXRhKG5pZCwgc3RhcnRfcGZuLCBlbmRfcGZuKTsKIAl9CiAK LQlzcGFyc2VfaW5pdCgpOwotCiAJLyoKIAkgKiBXZSBuZWVkIHRoZSBudW1hX2NwdV9sb29rdXBf dGFibGUgdG8gYmUgYWNjdXJhdGUgZm9yIGFsbCBDUFVzLAogCSAqIGV2ZW4gYmVmb3JlIHdlIG9u bGluZSB0aGVtLCBzbyB0aGF0IHdlIGNhbiB1c2UgY3B1X3RvX3tub2RlLG1lbX0KZGlmZiAtLWdp dCBhL2FyY2gvcmlzY3YvbW0vaW5pdC5jIGIvYXJjaC9yaXNjdi9tbS9pbml0LmMKaW5kZXggNzli NDc5MjU3OGM0Li4xMWFjNDA0MWFmYzAgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvbW0vaW5pdC5j CisrKyBiL2FyY2gvcmlzY3YvbW0vaW5pdC5jCkBAIC0xNDMwLDcgKzE0MzAsNiBAQCB2b2lkIF9f aW5pdCBtaXNjX21lbV9pbml0KHZvaWQpCiB7CiAJZWFybHlfbWVtdGVzdChtaW5fbG93X3BmbiA8 PCBQQUdFX1NISUZULCBtYXhfbG93X3BmbiA8PCBQQUdFX1NISUZUKTsKIAlhcmNoX251bWFfaW5p dCgpOwotCXNwYXJzZV9pbml0KCk7CiAjaWZkZWYgQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQCiAJ LyogVGhlIGVudGlyZSBWTUVNTUFQIHJlZ2lvbiBoYXMgYmVlbiBwb3B1bGF0ZWQuIEZsdXNoIFRM QiBmb3IgdGhpcyByZWdpb24gKi8KIAlsb2NhbF9mbHVzaF90bGJfa2VybmVsX3JhbmdlKFZNRU1N QVBfU1RBUlQsIFZNRU1NQVBfRU5EKTsKZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9tbS9pbml0LmMg Yi9hcmNoL3MzOTAvbW0vaW5pdC5jCmluZGV4IDllYzYwOGI1Y2JiMS4uM2MyMDQ3NWNiZWUyIDEw MDY0NAotLS0gYS9hcmNoL3MzOTAvbW0vaW5pdC5jCisrKyBiL2FyY2gvczM5MC9tbS9pbml0LmMK QEAgLTk4LDcgKzk4LDYgQEAgdm9pZCBfX2luaXQgYXJjaF96b25lX2xpbWl0c19pbml0KHVuc2ln bmVkIGxvbmcgKm1heF96b25lX3BmbnMpCiB2b2lkIF9faW5pdCBwYWdpbmdfaW5pdCh2b2lkKQog ewogCXZtZW1fbWFwX2luaXQoKTsKLQlzcGFyc2VfaW5pdCgpOwogCXpvbmVfZG1hX2xpbWl0ID0g RE1BX0JJVF9NQVNLKDMxKTsKIH0KIApkaWZmIC0tZ2l0IGEvYXJjaC9zaC9tbS9pbml0LmMgYi9h cmNoL3NoL21tL2luaXQuYwppbmRleCAzZWRlZTg1NGI3NTUuLjQ2NGEzYTYzZTJmYSAxMDA2NDQK LS0tIGEvYXJjaC9zaC9tbS9pbml0LmMKKysrIGIvYXJjaC9zaC9tbS9pbml0LmMKQEAgLTIyNyw4 ICsyMjcsNiBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZG9faW5pdF9ib290bWVtKHZvaWQpCiAJbm9k ZV9zZXRfb25saW5lKDApOwogCiAJcGxhdF9tZW1fc2V0dXAoKTsKLQotCXNwYXJzZV9pbml0KCk7 CiB9CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBlYXJseV9yZXNlcnZlX21lbSh2b2lkKQpkaWZmIC0t Z2l0IGEvYXJjaC9zcGFyYy9tbS9pbml0XzY0LmMgYi9hcmNoL3NwYXJjL21tL2luaXRfNjQuYwpp bmRleCA5MzFmODcyY2U4NGEuLjRmN2JkYjE4Nzc0YiAxMDA2NDQKLS0tIGEvYXJjaC9zcGFyYy9t bS9pbml0XzY0LmMKKysrIGIvYXJjaC9zcGFyYy9tbS9pbml0XzY0LmMKQEAgLTE2MTUsOCArMTYx NSw2IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5pdCBib290bWVtX2luaXQodW5zaWduZWQg bG9uZyBwaHlzX2Jhc2UpCiAKIAkvKiBYWFggY3B1IG5vdGlmaWVyIFhYWCAqLwogCi0Jc3BhcnNl X2luaXQoKTsKLQogCXJldHVybiBlbmRfcGZuOwogfQogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9t bS9pbml0XzMyLmMgYi9hcmNoL3g4Ni9tbS9pbml0XzMyLmMKaW5kZXggYjU1MTcyMTE4YzkxLi4w OTA4YzQ0ZDUxZTYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21tL2luaXRfMzIuYworKysgYi9hcmNo L3g4Ni9tbS9pbml0XzMyLmMKQEAgLTY1NCw3ICs2NTQsNiBAQCB2b2lkIF9faW5pdCBwYWdpbmdf aW5pdCh2b2lkKQogCSAqIE5PVEU6IGF0IHRoaXMgcG9pbnQgdGhlIGJvb3RtZW0gYWxsb2NhdG9y IGlzIGZ1bGx5IGF2YWlsYWJsZS4KIAkgKi8KIAlvbHBjX2R0X2J1aWxkX2RldmljZXRyZWUoKTsK LQlzcGFyc2VfaW5pdCgpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vaW5pdF82 NC5jIGIvYXJjaC94ODYvbW0vaW5pdF82NC5jCmluZGV4IDRkYWE0MDA3MWM5Zi4uZGYyMjYxZmE0 Zjk4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9tbS9pbml0XzY0LmMKKysrIGIvYXJjaC94ODYvbW0v aW5pdF82NC5jCkBAIC04MzMsOCArODMzLDYgQEAgdm9pZCBfX2luaXQgaW5pdG1lbV9pbml0KHZv aWQpCiAKIHZvaWQgX19pbml0IHBhZ2luZ19pbml0KHZvaWQpCiB7Ci0Jc3BhcnNlX2luaXQoKTsK LQogCS8qCiAJICogY2xlYXIgdGhlIGRlZmF1bHQgc2V0dGluZyB3aXRoIG5vZGUgMAogCSAqIG5v dGU6IGRvbid0IHVzZSBub2Rlc19jbGVhciBoZXJlLCB0aGF0IGlzIHJlYWxseSBjbGVhcmluZyB3 aGVuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21tem9uZS5oIGIvaW5jbHVkZS9saW51eC9t bXpvbmUuaAppbmRleCA3NWVmN2M5ZjkzMDcuLjZhN2RiMGZlZTU0YSAxMDA2NDQKLS0tIGEvaW5j bHVkZS9saW51eC9tbXpvbmUuaAorKysgYi9pbmNsdWRlL2xpbnV4L21tem9uZS5oCkBAIC0yMjg1 LDkgKzIyODUsNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbmV4dF9wcmVzZW50X3Nl Y3Rpb25fbnIodW5zaWduZWQgbG9uZyBzZWN0aW9uX25yKQogI2RlZmluZSBwZm5fdG9fbmlkKHBm bikJCSgwKQogI2VuZGlmCiAKLXZvaWQgc3BhcnNlX2luaXQodm9pZCk7CiAjZWxzZQotI2RlZmlu ZSBzcGFyc2VfaW5pdCgpCWRvIHt9IHdoaWxlICgwKQogI2RlZmluZSBzcGFyc2VfaW5kZXhfaW5p dChfc2VjLCBfbmlkKSAgZG8ge30gd2hpbGUgKDApCiAjZGVmaW5lIHNwYXJzZV92bWVtbWFwX2lu aXRfbmlkX2Vhcmx5KF9uaWQpIGRvIHt9IHdoaWxlICgwKQogI2RlZmluZSBzcGFyc2Vfdm1lbW1h cF9pbml0X25pZF9sYXRlKF9uaWQpIGRvIHt9IHdoaWxlICgwKQpkaWZmIC0tZ2l0IGEvbW0vaW50 ZXJuYWwuaCBiL21tL2ludGVybmFsLmgKaW5kZXggZTQzMGRhOTAwNDMwLi5kYzUzMTZjNjg2NjQg MTAwNjQ0Ci0tLSBhL21tL2ludGVybmFsLmgKKysrIGIvbW0vaW50ZXJuYWwuaApAQCAtODYwLDYg Kzg2MCwxMiBAQCB2b2lkIG1lbW1hcF9pbml0X3JhbmdlKHVuc2lnbmVkIGxvbmcsIGludCwgdW5z aWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywKIAkJdW5zaWduZWQgbG9uZywgZW51bSBtZW1pbml0 X2NvbnRleHQsIHN0cnVjdCB2bWVtX2FsdG1hcCAqLCBpbnQsCiAJCWJvb2wpOwogCisjaWZkZWYg Q09ORklHX1NQQVJTRU1FTQordm9pZCBzcGFyc2VfaW5pdCh2b2lkKTsKKyNlbHNlCitzdGF0aWMg aW5saW5lIHZvaWQgc3BhcnNlX2luaXQodm9pZCkge30KKyNlbmRpZiAvKiBDT05GSUdfU1BBUlNF TUVNICovCisKICNpZiBkZWZpbmVkIENPTkZJR19DT01QQUNUSU9OIHx8IGRlZmluZWQgQ09ORklH X0NNQQogCiAvKgpkaWZmIC0tZ2l0IGEvbW0vbW1faW5pdC5jIGIvbW0vbW1faW5pdC5jCmluZGV4 IGZmYzRhMGYxZmVlOS4uNGNmZTcyMmRhMDYyIDEwMDY0NAotLS0gYS9tbS9tbV9pbml0LmMKKysr IGIvbW0vbW1faW5pdC5jCkBAIC0xODI4LDYgKzE4MjgsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQg ZnJlZV9hcmVhX2luaXQodm9pZCkKIAlib29sIGRlc2NlbmRpbmc7CiAKIAlhcmNoX3pvbmVfbGlt aXRzX2luaXQobWF4X3pvbmVfcGZuKTsKKwlzcGFyc2VfaW5pdCgpOwogCiAJc3RhcnRfcGZuID0g UEhZU19QRk4obWVtYmxvY2tfc3RhcnRfb2ZfRFJBTSgpKTsKIAlkZXNjZW5kaW5nID0gYXJjaF9o YXNfZGVzY2VuZGluZ19tYXhfem9uZV9wZm5zKCk7Ci0tIAoyLjUxLjAKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1zbnBzLWFyYyBtYWlsaW5n IGxpc3QKbGludXgtc25wcy1hcmNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXNucHMtYXJjCg==