[RFC] arm64: defconfig: enable 48-bit VA by default

Stuart Yoder stuart.yoder at freescale.com
Fri Aug 7 12:01:47 PDT 2015


> Whether defconfig supports your platform optimally has nothing to do
> with that. Of course, we should deal with the unexpected memory layout
> gracefully, which is why Mark Rutland and myself proposed patches to
> fix the panic you reported. But in a development context, I think it
> is perfectly acceptable to simply load the kernel at 0x80_8000_0000,
> and be able to run defconfig fine while losing just 2 GB of your 16 GB
> at the low end.

I've done this experiment-- loading/running the kernel at 0x80_8000_0000
and losing the lower 2GB of memory.  And in fact I can see the kernel
ignoring the low memory:

   [    0.000000] Ignoring memory block 0x80000000 - 0x100000000

However, this only works with 48-bit VA enabled.  With 39-bit VA
enabled the kernel crashes before the early console is working
and I see nothing.

Does the linear mapping we've been talking about just need to cover
all of _RAM_, or does it need to cover all of I/O as well in 
the same mapping.

In our case we have various SoC I/O devices, like the UART
in the space below 4 GB... at 0x0100_0000.

Before debugging further I want to check whether this should
work in theory.  I had the impression that the issue was
discontiguous RAM regions, and I/O was a separate issue.

Thanks,
Stuart


More information about the linux-arm-kernel mailing list