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 12DC0C25B75 for ; Tue, 14 May 2024 14:05:23 +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=4nZ3G+JLt6PeY7hSpVg3myjcbS/dNSt217wOIMTrHAI=; b=AWx1CX3M15KQLm t67JSDiAznsD60yPiAdulgogkQtEi/S1LCxSbW3ruy3Spf/fOjMZDPL0BmVk6GBMehwUDFXLSNbyw B/Z9ujYbZORMmWptYYFghen3nG372XtLigfyPtdTIHyqT2sgnUlrj1W6p+iIG6B2hocdxuYJP+wcT 7PAq2JsfEivHbLY0EwKC7dTiKuu6nB8pPQ1bT0jEV3qPsE3O/RlFOWG7rYnasI4n6T+ggwzyke7Ng 2rbLTx6HS1M5Fhg5DQyGD+Djt/PNh1ET/LtgEWFxAArOjdqOcioFAhKZwJ/WFYYU7n/aJGO/ghIwQ vAThUL4sBSW/ZTdPVk2w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s6smM-0000000G7Uc-0iXn; Tue, 14 May 2024 14:05:18 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s6smI-0000000G7Ri-1C4c for linux-riscv@lists.infradead.org; Tue, 14 May 2024 14:05:16 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id BB79261263; Tue, 14 May 2024 14:05:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9ABF4C32782; Tue, 14 May 2024 14:05:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1715695513; bh=TaDiQetQybqKd6ZxR/jcE5PkU8hQbMlo+vFY+ZDy3zE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Um6pxZBb03VIozcHaKKyM/e7rsrF2bB7BRxYDLJp7hWQla6fuSi8TPOnXKDNIPa56 DMA6SCQqLJvrf9NPtQQa3VDNIg3QbcaUzxenDWFXHcy7WZ+e9lijNqsV1qEuKedsCj fhMgKGD4nqxmx88Pdfkw7QlsmYYUk1nO9c47s/UIXGvNBuqd/42g3ZEPlTu0yF+Uhn BzU437TCi2CekrhYc2nT6ojxNdLYrUlwfGcJsofv+Rl8Qf8Q4BeOiRki3hU/ihNoo/ CQZHkziFcg/X+M1WW5G561IkP3VC6xbOqRHxvURTL4ZpvQyOc5rHaDhZt9wGsJy2hU g9z/70AL1e2Wg== 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 Subject: [PATCH v2 2/8] riscv: mm: Change attribute from __init to __meminit for page functions Date: Tue, 14 May 2024 16:04:40 +0200 Message-Id: <20240514140446.538622-3-bjorn@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240514140446.538622-1-bjorn@kernel.org> References: <20240514140446.538622-1-bjorn@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240514_070514_606995_5FB4913F X-CRM114-Status: GOOD ( 16.34 ) 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, Oscar Salvador 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 bHkgaWYgbWVtb3J5CmhvdHBsdWdnaW5nIGlzIGVuYWJsZWQgZm9yIHRoZSBidWlsZC4KCkFsc28s IG1ha2Ugc3VyZSB0aGF0IHRoZSBhbHRtYXAgcGFyYW1ldGVyIGlzIHByb3Blcmx5IHBhc3NlZCBv biB0bwp2bWVtbWFwX3BvcHVsYXRlX2h1Z2VwYWdlcygpLgoKU2lnbmVkLW9mZi1ieTogQmrDtnJu IFTDtnBlbCA8Ympvcm5Acml2b3NpbmMuY29tPgotLS0KIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20v bW11LmggICAgIHwgIDQgKy0tCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaCB8ICAy ICstCiBhcmNoL3Jpc2N2L21tL2luaXQuYyAgICAgICAgICAgICB8IDU4ICsrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDM1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vbW11Lmgg Yi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL21tdS5oCmluZGV4IDYwYmU0NThlOTRkYS4uYzA5YzNj NzlmNDk2IDEwMDY0NAotLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL21tdS5oCisrKyBiL2Fy Y2gvcmlzY3YvaW5jbHVkZS9hc20vbW11LmgKQEAgLTI4LDggKzI4LDggQEAgdHlwZWRlZiBzdHJ1 Y3QgewogI2VuZGlmCiB9IG1tX2NvbnRleHRfdDsKIAotdm9pZCBfX2luaXQgY3JlYXRlX3BnZF9t YXBwaW5nKHBnZF90ICpwZ2RwLCB1aW50cHRyX3QgdmEsIHBoeXNfYWRkcl90IHBhLAotCQkJICAg ICAgIHBoeXNfYWRkcl90IHN6LCBwZ3Byb3RfdCBwcm90KTsKK3ZvaWQgX19tZW1pbml0IGNyZWF0 ZV9wZ2RfbWFwcGluZyhwZ2RfdCAqcGdkcCwgdWludHB0cl90IHZhLCBwaHlzX2FkZHJfdCBwYSwg cGh5c19hZGRyX3Qgc3osCisJCQkJICBwZ3Byb3RfdCBwcm90KTsKICNlbmRpZiAvKiBfX0FTU0VN QkxZX18gKi8KIAogI2VuZGlmIC8qIF9BU01fUklTQ1ZfTU1VX0ggKi8KZGlmZiAtLWdpdCBhL2Fy Y2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9w Z3RhYmxlLmgKaW5kZXggNThmZDdiNzBiOTAzLi43OTMzZjQ5M2RiNzEgMTAwNjQ0Ci0tLSBhL2Fy Y2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oCisrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9h c20vcGd0YWJsZS5oCkBAIC0xNjIsNyArMTYyLDcgQEAgc3RydWN0IHB0X2FsbG9jX29wcyB7CiAj ZW5kaWYKIH07CiAKLWV4dGVybiBzdHJ1Y3QgcHRfYWxsb2Nfb3BzIHB0X29wcyBfX2luaXRkYXRh OworZXh0ZXJuIHN0cnVjdCBwdF9hbGxvY19vcHMgcHRfb3BzIF9fbWVtaW5pdGRhdGE7CiAKICNp ZmRlZiBDT05GSUdfTU1VCiAvKiBOdW1iZXIgb2YgUEdEIGVudHJpZXMgdGhhdCBhIHVzZXItbW9k ZSBwcm9ncmFtIGNhbiB1c2UgKi8KZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbW0vaW5pdC5jIGIv YXJjaC9yaXNjdi9tbS9pbml0LmMKaW5kZXggNWI4Y2RmYWZiNTJhLi5jOTY5NDI3ZWFiODggMTAw NjQ0Ci0tLSBhL2FyY2gvcmlzY3YvbW0vaW5pdC5jCisrKyBiL2FyY2gvcmlzY3YvbW0vaW5pdC5j CkBAIC0yOTUsNyArMjk1LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IHNldHVwX2Jvb3RtZW0odm9p ZCkKIH0KIAogI2lmZGVmIENPTkZJR19NTVUKLXN0cnVjdCBwdF9hbGxvY19vcHMgcHRfb3BzIF9f aW5pdGRhdGE7CitzdHJ1Y3QgcHRfYWxsb2Nfb3BzIHB0X29wcyBfX21lbWluaXRkYXRhOwogCiBw Z2RfdCBzd2FwcGVyX3BnX2RpcltQVFJTX1BFUl9QR0RdIF9fcGFnZV9hbGlnbmVkX2JzczsKIHBn ZF90IHRyYW1wb2xpbmVfcGdfZGlyW1BUUlNfUEVSX1BHRF0gX19wYWdlX2FsaWduZWRfYnNzOwpA QCAtMzU3LDcgKzM1Nyw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgKl9faW5pdCBnZXRfcHRlX3Zp cnRfZml4bWFwKHBoeXNfYWRkcl90IHBhKQogCXJldHVybiAocHRlX3QgKilzZXRfZml4bWFwX29m ZnNldChGSVhfUFRFLCBwYSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgcHRlX3QgKl9faW5pdCBnZXRf cHRlX3ZpcnRfbGF0ZShwaHlzX2FkZHJfdCBwYSkKK3N0YXRpYyBpbmxpbmUgcHRlX3QgKl9fbWVt aW5pdCBnZXRfcHRlX3ZpcnRfbGF0ZShwaHlzX2FkZHJfdCBwYSkKIHsKIAlyZXR1cm4gKHB0ZV90 ICopIF9fdmEocGEpOwogfQpAQCAtMzc2LDcgKzM3Niw3IEBAIHN0YXRpYyBpbmxpbmUgcGh5c19h ZGRyX3QgX19pbml0IGFsbG9jX3B0ZV9maXhtYXAodWludHB0cl90IHZhKQogCXJldHVybiBtZW1i bG9ja19waHlzX2FsbG9jKFBBR0VfU0laRSwgUEFHRV9TSVpFKTsKIH0KIAotc3RhdGljIHBoeXNf YWRkcl90IF9faW5pdCBhbGxvY19wdGVfbGF0ZSh1aW50cHRyX3QgdmEpCitzdGF0aWMgcGh5c19h ZGRyX3QgX19tZW1pbml0IGFsbG9jX3B0ZV9sYXRlKHVpbnRwdHJfdCB2YSkKIHsKIAlzdHJ1Y3Qg cHRkZXNjICpwdGRlc2MgPSBwYWdldGFibGVfYWxsb2MoR0ZQX0tFUk5FTCAmIH5fX0dGUF9ISUdI TUVNLCAwKTsKIApAQCAtMzg0LDkgKzM4NCw4IEBAIHN0YXRpYyBwaHlzX2FkZHJfdCBfX2luaXQg YWxsb2NfcHRlX2xhdGUodWludHB0cl90IHZhKQogCXJldHVybiBfX3BhKChwdGVfdCAqKXB0ZGVz Y19hZGRyZXNzKHB0ZGVzYykpOwogfQogCi1zdGF0aWMgdm9pZCBfX2luaXQgY3JlYXRlX3B0ZV9t YXBwaW5nKHB0ZV90ICpwdGVwLAotCQkJCSAgICAgIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3Qg cGEsCi0JCQkJICAgICAgcGh5c19hZGRyX3Qgc3osIHBncHJvdF90IHByb3QpCitzdGF0aWMgdm9p ZCBfX21lbWluaXQgY3JlYXRlX3B0ZV9tYXBwaW5nKHB0ZV90ICpwdGVwLCB1aW50cHRyX3QgdmEs IHBoeXNfYWRkcl90IHBhLCBwaHlzX2FkZHJfdCBzeiwKKwkJCQkJIHBncHJvdF90IHByb3QpCiB7 CiAJdWludHB0cl90IHB0ZV9pZHggPSBwdGVfaW5kZXgodmEpOwogCkBAIC00NDAsNyArNDM5LDcg QEAgc3RhdGljIHBtZF90ICpfX2luaXQgZ2V0X3BtZF92aXJ0X2ZpeG1hcChwaHlzX2FkZHJfdCBw YSkKIAlyZXR1cm4gKHBtZF90ICopc2V0X2ZpeG1hcF9vZmZzZXQoRklYX1BNRCwgcGEpOwogfQog Ci1zdGF0aWMgcG1kX3QgKl9faW5pdCBnZXRfcG1kX3ZpcnRfbGF0ZShwaHlzX2FkZHJfdCBwYSkK K3N0YXRpYyBwbWRfdCAqX19tZW1pbml0IGdldF9wbWRfdmlydF9sYXRlKHBoeXNfYWRkcl90IHBh KQogewogCXJldHVybiAocG1kX3QgKikgX192YShwYSk7CiB9CkBAIC00NTcsNyArNDU2LDcgQEAg c3RhdGljIHBoeXNfYWRkcl90IF9faW5pdCBhbGxvY19wbWRfZml4bWFwKHVpbnRwdHJfdCB2YSkK IAlyZXR1cm4gbWVtYmxvY2tfcGh5c19hbGxvYyhQQUdFX1NJWkUsIFBBR0VfU0laRSk7CiB9CiAK LXN0YXRpYyBwaHlzX2FkZHJfdCBfX2luaXQgYWxsb2NfcG1kX2xhdGUodWludHB0cl90IHZhKQor c3RhdGljIHBoeXNfYWRkcl90IF9fbWVtaW5pdCBhbGxvY19wbWRfbGF0ZSh1aW50cHRyX3QgdmEp CiB7CiAJc3RydWN0IHB0ZGVzYyAqcHRkZXNjID0gcGFnZXRhYmxlX2FsbG9jKEdGUF9LRVJORUwg JiB+X19HRlBfSElHSE1FTSwgMCk7CiAKQEAgLTQ2NSw5ICs0NjQsOSBAQCBzdGF0aWMgcGh5c19h ZGRyX3QgX19pbml0IGFsbG9jX3BtZF9sYXRlKHVpbnRwdHJfdCB2YSkKIAlyZXR1cm4gX19wYSgo cG1kX3QgKilwdGRlc2NfYWRkcmVzcyhwdGRlc2MpKTsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0 IGNyZWF0ZV9wbWRfbWFwcGluZyhwbWRfdCAqcG1kcCwKLQkJCQkgICAgICB1aW50cHRyX3QgdmEs IHBoeXNfYWRkcl90IHBhLAotCQkJCSAgICAgIHBoeXNfYWRkcl90IHN6LCBwZ3Byb3RfdCBwcm90 KQorc3RhdGljIHZvaWQgX19tZW1pbml0IGNyZWF0ZV9wbWRfbWFwcGluZyhwbWRfdCAqcG1kcCwK KwkJCQkJIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3QgcGEsCisJCQkJCSBwaHlzX2FkZHJfdCBz eiwgcGdwcm90X3QgcHJvdCkKIHsKIAlwdGVfdCAqcHRlcDsKIAlwaHlzX2FkZHJfdCBwdGVfcGh5 czsKQEAgLTUwMyw3ICs1MDIsNyBAQCBzdGF0aWMgcHVkX3QgKl9faW5pdCBnZXRfcHVkX3ZpcnRf Zml4bWFwKHBoeXNfYWRkcl90IHBhKQogCXJldHVybiAocHVkX3QgKilzZXRfZml4bWFwX29mZnNl dChGSVhfUFVELCBwYSk7CiB9CiAKLXN0YXRpYyBwdWRfdCAqX19pbml0IGdldF9wdWRfdmlydF9s YXRlKHBoeXNfYWRkcl90IHBhKQorc3RhdGljIHB1ZF90ICpfX21lbWluaXQgZ2V0X3B1ZF92aXJ0 X2xhdGUocGh5c19hZGRyX3QgcGEpCiB7CiAJcmV0dXJuIChwdWRfdCAqKV9fdmEocGEpOwogfQpA QCAtNTIxLDcgKzUyMCw3IEBAIHN0YXRpYyBwaHlzX2FkZHJfdCBfX2luaXQgYWxsb2NfcHVkX2Zp eG1hcCh1aW50cHRyX3QgdmEpCiAJcmV0dXJuIG1lbWJsb2NrX3BoeXNfYWxsb2MoUEFHRV9TSVpF LCBQQUdFX1NJWkUpOwogfQogCi1zdGF0aWMgcGh5c19hZGRyX3QgYWxsb2NfcHVkX2xhdGUodWlu dHB0cl90IHZhKQorc3RhdGljIHBoeXNfYWRkcl90IF9fbWVtaW5pdCBhbGxvY19wdWRfbGF0ZSh1 aW50cHRyX3QgdmEpCiB7CiAJdW5zaWduZWQgbG9uZyB2YWRkcjsKIApAQCAtNTQxLDcgKzU0MCw3 IEBAIHN0YXRpYyBwNGRfdCAqX19pbml0IGdldF9wNGRfdmlydF9maXhtYXAocGh5c19hZGRyX3Qg cGEpCiAJcmV0dXJuIChwNGRfdCAqKXNldF9maXhtYXBfb2Zmc2V0KEZJWF9QNEQsIHBhKTsKIH0K IAotc3RhdGljIHA0ZF90ICpfX2luaXQgZ2V0X3A0ZF92aXJ0X2xhdGUocGh5c19hZGRyX3QgcGEp CitzdGF0aWMgcDRkX3QgKl9fbWVtaW5pdCBnZXRfcDRkX3ZpcnRfbGF0ZShwaHlzX2FkZHJfdCBw YSkKIHsKIAlyZXR1cm4gKHA0ZF90ICopX192YShwYSk7CiB9CkBAIC01NTksNyArNTU4LDcgQEAg c3RhdGljIHBoeXNfYWRkcl90IF9faW5pdCBhbGxvY19wNGRfZml4bWFwKHVpbnRwdHJfdCB2YSkK IAlyZXR1cm4gbWVtYmxvY2tfcGh5c19hbGxvYyhQQUdFX1NJWkUsIFBBR0VfU0laRSk7CiB9CiAK LXN0YXRpYyBwaHlzX2FkZHJfdCBhbGxvY19wNGRfbGF0ZSh1aW50cHRyX3QgdmEpCitzdGF0aWMg cGh5c19hZGRyX3QgX19tZW1pbml0IGFsbG9jX3A0ZF9sYXRlKHVpbnRwdHJfdCB2YSkKIHsKIAl1 bnNpZ25lZCBsb25nIHZhZGRyOwogCkBAIC01NjgsOSArNTY3LDggQEAgc3RhdGljIHBoeXNfYWRk cl90IGFsbG9jX3A0ZF9sYXRlKHVpbnRwdHJfdCB2YSkKIAlyZXR1cm4gX19wYSh2YWRkcik7CiB9 CiAKLXN0YXRpYyB2b2lkIF9faW5pdCBjcmVhdGVfcHVkX21hcHBpbmcocHVkX3QgKnB1ZHAsCi0J CQkJICAgICAgdWludHB0cl90IHZhLCBwaHlzX2FkZHJfdCBwYSwKLQkJCQkgICAgICBwaHlzX2Fk ZHJfdCBzeiwgcGdwcm90X3QgcHJvdCkKK3N0YXRpYyB2b2lkIF9fbWVtaW5pdCBjcmVhdGVfcHVk X21hcHBpbmcocHVkX3QgKnB1ZHAsIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3QgcGEsIHBoeXNf YWRkcl90IHN6LAorCQkJCQkgcGdwcm90X3QgcHJvdCkKIHsKIAlwbWRfdCAqbmV4dHA7CiAJcGh5 c19hZGRyX3QgbmV4dF9waHlzOwpAQCAtNTk1LDkgKzU5Myw4IEBAIHN0YXRpYyB2b2lkIF9faW5p dCBjcmVhdGVfcHVkX21hcHBpbmcocHVkX3QgKnB1ZHAsCiAJY3JlYXRlX3BtZF9tYXBwaW5nKG5l eHRwLCB2YSwgcGEsIHN6LCBwcm90KTsKIH0KIAotc3RhdGljIHZvaWQgX19pbml0IGNyZWF0ZV9w NGRfbWFwcGluZyhwNGRfdCAqcDRkcCwKLQkJCQkgICAgICB1aW50cHRyX3QgdmEsIHBoeXNfYWRk cl90IHBhLAotCQkJCSAgICAgIHBoeXNfYWRkcl90IHN6LCBwZ3Byb3RfdCBwcm90KQorc3RhdGlj IHZvaWQgX19tZW1pbml0IGNyZWF0ZV9wNGRfbWFwcGluZyhwNGRfdCAqcDRkcCwgdWludHB0cl90 IHZhLCBwaHlzX2FkZHJfdCBwYSwgcGh5c19hZGRyX3Qgc3osCisJCQkJCSBwZ3Byb3RfdCBwcm90 KQogewogCXB1ZF90ICpuZXh0cDsKIAlwaHlzX2FkZHJfdCBuZXh0X3BoeXM7CkBAIC02NTMsOSAr NjUwLDggQEAgc3RhdGljIHZvaWQgX19pbml0IGNyZWF0ZV9wNGRfbWFwcGluZyhwNGRfdCAqcDRk cCwKICNkZWZpbmUgY3JlYXRlX3BtZF9tYXBwaW5nKF9fcG1kcCwgX192YSwgX19wYSwgX19zeiwg X19wcm90KSBkbyB7fSB3aGlsZSgwKQogI2VuZGlmIC8qIF9fUEFHRVRBQkxFX1BNRF9GT0xERUQg Ki8KIAotdm9pZCBfX2luaXQgY3JlYXRlX3BnZF9tYXBwaW5nKHBnZF90ICpwZ2RwLAotCQkJCSAg ICAgIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3QgcGEsCi0JCQkJICAgICAgcGh5c19hZGRyX3Qg c3osIHBncHJvdF90IHByb3QpCit2b2lkIF9fbWVtaW5pdCBjcmVhdGVfcGdkX21hcHBpbmcocGdk X3QgKnBnZHAsIHVpbnRwdHJfdCB2YSwgcGh5c19hZGRyX3QgcGEsIHBoeXNfYWRkcl90IHN6LAor CQkJCSAgcGdwcm90X3QgcHJvdCkKIHsKIAlwZ2RfbmV4dF90ICpuZXh0cDsKIAlwaHlzX2FkZHJf dCBuZXh0X3BoeXM7CkBAIC02ODAsOCArNjc2LDcgQEAgdm9pZCBfX2luaXQgY3JlYXRlX3BnZF9t YXBwaW5nKHBnZF90ICpwZ2RwLAogCWNyZWF0ZV9wZ2RfbmV4dF9tYXBwaW5nKG5leHRwLCB2YSwg cGEsIHN6LCBwcm90KTsKIH0KIAotc3RhdGljIHVpbnRwdHJfdCBfX2luaXQgYmVzdF9tYXBfc2l6 ZShwaHlzX2FkZHJfdCBwYSwgdWludHB0cl90IHZhLAotCQkJCSAgICAgIHBoeXNfYWRkcl90IHNp emUpCitzdGF0aWMgdWludHB0cl90IF9fbWVtaW5pdCBiZXN0X21hcF9zaXplKHBoeXNfYWRkcl90 IHBhLCB1aW50cHRyX3QgdmEsIHBoeXNfYWRkcl90IHNpemUpCiB7CiAJaWYgKHBndGFibGVfbDVf ZW5hYmxlZCAmJgogCSAgICAhKHBhICYgKFA0RF9TSVpFIC0gMSkpICYmICEodmEgJiAoUDREX1NJ WkUgLSAxKSkgJiYgc2l6ZSA+PSBQNERfU0laRSkKQEAgLTcxNCw3ICs3MDksNyBAQCBhc21saW5r YWdlIHZvaWQgX19pbml0IF9fY29weV9kYXRhKHZvaWQpCiAjZW5kaWYKIAogI2lmZGVmIENPTkZJ R19TVFJJQ1RfS0VSTkVMX1JXWAotc3RhdGljIF9faW5pdCBwZ3Byb3RfdCBwZ3Byb3RfZnJvbV92 YSh1aW50cHRyX3QgdmEpCitzdGF0aWMgX19tZW1pbml0IHBncHJvdF90IHBncHJvdF9mcm9tX3Zh KHVpbnRwdHJfdCB2YSkKIHsKIAlpZiAoaXNfdmFfa2VybmVsX3RleHQodmEpKQogCQlyZXR1cm4g UEFHRV9LRVJORUxfUkVBRF9FWEVDOwpAQCAtNzM5LDcgKzczNCw3IEBAIHZvaWQgbWFya19yb2Rh dGFfcm8odm9pZCkKIAkJCQkgIHNldF9tZW1vcnlfcm8pOwogfQogI2Vsc2UKLXN0YXRpYyBfX2lu aXQgcGdwcm90X3QgcGdwcm90X2Zyb21fdmEodWludHB0cl90IHZhKQorc3RhdGljIF9fbWVtaW5p dCBwZ3Byb3RfdCBwZ3Byb3RfZnJvbV92YSh1aW50cHRyX3QgdmEpCiB7CiAJaWYgKElTX0VOQUJM RUQoQ09ORklHXzY0QklUKSAmJiAhaXNfa2VybmVsX21hcHBpbmcodmEpKQogCQlyZXR1cm4gUEFH RV9LRVJORUw7CkBAIC0xMjMxLDkgKzEyMjYsOCBAQCBhc21saW5rYWdlIHZvaWQgX19pbml0IHNl dHVwX3ZtKHVpbnRwdHJfdCBkdGJfcGEpCiAJcHRfb3BzX3NldF9maXhtYXAoKTsKIH0KIAotc3Rh dGljIHZvaWQgX19pbml0IGNyZWF0ZV9saW5lYXJfbWFwcGluZ19yYW5nZShwaHlzX2FkZHJfdCBz dGFydCwKLQkJCQkJICAgICAgIHBoeXNfYWRkcl90IGVuZCwKLQkJCQkJICAgICAgIHVpbnRwdHJf dCBmaXhlZF9tYXBfc2l6ZSkKK3N0YXRpYyB2b2lkIF9fbWVtaW5pdCBjcmVhdGVfbGluZWFyX21h cHBpbmdfcmFuZ2UocGh5c19hZGRyX3Qgc3RhcnQsIHBoeXNfYWRkcl90IGVuZCwKKwkJCQkJCSAg dWludHB0cl90IGZpeGVkX21hcF9zaXplKQogewogCXBoeXNfYWRkcl90IHBhOwogCXVpbnRwdHJf dCB2YSwgbWFwX3NpemU7CkBAIC0xNDM1LDcgKzE0MjksNyBAQCBpbnQgX19tZW1pbml0IHZtZW1t YXBfcG9wdWxhdGUodW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIGludCBu b2RlLAogCSAqIG1lbW9yeSBob3RwbHVnLCB3ZSBhcmUgbm90IGFibGUgdG8gdXBkYXRlIGFsbCB0 aGUgcGFnZSB0YWJsZXMgd2l0aAogCSAqIHRoZSBuZXcgUE1Ecy4KIAkgKi8KLQlyZXR1cm4gdm1l bW1hcF9wb3B1bGF0ZV9odWdlcGFnZXMoc3RhcnQsIGVuZCwgbm9kZSwgTlVMTCk7CisJcmV0dXJu IHZtZW1tYXBfcG9wdWxhdGVfaHVnZXBhZ2VzKHN0YXJ0LCBlbmQsIG5vZGUsIGFsdG1hcCk7CiB9 CiAjZW5kaWYKIAotLSAKMi40MC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3Rz LmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5m by9saW51eC1yaXNjdgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (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 C1FA21459FF for ; Tue, 14 May 2024 14:05:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.211.166.138 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715695521; cv=none; b=GpzK8yHJWjmPWguCmfkWhSFcLLQ4SQyS0SsesIq7F95B6Y09KjuaEPH5SPFdv9fKwGkmCavnOX3GdRkPUYiuUZOUgCLawFxI2hjBP2PAFJnPWgzZOsKuBXqmjgk008U5BUvNBBaA/W3Bf2WUvQxnUuIGUpEdo/UIjrgOq52Yno8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715695521; c=relaxed/simple; bh=TaDiQetQybqKd6ZxR/jcE5PkU8hQbMlo+vFY+ZDy3zE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=r+uZfbnhPbWEP1gtIq18AiGbE+dzuypop5WYKxNrD4eE/T/JPLicC4CrL/NcI6zwiId+s/Dpv/z8Z/kRe/ouzUwS/j8AJWF5HJDFOCNx+mi4sANP72cNp2E0OhWMNClEwh+0jvkUYVgyOCu29ZZFS8Qn6cSMpIRQz+Z5cGIQy2Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Um6pxZBb; arc=none smtp.client-ip=140.211.166.138 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Um6pxZBb" Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 638098206E for ; Tue, 14 May 2024 14:05:19 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org X-Spam-Flag: NO X-Spam-Score: -4.401 X-Spam-Level: Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 9l3PenWQ3-fa for ; Tue, 14 May 2024 14:05:14 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2604:1380:4641:c500::1; helo=dfw.source.kernel.org; envelope-from=bjorn@kernel.org; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp1.osuosl.org 886E982000 Authentication-Results: smtp1.osuosl.org; dmarc=pass (p=none dis=none) header.from=kernel.org DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 886E982000 Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=Um6pxZBb Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by smtp1.osuosl.org (Postfix) with ESMTPS id 886E982000 for ; Tue, 14 May 2024 14:05:14 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id BB79261263; Tue, 14 May 2024 14:05:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9ABF4C32782; Tue, 14 May 2024 14:05:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1715695513; bh=TaDiQetQybqKd6ZxR/jcE5PkU8hQbMlo+vFY+ZDy3zE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Um6pxZBb03VIozcHaKKyM/e7rsrF2bB7BRxYDLJp7hWQla6fuSi8TPOnXKDNIPa56 DMA6SCQqLJvrf9NPtQQa3VDNIg3QbcaUzxenDWFXHcy7WZ+e9lijNqsV1qEuKedsCj fhMgKGD4nqxmx88Pdfkw7QlsmYYUk1nO9c47s/UIXGvNBuqd/42g3ZEPlTu0yF+Uhn BzU437TCi2CekrhYc2nT6ojxNdLYrUlwfGcJsofv+Rl8Qf8Q4BeOiRki3hU/ihNoo/ CQZHkziFcg/X+M1WW5G561IkP3VC6xbOqRHxvURTL4ZpvQyOc5rHaDhZt9wGsJy2hU g9z/70AL1e2Wg== 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 Cc: =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Andrew Bresticker , Chethan Seshadri , Lorenzo Stoakes , Oscar Salvador , Santosh Mamila , Sivakumar Munnangi , Sunil V L , linux-kernel@vger.kernel.org, linux-mm@kvack.org, virtualization@lists.linux-foundation.org Subject: [PATCH v2 2/8] riscv: mm: Change attribute from __init to __meminit for page functions Date: Tue, 14 May 2024 16:04:40 +0200 Message-Id: <20240514140446.538622-3-bjorn@kernel.org> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240514140446.538622-1-bjorn@kernel.org> References: <20240514140446.538622-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. Also, make sure that the altmap parameter is properly passed on to vmemmap_populate_hugepages(). 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 | 58 ++++++++++++++------------------ 3 files changed, 29 insertions(+), 35 deletions(-) diff --git a/arch/riscv/include/asm/mmu.h b/arch/riscv/include/asm/mmu.h index 60be458e94da..c09c3c79f496 100644 --- a/arch/riscv/include/asm/mmu.h +++ b/arch/riscv/include/asm/mmu.h @@ -28,8 +28,8 @@ typedef struct { #endif } mm_context_t; -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 58fd7b70b903..7933f493db71 100644 --- a/arch/riscv/include/asm/pgtable.h +++ b/arch/riscv/include/asm/pgtable.h @@ -162,7 +162,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 5b8cdfafb52a..c969427eab88 100644 --- a/arch/riscv/mm/init.c +++ b/arch/riscv/mm/init.c @@ -295,7 +295,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; @@ -357,7 +357,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); } @@ -376,7 +376,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); @@ -384,9 +384,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); @@ -440,7 +439,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); } @@ -457,7 +456,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); @@ -465,9 +464,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; @@ -503,7 +502,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); } @@ -521,7 +520,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; @@ -541,7 +540,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); } @@ -559,7 +558,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; @@ -568,9 +567,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; @@ -595,9 +593,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; @@ -653,9 +650,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; @@ -680,8 +676,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 (pgtable_l5_enabled && !(pa & (P4D_SIZE - 1)) && !(va & (P4D_SIZE - 1)) && size >= P4D_SIZE) @@ -714,7 +709,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; @@ -739,7 +734,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; @@ -1231,9 +1226,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; @@ -1435,7 +1429,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, * memory hotplug, we are not able to update all the page tables with * the new PMDs. */ - return vmemmap_populate_hugepages(start, end, node, NULL); + return vmemmap_populate_hugepages(start, end, node, altmap); } #endif -- 2.40.1