On Thu, Nov 12, 2026 at 12:25:28PM +0100, Arnd Bergmann wrote: > From: Arnd Bergmann <[email protected]> > > 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 <[email protected]>
With sashiko fix, LGTM and: Acked-by: Lorenzo Stoakes (ARM) <[email protected]> > --- > 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
