Re: [PATCH 10/13] arch, mm: set high_memory in free_area_init()

Russell King (Oracle)
2025-03-11T22:06:22Z

On Tue, Mar 11, 2025 at 09:33:29PM +0000, Mark Brown wrote:
> [ 0.000000] Booting Linux on physical CPU 0x0
> [ 0.000000] Linux version 6.14.0-rc6-next-20250311 (tuxmake@tuxmake) (arm-linux-gnueabihf-gcc (Debian 13.3.0-5) 13.3.0, GNU ld (GNU Binutils for Debian) 2.43.1) #1 SMP @1741691801
> [ 0.000000] CPU: ARMv7 Processor [414fc0f0] revision 0 (ARMv7), cr=10c5387d
> [ 0.000000] CPU: div instructions available: patching division code
> [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
> [ 0.000000] OF: fdt: Machine model: linux,dummy-virt
> [ 0.000000] random: crng init done
> [ 0.000000] earlycon: pl11 at MMIO 0x09000000 (options '')
> [ 0.000000] printk: legacy bootconsole [pl11] enabled
> [ 0.000000] Memory policy: Data cache writealloc
> [ 0.000000] efi: UEFI not found.
> [ 0.000000] cma: Reserved 64 MiB at 0x00000000

If that CMA address is correct, then it's wrong. virt machines start
DRAM at 0x40000000. This is a small memory VM:

[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000040000000-0x0000000045ffffff]
[ 0.000000] HighMem empty

and this is a larger memory VM:

[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000040000000-0x000000006fffffff]
[ 0.000000] HighMem [mem 0x0000000070000000-0x000000007fffffff]

Neither have CMA enabled (it's not necessary for a VM).

On a real platform where CMA and highmem is enabled, then:

[ 0.000000] cma: Reserved 16 MiB at 0x4f000000 on node -1
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000010000000-0x000000003fffffff]
[ 0.000000] HighMem [mem 0x0000000040000000-0x000000004fffffff]

So that "cma:" line you are seeing is indicating that something is very
very wrong - it should definitely not be zero.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!