On Tue, 9 Jan 2024 at 11:33, Peter Maydell <[email protected]> wrote:
> On Mon, 8 Jan 2024 at 17:38, Michael Tokarev <[email protected]> wrote:
> > Speaking of config. This is standard debian config, I'm attaching one
> > to this email.  It can be found in the package, eg
> > http://deb.debian.org/debian/pool/main/l/linux/linux-image-6.6.9-armmp_6.6.9-1_armhf.deb
> > in /boot/config-$(uname -r).
>
> It does seem to be a config thing -- on a plain upstream
> v6.6.9 my config works and that debian default one does
> not. Now to try to identify which particular config
> difference is at fault. (It's not the CONFIG_VMSPLIT one,
> I just tried that.)

Oh, your kernel isn't an LPAE one (i.e. CONFIG_LPAE is not
set). That will obviously never be able to access registers
above the 4GB mark (though the kernel's error message in this
situation is a bit unhelpful and could perhaps be improved).
If I set CONFIG_LPAE on the non-working config it starts working.

I think then the answer is:
 * if you want to use the (default) highmem setup, use an LPAE kernel
 * if you want to use a non-LPAE kernel, tell QEMU to avoid
   highmem using '-machine virt,highmem=off'

It was just a bug that we were accidentally disabling highmem
for the 32-bit 'max' CPU before b8f7959f28c4f3.

The linux-image-6.6.9-armmp-lpae_6.6.9-1_armhf.deb kernel
will probably work (though I haven't tested it).

thanks
-- PMM

Reply via email to