From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: Arnd Bergmann <arnd@kernel.org>
Cc: linux-mm@kvack.org, Arnd Bergmann <arnd@arndb.de>,
Andrew Morton <akpm@linux-foundation.org>,
Andreas Larsson <andreas@gaisler.com>,
"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
"David Hildenbrand (Arm)" <david@kernel.org>,
Jason Gunthorpe <jgg@nvidia.com>,
Linus Walleij <linus.walleij@linaro.org>,
Matthew Wilcox <willy@infradead.org>,
Malin Jonsson <malin.jonsson@est.tech>,
Richard Weinberger <richard@nod.at>,
Russell King <linux@armlinux.org.uk>,
linux-arm-kernel@lists.infradead.org,
linux-fsdevel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
x86@kernel.org
Subject: Re: [PATCH v2 6/6] ARM: add CONFIG_VMSPLIT_2G_OPT option
Date: Fri, 13 Nov 2026 19:20:17 +0000 [thread overview]
Message-ID: <avdfH-r5kDSrPUI4@gremlin> (raw)
In-Reply-To: <20261112112528.1116405-7-arnd@kernel.org>
On Thu, Nov 12, 2026 at 12:25:28PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> Unlike x86 and powerpc, there is currently no option to use exactly 2GiB
> of lowmem on Arm. Since 2GiB is still a relatively common configuration
> on embedded systems, it makes sense to allow this to be used in
> non-highmem builds.
>
> Add the Kconfig option and make this the default for non-LPAE builds
> with highmem enabled instead of CONFIG_VMSPLIT_2G. LPAE still requires
> the vmsplit to be on a gigabyte boundary, so this is only available for
> classic pagetables at the moment, same as CONFIG_VMSPLIT_3G_OPT.
>
> Tested in qemu -M virt, both with and without HIGHMEM enabled.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
With sashiko fix, LGTM and:
Acked-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
> ---
> arch/arm/Kconfig | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 797705a94b28..8992fedfdf37 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1025,7 +1025,8 @@ config BL_SWITCHER_DUMMY_IF
> choice
> prompt "Memory split"
> depends on MMU
> - default VMSPLIT_2G if HIGHMEM || ARM_LPAE
> + default VMSPLIT_2G if ARM_LPAE
> + default VMSPLIT_2G_OPT if HIGHMEM
> default VMSPLIT_3G_OPT
> help
> Select the desired split between kernel and user memory.
> @@ -1042,6 +1043,9 @@ choice
> bool "3G/1G user/kernel split (for full 1G low memory)"
> config VMSPLIT_2G
> bool "2G/2G user/kernel split"
> + config VMSPLIT_2G_OPT
> + depends on !ARM_LPAE
> + bool "2G/2G user/kernel split (for full 2G low memory)"
> config VMSPLIT_1G
> bool "1G/3G user/kernel split"
> endchoice
> @@ -1050,6 +1054,7 @@ config PAGE_OFFSET
> hex
> default PHYS_OFFSET if !MMU
> default 0x40000000 if VMSPLIT_1G
> + default 0x70000000 if VMSPLIT_2G_OPT
> default 0x80000000 if VMSPLIT_2G
> default 0xB0000000 if VMSPLIT_3G_OPT
> default 0xC0000000
> @@ -1058,6 +1063,7 @@ config KASAN_SHADOW_OFFSET
> hex
> depends on KASAN
> default 0x1f000000 if PAGE_OFFSET=0x40000000
> + default 0x4f000000 if PAGE_OFFSET=0x70000000
> default 0x5f000000 if PAGE_OFFSET=0x80000000
> default 0x9f000000 if PAGE_OFFSET=0xC0000000
> default 0x8f000000 if PAGE_OFFSET=0xB0000000
> --
> 2.53.0
>
--
Cheers, Lorenzo
prev parent reply other threads:[~2026-11-13 19:20 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-12 11:25 [PATCH v2 0/6] mm: highmem cleanups Arnd Bergmann
2026-11-12 11:25 ` [PATCH v2 1/6] ARM: remove support for highmem on VIVT Arnd Bergmann
2026-11-12 13:47 ` Arnd Bergmann
2026-11-13 11:26 ` sashiko-bot
2026-11-13 11:36 ` Arnd Bergmann
2026-11-13 18:28 ` Lorenzo Stoakes (ARM)
2026-11-12 11:25 ` [PATCH v2 2/6] mm: remove ARCH_NEEDS_KMAP_HIGH_GET Arnd Bergmann
2026-11-12 11:48 ` Mike Rapoport
2026-11-13 18:39 ` Lorenzo Stoakes (ARM)
2026-11-12 11:25 ` [PATCH v2 3/6] ARM: drop CONFIG_HIGHPTE support Arnd Bergmann
2026-11-12 11:47 ` Mike Rapoport
2026-11-12 12:22 ` Arnd Bergmann
2026-11-13 18:41 ` Lorenzo Stoakes (ARM)
2026-11-12 11:25 ` [PATCH v2 4/6] mm: drop HIGHPTE support altogether Arnd Bergmann
2026-11-12 11:54 ` Mike Rapoport
2026-11-12 12:33 ` David Hildenbrand (Arm)
2026-11-12 13:26 ` Arnd Bergmann
2026-11-13 10:50 ` David Hildenbrand (Arm)
2026-11-13 18:53 ` Lorenzo Stoakes (ARM)
2026-11-12 11:25 ` [PATCH v2 5/6] arch/*: increase lowmem size to avoid highmem use Arnd Bergmann
2026-11-12 12:00 ` Mike Rapoport
2026-11-13 11:26 ` sashiko-bot
2026-11-13 17:54 ` Arnd Bergmann
2026-11-13 18:35 ` H. Peter Anvin
2026-11-13 18:58 ` Lorenzo Stoakes (ARM)
2026-11-12 11:25 ` [PATCH v2 6/6] ARM: add CONFIG_VMSPLIT_2G_OPT option Arnd Bergmann
2026-11-13 11:26 ` sashiko-bot
2026-11-13 14:18 ` Arnd Bergmann
2026-11-13 19:20 ` Lorenzo Stoakes (ARM) [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=avdfH-r5kDSrPUI4@gremlin \
--to=ljs@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=andreas@gaisler.com \
--cc=arnd@arndb.de \
--cc=arnd@kernel.org \
--cc=chleroy@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=david@kernel.org \
--cc=jgg@nvidia.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=malin.jonsson@est.tech \
--cc=richard@nod.at \
--cc=willy@infradead.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.