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 95016C27C53 for ; Wed, 5 Jun 2024 11:41:40 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: 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: List-Owner; bh=/zj2sBY93JRkSIymjYamV4tRJpra14d9NmcKJSfprRg=; b=GmnV943AojR48O jrU/wW9cSprxSPhVcg6zrwXkCt/88fIBvqSt8JdVSa0YaWVHlxKoeeMvgwPrjd+8TuBSp16O+POmF LtfKs57l5dI2/i//fn9wqNrvLONQZKSiw+SD1KS56iRnaeU3t19oY2M1Hw2uUqbl2yyB4+32ns7GT NLxRdqt20halMbq5OgRPqgaCt+cychKkWvj8dDEIaeM/v78Yj5VCGKhH50/B1Gk8m1QtLnQnd4awK PXllCZhQQ6HLdhjv/X6Laom3LaNnSehLiWk00KJOpYNQWTMnMTBYVfUbI0UEX1t31oS8mUOUBm8S9 7aZKLNdT2Kd87QYf7PpQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sEp1L-00000005jvf-2sxC; Wed, 05 Jun 2024 11:41:35 +0000 Received: from sin.source.kernel.org ([145.40.73.55]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sEp1H-00000005jsA-1hyW for linux-riscv@lists.infradead.org; Wed, 05 Jun 2024 11:41:33 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 6F2F8CE176A; Wed, 5 Jun 2024 11:41:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5382CC32786; Wed, 5 Jun 2024 11:41:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1717587688; bh=MFof7xn/oSifUp6j3V5p4AYP/CSYuS80BqueZAmmuuA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pbFVgcWHRiy8pGFDtngTEv5eU6zwJP5WKhapkZnCc2mI03cZWTm4GzvL8iv/Je5MF oWk3OVTiG83nP8OWaGHrdw+5nwhzAkmJrNMIcwNMLOvmZu8MZUQ3BNkaksv1UyWJ2i OYHMGVswkTwTQSes3oSvy40gJcpCLSJ6ma+leHj6n4bikuN++iRIG+IUTthtz2pvuW 2JSchG9gqfdrCInzs6Ty2xoH4RRiofEW1UNYJg3Hra555cYeBPfDkvtDjGE+GxD9yg JvfaSOCKVfspDfSQ+OxaRJt1zHhTct51b72y77qW2EuFj7hJNM9yFEpFwX7z/m+z9v Wc79Ge1oe18gA== From: =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= To: Alexandre Ghiti , Albert Ou , David Hildenbrand , Palmer Dabbelt , Paul Walmsley , linux-riscv@lists.infradead.org, Oscar Salvador Subject: [PATCH v4 03/11] riscv: mm: Change attribute from __init to __meminit for page functions Date: Wed, 5 Jun 2024 13:40:46 +0200 Message-ID: <20240605114100.315918-4-bjorn@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240605114100.315918-1-bjorn@kernel.org> References: <20240605114100.315918-1-bjorn@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240605_044131_907638_80F209A2 X-CRM114-Status: GOOD ( 15.42 ) 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: , Cc: Lorenzo Stoakes , Chethan Seshadri , linux-kernel@vger.kernel.org, Andrew Bresticker , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Santosh Mamila , linux-mm@kvack.org, Sivakumar Munnangi , virtualization@lists.linux-foundation.org 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 RnJvbTogQmrDtnJuIFTDtnBlbCA8Ympvcm5Acml2b3NpbmMuY29tPgoKUHJlcGFyZSBmb3IgbWVt b3J5IGhvdHBsdWdnaW5nIHN1cHBvcnQgYnkgY2hhbmdpbmcgZnJvbSBfX2luaXQgdG8KX19tZW1p bml0IGZvciB0aGUgcGFnZSB0YWJsZSBmdW5jdGlvbnMgdGhhdCBhcmUgdXNlZCBieSB0aGUgdXBj b21pbmcKYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGNhbGxiYWNrcy4KCkNoYW5naW5nIHRoZSBfX2lu aXQgYXR0cmlidXRlIHRvIF9fbWVtaW5pdCwgYXZvaWRzIHRoYXQgdGhlIGZ1bmN0aW9ucwphcmUg cmVtb3ZlZCBhZnRlciBpbml0LiBUaGUgX19tZW1pbml0IGF0dHJpYnV0ZSBtYWtlcyBzdXJlIHRo ZQpmdW5jdGlvbnMgYXJlIGtlcHQgaW4gdGhlIGtlcm5lbCB0ZXh0IHBvc3QgaW5pdCwgYnV0IG9u bHkgaWYgbWVtb3J5CmhvdHBsdWdnaW5nIGlzIGVuYWJsZWQgZm9yIHRoZSBidWlsZC4KClJldmll d2VkLWJ5OiBBbGV4YW5kcmUgR2hpdGkgPGFsZXhnaGl0aUByaXZvc2luYy5jb20+ClJldmlld2Vk LWJ5OiBEYXZpZCBIaWxkZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IE9z Y2FyIFNhbHZhZG9yIDxvc2FsdmFkb3JAc3VzZS5kZT4KU2lnbmVkLW9mZi1ieTogQmrDtnJuIFTD tnBlbCA8Ympvcm5Acml2b3NpbmMuY29tPgotLS0KIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vbW11 LmggICAgIHwgIDQgKy0tCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaCB8ICAyICst CiBhcmNoL3Jpc2N2L21tL2luaXQuYyAgICAgICAgICAgICB8IDU2ICsrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDM0IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vbW11LmggYi9h cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL21tdS5oCmluZGV4IDk0N2ZkNjBmOTA1MS4uYzllMDNlOWRh M2RjIDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL21tdS5oCisrKyBiL2FyY2gv cmlzY3YvaW5jbHVkZS9hc20vbW11LmgKQEAgLTMxLDggKzMxLDggQEAgdHlwZWRlZiBzdHJ1Y3Qg ewogI2RlZmluZSBjbnR4MmFzaWQoY250eCkJCSgoY250eCkgJiBTQVRQX0FTSURfTUFTSykKICNk ZWZpbmUgY250eDJ2ZXJzaW9uKGNudHgpCSgoY250eCkgJiB+U0FUUF9BU0lEX01BU0spCiAKLXZv aWQgX19pbml0IGNyZWF0ZV9wZ2RfbWFwcGluZyhwZ2RfdCAqcGdkcCwgdWludHB0cl90IHZhLCBw aHlzX2FkZHJfdCBwYSwKLQkJCSAgICAgICBwaHlzX2FkZHJfdCBzeiwgcGdwcm90X3QgcHJvdCk7 Cit2b2lkIF9fbWVtaW5pdCBjcmVhdGVfcGdkX21hcHBpbmcocGdkX3QgKnBnZHAsIHVpbnRwdHJf dCB2YSwgcGh5c19hZGRyX3QgcGEsIHBoeXNfYWRkcl90IHN6LAorCQkJCSAgcGdwcm90X3QgcHJv dCk7CiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAKICNlbmRpZiAvKiBfQVNNX1JJU0NWX01N VV9IICovCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2Fy Y2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oCmluZGV4IGFhZDhiOGNhNTFmMS4uNDFmMWIy YzZmOTQ5IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaAorKysg Yi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaApAQCAtMTY1LDcgKzE2NSw3IEBAIHN0 cnVjdCBwdF9hbGxvY19vcHMgewogI2VuZGlmCiB9OwogCi1leHRlcm4gc3RydWN0IHB0X2FsbG9j X29wcyBwdF9vcHMgX19pbml0ZGF0YTsKK2V4dGVybiBzdHJ1Y3QgcHRfYWxsb2Nfb3BzIHB0X29w cyBfX21lbWluaXRkYXRhOwogCiAjaWZkZWYgQ09ORklHX01NVQogLyogTnVtYmVyIG9mIFBHRCBl bnRyaWVzIHRoYXQgYSB1c2VyLW1vZGUgcHJvZ3JhbSBjYW4gdXNlICovCmRpZmYgLS1naXQgYS9h cmNoL3Jpc2N2L21tL2luaXQuYyBiL2FyY2gvcmlzY3YvbW0vaW5pdC5jCmluZGV4IGE1YjNiYzFm M2I4OC4uMGRkMDRjZWRjMGQyIDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L21tL2luaXQuYworKysg Yi9hcmNoL3Jpc2N2L21tL2luaXQuYwpAQCAtMjk3LDcgKzI5Nyw3IEBAIHN0YXRpYyB2b2lkIF9f aW5pdCBzZXR1cF9ib290bWVtKHZvaWQpCiB9CiAKICNpZmRlZiBDT05GSUdfTU1VCi1zdHJ1Y3Qg cHRfYWxsb2Nfb3BzIHB0X29wcyBfX2luaXRkYXRhOworc3RydWN0IHB0X2FsbG9jX29wcyBwdF9v cHMgX19tZW1pbml0ZGF0YTsKIAogcGdkX3Qgc3dhcHBlcl9wZ19kaXJbUFRSU19QRVJfUEdEXSBf X3BhZ2VfYWxpZ25lZF9ic3M7CiBwZ2RfdCB0cmFtcG9saW5lX3BnX2RpcltQVFJTX1BFUl9QR0Rd IF9fcGFnZV9hbGlnbmVkX2JzczsKQEAgLTM1OSw3ICszNTksNyBAQCBzdGF0aWMgaW5saW5lIHB0 ZV90ICpfX2luaXQgZ2V0X3B0ZV92aXJ0X2ZpeG1hcChwaHlzX2FkZHJfdCBwYSkKIAlyZXR1cm4g KHB0ZV90ICopc2V0X2ZpeG1hcF9vZmZzZXQoRklYX1BURSwgcGEpOwogfQogCi1zdGF0aWMgaW5s aW5lIHB0ZV90ICpfX2luaXQgZ2V0X3B0ZV92aXJ0X2xhdGUocGh5c19hZGRyX3QgcGEpCitzdGF0 aWMgaW5saW5lIHB0ZV90ICpfX21lbWluaXQgZ2V0X3B0ZV92aXJ0X2xhdGUocGh5c19hZGRyX3Qg cGEpCiB7CiAJcmV0dXJuIChwdGVfdCAqKSBfX3ZhKHBhKTsKIH0KQEAgLTM3OCw3ICszNzgsNyBA QCBzdGF0aWMgaW5saW5lIHBoeXNfYWRkcl90IF9faW5pdCBhbGxvY19wdGVfZml4bWFwKHVpbnRw dHJfdCB2YSkKIAlyZXR1cm4gbWVtYmxvY2tfcGh5c19hbGxvYyhQQUdFX1NJWkUsIFBBR0VfU0la RSk7CiB9CiAKLXN0YXRpYyBwaHlzX2FkZHJfdCBfX2luaXQgYWxsb2NfcHRlX2xhdGUodWludHB0 cl90IHZhKQorc3RhdGljIHBoeXNfYWRkcl90IF9fbWVtaW5pdCBhbGxvY19wdGVfbGF0ZSh1aW50 cHRyX3QgdmEpCiB7CiAJc3RydWN0IHB0ZGVzYyAqcHRkZXNjID0gcGFnZXRhYmxlX2FsbG9jKEdG UF9LRVJORUwgJiB+X19HRlBfSElHSE1FTSwgMCk7CiAKQEAgLTM4Niw5ICszODYsOCBAQCBzdGF0 aWMgcGh5c19hZGRyX3QgX19pbml0IGFsbG9jX3B0ZV9sYXRlKHVpbnRwdHJfdCB2YSkKIAlyZXR1 cm4gX19wYSgocHRlX3QgKilwdGRlc2NfYWRkcmVzcyhwdGRlc2MpKTsKIH0KIAotc3RhdGljIHZv aWQgX19pbml0IGNyZWF0ZV9wdGVfbWFwcGluZyhwdGVfdCAqcHRlcCwKLQkJCQkgICAgICB1aW50 cHRyX3QgdmEsIHBoeXNfYWRkcl90IHBhLAotCQkJCSAgICAgIHBoeXNfYWRkcl90IHN6LCBwZ3By b3RfdCBwcm90KQorc3RhdGljIHZvaWQgX19tZW1pbml0IGNyZWF0ZV9wdGVfbWFwcGluZyhwdGVf dCAqcHRlcCwgdWludHB0cl90IHZhLCBwaHlzX2FkZHJfdCBwYSwgcGh5c19hZGRyX3Qgc3osCisJ CQkJCSBwZ3Byb3RfdCBwcm90KQogewogCXVpbnRwdHJfdCBwdGVfaWR4ID0gcHRlX2luZGV4KHZh KTsKIApAQCAtNDQyLDcgKzQ0MSw3IEBAIHN0YXRpYyBwbWRfdCAqX19pbml0IGdldF9wbWRfdmly dF9maXhtYXAocGh5c19hZGRyX3QgcGEpCiAJcmV0dXJuIChwbWRfdCAqKXNldF9maXhtYXBfb2Zm c2V0KEZJWF9QTUQsIHBhKTsKIH0KIAotc3RhdGljIHBtZF90ICpfX2luaXQgZ2V0X3BtZF92aXJ0 X2xhdGUocGh5c19hZGRyX3QgcGEpCitzdGF0aWMgcG1kX3QgKl9fbWVtaW5pdCBnZXRfcG1kX3Zp cnRfbGF0ZShwaHlzX2FkZHJfdCBwYSkKIHsKIAlyZXR1cm4gKHBtZF90ICopIF9fdmEocGEpOwog fQpAQCAtNDU5LDcgKzQ1OCw3IEBAIHN0YXRpYyBwaHlzX2FkZHJfdCBfX2luaXQgYWxsb2NfcG1k X2ZpeG1hcCh1aW50cHRyX3QgdmEpCiAJcmV0dXJuIG1lbWJsb2NrX3BoeXNfYWxsb2MoUEFHRV9T SVpFLCBQQUdFX1NJWkUpOwogfQogCi1zdGF0aWMgcGh5c19hZGRyX3QgX19pbml0IGFsbG9jX3Bt ZF9sYXRlKHVpbnRwdHJfdCB2YSkKK3N0YXRpYyBwaHlzX2FkZHJfdCBfX21lbWluaXQgYWxsb2Nf cG1kX2xhdGUodWludHB0cl90IHZhKQogewogCXN0cnVjdCBwdGRlc2MgKnB0ZGVzYyA9IHBhZ2V0 YWJsZV9hbGxvYyhHRlBfS0VSTkVMICYgfl9fR0ZQX0hJR0hNRU0sIDApOwogCkBAIC00NjcsOSAr NDY2LDkgQEAgc3RhdGljIHBoeXNfYWRkcl90IF9faW5pdCBhbGxvY19wbWRfbGF0ZSh1aW50cHRy X3QgdmEpCiAJcmV0dXJuIF9fcGEoKHBtZF90ICopcHRkZXNjX2FkZHJlc3MocHRkZXNjKSk7CiB9 CiAKLXN0YXRpYyB2b2lkIF9faW5pdCBjcmVhdGVfcG1kX21hcHBpbmcocG1kX3QgKnBtZHAsCi0J CQkJICAgICAgdWludHB0cl90IHZhLCBwaHlzX2FkZHJfdCBwYSwKLQkJCQkgICAgICBwaHlzX2Fk ZHJfdCBzeiwgcGdwcm90X3QgcHJvdCkKK3N0YXRpYyB2b2lkIF9fbWVtaW5pdCBjcmVhdGVfcG1k X21hcHBpbmcocG1kX3QgKnBtZHAsCisJCQkJCSB1aW50cHRyX3QgdmEsIHBoeXNfYWRkcl90IHBh LAorCQkJCQkgcGh5c19hZGRyX3Qgc3osIHBncHJvdF90IHByb3QpCiB7CiAJcHRlX3QgKnB0ZXA7 CiAJcGh5c19hZGRyX3QgcHRlX3BoeXM7CkBAIC01MDUsNyArNTA0LDcgQEAgc3RhdGljIHB1ZF90 ICpfX2luaXQgZ2V0X3B1ZF92aXJ0X2ZpeG1hcChwaHlzX2FkZHJfdCBwYSkKIAlyZXR1cm4gKHB1 ZF90ICopc2V0X2ZpeG1hcF9vZmZzZXQoRklYX1BVRCwgcGEpOwogfQogCi1zdGF0aWMgcHVkX3Qg Kl9faW5pdCBnZXRfcHVkX3ZpcnRfbGF0ZShwaHlzX2FkZHJfdCBwYSkKK3N0YXRpYyBwdWRfdCAq X19tZW1pbml0IGdldF9wdWRfdmlydF9sYXRlKHBoeXNfYWRkcl90IHBhKQogewogCXJldHVybiAo cHVkX3QgKilfX3ZhKHBhKTsKIH0KQEAgLTUyMyw3ICs1MjIsNyBAQCBzdGF0aWMgcGh5c19hZGRy X3QgX19pbml0IGFsbG9jX3B1ZF9maXhtYXAodWludHB0cl90IHZhKQogCXJldHVybiBtZW1ibG9j a19waHlzX2FsbG9jKFBBR0VfU0laRSwgUEFHRV9TSVpFKTsKIH0KIAotc3RhdGljIHBoeXNfYWRk cl90IGFsbG9jX3B1ZF9sYXRlKHVpbnRwdHJfdCB2YSkKK3N0YXRpYyBwaHlzX2FkZHJfdCBfX21l bWluaXQgYWxsb2NfcHVkX2xhdGUodWludHB0cl90IHZhKQogewogCXVuc2lnbmVkIGxvbmcgdmFk ZHI7CiAKQEAgLTU0Myw3ICs1NDIsNyBAQCBzdGF0aWMgcDRkX3QgKl9faW5pdCBnZXRfcDRkX3Zp cnRfZml4bWFwKHBoeXNfYWRkcl90IHBhKQogCXJldHVybiAocDRkX3QgKilzZXRfZml4bWFwX29m ZnNldChGSVhfUDRELCBwYSk7CiB9CiAKLXN0YXRpYyBwNGRfdCAqX19pbml0IGdldF9wNGRfdmly dF9sYXRlKHBoeXNfYWRkcl90IHBhKQorc3RhdGljIHA0ZF90ICpfX21lbWluaXQgZ2V0X3A0ZF92 aXJ0X2xhdGUocGh5c19hZGRyX3QgcGEpCiB7CiAJcmV0dXJuIChwNGRfdCAqKV9fdmEocGEpOwog fQpAQCAtNTYxLDcgKzU2MCw3IEBAIHN0YXRpYyBwaHlzX2FkZHJfdCBfX2luaXQgYWxsb2NfcDRk X2ZpeG1hcCh1aW50cHRyX3QgdmEpCiAJcmV0dXJuIG1lbWJsb2NrX3BoeXNfYWxsb2MoUEFHRV9T SVpFLCBQQUdFX1NJWkUpOwogfQogCi1zdGF0aWMgcGh5c19hZGRyX3QgYWxsb2NfcDRkX2xhdGUo dWludHB0cl90IHZhKQorc3RhdGljIHBoeXNfYWRkcl90IF9fbWVtaW5pdCBhbGxvY19wNGRfbGF0 ZSh1aW50cHRyX3QgdmEpCiB7CiAJdW5zaWduZWQgbG9uZyB2YWRkcjsKIApAQCAtNTcwLDkgKzU2 OSw4IEBAIHN0YXRpYyBwaHlzX2FkZHJfdCBhbGxvY19wNGRfbGF0ZSh1aW50cHRyX3QgdmEpCiAJ cmV0dXJuIF9fcGEodmFkZHIpOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgY3JlYXRlX3B1ZF9t YXBwaW5nKHB1ZF90ICpwdWRwLAotCQkJCSAgICAgIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3Qg cGEsCi0JCQkJICAgICAgcGh5c19hZGRyX3Qgc3osIHBncHJvdF90IHByb3QpCitzdGF0aWMgdm9p ZCBfX21lbWluaXQgY3JlYXRlX3B1ZF9tYXBwaW5nKHB1ZF90ICpwdWRwLCB1aW50cHRyX3QgdmEs IHBoeXNfYWRkcl90IHBhLCBwaHlzX2FkZHJfdCBzeiwKKwkJCQkJIHBncHJvdF90IHByb3QpCiB7 CiAJcG1kX3QgKm5leHRwOwogCXBoeXNfYWRkcl90IG5leHRfcGh5czsKQEAgLTU5Nyw5ICs1OTUs OCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgY3JlYXRlX3B1ZF9tYXBwaW5nKHB1ZF90ICpwdWRwLAog CWNyZWF0ZV9wbWRfbWFwcGluZyhuZXh0cCwgdmEsIHBhLCBzeiwgcHJvdCk7CiB9CiAKLXN0YXRp YyB2b2lkIF9faW5pdCBjcmVhdGVfcDRkX21hcHBpbmcocDRkX3QgKnA0ZHAsCi0JCQkJICAgICAg dWludHB0cl90IHZhLCBwaHlzX2FkZHJfdCBwYSwKLQkJCQkgICAgICBwaHlzX2FkZHJfdCBzeiwg cGdwcm90X3QgcHJvdCkKK3N0YXRpYyB2b2lkIF9fbWVtaW5pdCBjcmVhdGVfcDRkX21hcHBpbmco cDRkX3QgKnA0ZHAsIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3QgcGEsIHBoeXNfYWRkcl90IHN6 LAorCQkJCQkgcGdwcm90X3QgcHJvdCkKIHsKIAlwdWRfdCAqbmV4dHA7CiAJcGh5c19hZGRyX3Qg bmV4dF9waHlzOwpAQCAtNjU1LDkgKzY1Miw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBjcmVhdGVf cDRkX21hcHBpbmcocDRkX3QgKnA0ZHAsCiAjZGVmaW5lIGNyZWF0ZV9wbWRfbWFwcGluZyhfX3Bt ZHAsIF9fdmEsIF9fcGEsIF9fc3osIF9fcHJvdCkgZG8ge30gd2hpbGUoMCkKICNlbmRpZiAvKiBf X1BBR0VUQUJMRV9QTURfRk9MREVEICovCiAKLXZvaWQgX19pbml0IGNyZWF0ZV9wZ2RfbWFwcGlu ZyhwZ2RfdCAqcGdkcCwKLQkJCQkgICAgICB1aW50cHRyX3QgdmEsIHBoeXNfYWRkcl90IHBhLAot CQkJCSAgICAgIHBoeXNfYWRkcl90IHN6LCBwZ3Byb3RfdCBwcm90KQordm9pZCBfX21lbWluaXQg Y3JlYXRlX3BnZF9tYXBwaW5nKHBnZF90ICpwZ2RwLCB1aW50cHRyX3QgdmEsIHBoeXNfYWRkcl90 IHBhLCBwaHlzX2FkZHJfdCBzeiwKKwkJCQkgIHBncHJvdF90IHByb3QpCiB7CiAJcGdkX25leHRf dCAqbmV4dHA7CiAJcGh5c19hZGRyX3QgbmV4dF9waHlzOwpAQCAtNjgyLDggKzY3OCw3IEBAIHZv aWQgX19pbml0IGNyZWF0ZV9wZ2RfbWFwcGluZyhwZ2RfdCAqcGdkcCwKIAljcmVhdGVfcGdkX25l eHRfbWFwcGluZyhuZXh0cCwgdmEsIHBhLCBzeiwgcHJvdCk7CiB9CiAKLXN0YXRpYyB1aW50cHRy X3QgX19pbml0IGJlc3RfbWFwX3NpemUocGh5c19hZGRyX3QgcGEsIHVpbnRwdHJfdCB2YSwKLQkJ CQkgICAgICBwaHlzX2FkZHJfdCBzaXplKQorc3RhdGljIHVpbnRwdHJfdCBfX21lbWluaXQgYmVz dF9tYXBfc2l6ZShwaHlzX2FkZHJfdCBwYSwgdWludHB0cl90IHZhLCBwaHlzX2FkZHJfdCBzaXpl KQogewogCWlmIChkZWJ1Z19wYWdlYWxsb2NfZW5hYmxlZCgpKQogCQlyZXR1cm4gUEFHRV9TSVpF OwpAQCAtNzE5LDcgKzcxNCw3IEBAIGFzbWxpbmthZ2Ugdm9pZCBfX2luaXQgX19jb3B5X2RhdGEo dm9pZCkKICNlbmRpZgogCiAjaWZkZWYgQ09ORklHX1NUUklDVF9LRVJORUxfUldYCi1zdGF0aWMg X19pbml0IHBncHJvdF90IHBncHJvdF9mcm9tX3ZhKHVpbnRwdHJfdCB2YSkKK3N0YXRpYyBfX21l bWluaXQgcGdwcm90X3QgcGdwcm90X2Zyb21fdmEodWludHB0cl90IHZhKQogewogCWlmIChpc192 YV9rZXJuZWxfdGV4dCh2YSkpCiAJCXJldHVybiBQQUdFX0tFUk5FTF9SRUFEX0VYRUM7CkBAIC03 NDQsNyArNzM5LDcgQEAgdm9pZCBtYXJrX3JvZGF0YV9ybyh2b2lkKQogCQkJCSAgc2V0X21lbW9y eV9ybyk7CiB9CiAjZWxzZQotc3RhdGljIF9faW5pdCBwZ3Byb3RfdCBwZ3Byb3RfZnJvbV92YSh1 aW50cHRyX3QgdmEpCitzdGF0aWMgX19tZW1pbml0IHBncHJvdF90IHBncHJvdF9mcm9tX3ZhKHVp bnRwdHJfdCB2YSkKIHsKIAlpZiAoSVNfRU5BQkxFRChDT05GSUdfNjRCSVQpICYmICFpc19rZXJu ZWxfbWFwcGluZyh2YSkpCiAJCXJldHVybiBQQUdFX0tFUk5FTDsKQEAgLTEyMzYsOSArMTIzMSw4 IEBAIGFzbWxpbmthZ2Ugdm9pZCBfX2luaXQgc2V0dXBfdm0odWludHB0cl90IGR0Yl9wYSkKIAlw dF9vcHNfc2V0X2ZpeG1hcCgpOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgY3JlYXRlX2xpbmVh cl9tYXBwaW5nX3JhbmdlKHBoeXNfYWRkcl90IHN0YXJ0LAotCQkJCQkgICAgICAgcGh5c19hZGRy X3QgZW5kLAotCQkJCQkgICAgICAgdWludHB0cl90IGZpeGVkX21hcF9zaXplKQorc3RhdGljIHZv aWQgX19tZW1pbml0IGNyZWF0ZV9saW5lYXJfbWFwcGluZ19yYW5nZShwaHlzX2FkZHJfdCBzdGFy dCwgcGh5c19hZGRyX3QgZW5kLAorCQkJCQkJICB1aW50cHRyX3QgZml4ZWRfbWFwX3NpemUpCiB7 CiAJcGh5c19hZGRyX3QgcGE7CiAJdWludHB0cl90IHZhLCBtYXBfc2l6ZTsKLS0gCjIuNDMuMAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJp c2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1723190079 for ; Wed, 5 Jun 2024 11:41:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.211.166.133 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717587695; cv=none; b=B4BcQVrt9iFtE28obN7C2Law6DMlylx50X4TBQN6JhLcc52aBatxaEGApTLWgw6NlzaPvC8Vox7rtBHO3PTmgbG6vjctwGXpLZBbK9ummMpTbeFLUJILXPgv1jKkD0mejLzFBiQZkQ3wmThmqZLEDwjYuI+8/UF/0shm0Qg0CS8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717587695; c=relaxed/simple; bh=MFof7xn/oSifUp6j3V5p4AYP/CSYuS80BqueZAmmuuA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=XeQXzptr5aZU+YiuYfdBPqsZgEtfWPgyvoR3M0ppOUbojCQH1Y5p44uRX5uLtZYIQ9nuN8u/Q6Soinn0aMzIO4+xbPchPccS2WXGrz/585vgOsnxVDFn/H44AEDorB2G5KNDJ/qWUjlSMYmdgQDWtpxXZMlW1WayMdTCNXpvtoc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pbFVgcWH; arc=none smtp.client-ip=140.211.166.133 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="pbFVgcWH" Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 6755340AF6 for ; Wed, 5 Jun 2024 11:41:33 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org X-Spam-Flag: NO X-Spam-Score: -4.401 X-Spam-Level: Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id KX2DGyxd2-QE for ; Wed, 5 Jun 2024 11:41:32 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=145.40.73.55; helo=sin.source.kernel.org; envelope-from=bjorn@kernel.org; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp2.osuosl.org C003F40B24 Authentication-Results: smtp2.osuosl.org; dmarc=pass (p=none dis=none) header.from=kernel.org DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org C003F40B24 Authentication-Results: smtp2.osuosl.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=pbFVgcWH Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by smtp2.osuosl.org (Postfix) with ESMTPS id C003F40B24 for ; Wed, 5 Jun 2024 11:41:31 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 6F2F8CE176A; Wed, 5 Jun 2024 11:41:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5382CC32786; Wed, 5 Jun 2024 11:41:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1717587688; bh=MFof7xn/oSifUp6j3V5p4AYP/CSYuS80BqueZAmmuuA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pbFVgcWHRiy8pGFDtngTEv5eU6zwJP5WKhapkZnCc2mI03cZWTm4GzvL8iv/Je5MF oWk3OVTiG83nP8OWaGHrdw+5nwhzAkmJrNMIcwNMLOvmZu8MZUQ3BNkaksv1UyWJ2i OYHMGVswkTwTQSes3oSvy40gJcpCLSJ6ma+leHj6n4bikuN++iRIG+IUTthtz2pvuW 2JSchG9gqfdrCInzs6Ty2xoH4RRiofEW1UNYJg3Hra555cYeBPfDkvtDjGE+GxD9yg JvfaSOCKVfspDfSQ+OxaRJt1zHhTct51b72y77qW2EuFj7hJNM9yFEpFwX7z/m+z9v Wc79Ge1oe18gA== From: =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= To: Alexandre Ghiti , Albert Ou , David Hildenbrand , Palmer Dabbelt , Paul Walmsley , linux-riscv@lists.infradead.org, Oscar Salvador Cc: =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Andrew Bresticker , Chethan Seshadri , Lorenzo Stoakes , Santosh Mamila , Sivakumar Munnangi , Sunil V L , linux-kernel@vger.kernel.org, linux-mm@kvack.org, virtualization@lists.linux-foundation.org Subject: [PATCH v4 03/11] riscv: mm: Change attribute from __init to __meminit for page functions Date: Wed, 5 Jun 2024 13:40:46 +0200 Message-ID: <20240605114100.315918-4-bjorn@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240605114100.315918-1-bjorn@kernel.org> References: <20240605114100.315918-1-bjorn@kernel.org> Precedence: bulk X-Mailing-List: virtualization@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Björn Töpel Prepare for memory hotplugging support by changing from __init to __meminit for the page table functions that are used by the upcoming architecture specific callbacks. Changing the __init attribute to __meminit, avoids that the functions are removed after init. The __meminit attribute makes sure the functions are kept in the kernel text post init, but only if memory hotplugging is enabled for the build. Reviewed-by: Alexandre Ghiti Reviewed-by: David Hildenbrand Reviewed-by: Oscar Salvador Signed-off-by: Björn Töpel --- arch/riscv/include/asm/mmu.h | 4 +-- arch/riscv/include/asm/pgtable.h | 2 +- arch/riscv/mm/init.c | 56 ++++++++++++++------------------ 3 files changed, 28 insertions(+), 34 deletions(-) diff --git a/arch/riscv/include/asm/mmu.h b/arch/riscv/include/asm/mmu.h index 947fd60f9051..c9e03e9da3dc 100644 --- a/arch/riscv/include/asm/mmu.h +++ b/arch/riscv/include/asm/mmu.h @@ -31,8 +31,8 @@ typedef struct { #define cntx2asid(cntx) ((cntx) & SATP_ASID_MASK) #define cntx2version(cntx) ((cntx) & ~SATP_ASID_MASK) -void __init create_pgd_mapping(pgd_t *pgdp, uintptr_t va, phys_addr_t pa, - phys_addr_t sz, pgprot_t prot); +void __meminit create_pgd_mapping(pgd_t *pgdp, uintptr_t va, phys_addr_t pa, phys_addr_t sz, + pgprot_t prot); #endif /* __ASSEMBLY__ */ #endif /* _ASM_RISCV_MMU_H */ diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h index aad8b8ca51f1..41f1b2c6f949 100644 --- a/arch/riscv/include/asm/pgtable.h +++ b/arch/riscv/include/asm/pgtable.h @@ -165,7 +165,7 @@ struct pt_alloc_ops { #endif }; -extern struct pt_alloc_ops pt_ops __initdata; +extern struct pt_alloc_ops pt_ops __meminitdata; #ifdef CONFIG_MMU /* Number of PGD entries that a user-mode program can use */ diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c index a5b3bc1f3b88..0dd04cedc0d2 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -297,7 +297,7 @@ static void __init setup_bootmem(void) } #ifdef CONFIG_MMU -struct pt_alloc_ops pt_ops __initdata; +struct pt_alloc_ops pt_ops __meminitdata; pgd_t swapper_pg_dir[PTRS_PER_PGD] __page_aligned_bss; pgd_t trampoline_pg_dir[PTRS_PER_PGD] __page_aligned_bss; @@ -359,7 +359,7 @@ static inline pte_t *__init get_pte_virt_fixmap(phys_addr_t pa) return (pte_t *)set_fixmap_offset(FIX_PTE, pa); } -static inline pte_t *__init get_pte_virt_late(phys_addr_t pa) +static inline pte_t *__meminit get_pte_virt_late(phys_addr_t pa) { return (pte_t *) __va(pa); } @@ -378,7 +378,7 @@ static inline phys_addr_t __init alloc_pte_fixmap(uintptr_t va) return memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE); } -static phys_addr_t __init alloc_pte_late(uintptr_t va) +static phys_addr_t __meminit alloc_pte_late(uintptr_t va) { struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM, 0); @@ -386,9 +386,8 @@ static phys_addr_t __init alloc_pte_late(uintptr_t va) return __pa((pte_t *)ptdesc_address(ptdesc)); } -static void __init create_pte_mapping(pte_t *ptep, - uintptr_t va, phys_addr_t pa, - phys_addr_t sz, pgprot_t prot) +static void __meminit create_pte_mapping(pte_t *ptep, uintptr_t va, phys_addr_t pa, phys_addr_t sz, + pgprot_t prot) { uintptr_t pte_idx = pte_index(va); @@ -442,7 +441,7 @@ static pmd_t *__init get_pmd_virt_fixmap(phys_addr_t pa) return (pmd_t *)set_fixmap_offset(FIX_PMD, pa); } -static pmd_t *__init get_pmd_virt_late(phys_addr_t pa) +static pmd_t *__meminit get_pmd_virt_late(phys_addr_t pa) { return (pmd_t *) __va(pa); } @@ -459,7 +458,7 @@ static phys_addr_t __init alloc_pmd_fixmap(uintptr_t va) return memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE); } -static phys_addr_t __init alloc_pmd_late(uintptr_t va) +static phys_addr_t __meminit alloc_pmd_late(uintptr_t va) { struct ptdesc *ptdesc = pagetable_alloc(GFP_KERNEL & ~__GFP_HIGHMEM, 0); @@ -467,9 +466,9 @@ static phys_addr_t __init alloc_pmd_late(uintptr_t va) return __pa((pmd_t *)ptdesc_address(ptdesc)); } -static void __init create_pmd_mapping(pmd_t *pmdp, - uintptr_t va, phys_addr_t pa, - phys_addr_t sz, pgprot_t prot) +static void __meminit create_pmd_mapping(pmd_t *pmdp, + uintptr_t va, phys_addr_t pa, + phys_addr_t sz, pgprot_t prot) { pte_t *ptep; phys_addr_t pte_phys; @@ -505,7 +504,7 @@ static pud_t *__init get_pud_virt_fixmap(phys_addr_t pa) return (pud_t *)set_fixmap_offset(FIX_PUD, pa); } -static pud_t *__init get_pud_virt_late(phys_addr_t pa) +static pud_t *__meminit get_pud_virt_late(phys_addr_t pa) { return (pud_t *)__va(pa); } @@ -523,7 +522,7 @@ static phys_addr_t __init alloc_pud_fixmap(uintptr_t va) return memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE); } -static phys_addr_t alloc_pud_late(uintptr_t va) +static phys_addr_t __meminit alloc_pud_late(uintptr_t va) { unsigned long vaddr; @@ -543,7 +542,7 @@ static p4d_t *__init get_p4d_virt_fixmap(phys_addr_t pa) return (p4d_t *)set_fixmap_offset(FIX_P4D, pa); } -static p4d_t *__init get_p4d_virt_late(phys_addr_t pa) +static p4d_t *__meminit get_p4d_virt_late(phys_addr_t pa) { return (p4d_t *)__va(pa); } @@ -561,7 +560,7 @@ static phys_addr_t __init alloc_p4d_fixmap(uintptr_t va) return memblock_phys_alloc(PAGE_SIZE, PAGE_SIZE); } -static phys_addr_t alloc_p4d_late(uintptr_t va) +static phys_addr_t __meminit alloc_p4d_late(uintptr_t va) { unsigned long vaddr; @@ -570,9 +569,8 @@ static phys_addr_t alloc_p4d_late(uintptr_t va) return __pa(vaddr); } -static void __init create_pud_mapping(pud_t *pudp, - uintptr_t va, phys_addr_t pa, - phys_addr_t sz, pgprot_t prot) +static void __meminit create_pud_mapping(pud_t *pudp, uintptr_t va, phys_addr_t pa, phys_addr_t sz, + pgprot_t prot) { pmd_t *nextp; phys_addr_t next_phys; @@ -597,9 +595,8 @@ static void __init create_pud_mapping(pud_t *pudp, create_pmd_mapping(nextp, va, pa, sz, prot); } -static void __init create_p4d_mapping(p4d_t *p4dp, - uintptr_t va, phys_addr_t pa, - phys_addr_t sz, pgprot_t prot) +static void __meminit create_p4d_mapping(p4d_t *p4dp, uintptr_t va, phys_addr_t pa, phys_addr_t sz, + pgprot_t prot) { pud_t *nextp; phys_addr_t next_phys; @@ -655,9 +652,8 @@ static void __init create_p4d_mapping(p4d_t *p4dp, #define create_pmd_mapping(__pmdp, __va, __pa, __sz, __prot) do {} while(0) #endif /* __PAGETABLE_PMD_FOLDED */ -void __init create_pgd_mapping(pgd_t *pgdp, - uintptr_t va, phys_addr_t pa, - phys_addr_t sz, pgprot_t prot) +void __meminit create_pgd_mapping(pgd_t *pgdp, uintptr_t va, phys_addr_t pa, phys_addr_t sz, + pgprot_t prot) { pgd_next_t *nextp; phys_addr_t next_phys; @@ -682,8 +678,7 @@ void __init create_pgd_mapping(pgd_t *pgdp, create_pgd_next_mapping(nextp, va, pa, sz, prot); } -static uintptr_t __init best_map_size(phys_addr_t pa, uintptr_t va, - phys_addr_t size) +static uintptr_t __meminit best_map_size(phys_addr_t pa, uintptr_t va, phys_addr_t size) { if (debug_pagealloc_enabled()) return PAGE_SIZE; @@ -719,7 +714,7 @@ asmlinkage void __init __copy_data(void) #endif #ifdef CONFIG_STRICT_KERNEL_RWX -static __init pgprot_t pgprot_from_va(uintptr_t va) +static __meminit pgprot_t pgprot_from_va(uintptr_t va) { if (is_va_kernel_text(va)) return PAGE_KERNEL_READ_EXEC; @@ -744,7 +739,7 @@ void mark_rodata_ro(void) set_memory_ro); } #else -static __init pgprot_t pgprot_from_va(uintptr_t va) +static __meminit pgprot_t pgprot_from_va(uintptr_t va) { if (IS_ENABLED(CONFIG_64BIT) && !is_kernel_mapping(va)) return PAGE_KERNEL; @@ -1236,9 +1231,8 @@ asmlinkage void __init setup_vm(uintptr_t dtb_pa) pt_ops_set_fixmap(); } -static void __init create_linear_mapping_range(phys_addr_t start, - phys_addr_t end, - uintptr_t fixed_map_size) +static void __meminit create_linear_mapping_range(phys_addr_t start, phys_addr_t end, + uintptr_t fixed_map_size) { phys_addr_t pa; uintptr_t va, map_size; -- 2.43.0