Peter Maydell <[email protected]> writes: > 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'
Could we expand the "highmem" description in https://www.qemu.org/docs/master/system/arm/virt.html to make it clearer. I'm sure this isn't the first time there have been 32bit difficulties with non-LPAE kernels? > > 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 -- Alex Bennée Virtualisation Tech Lead @ Linaro
