
On Sat, 6 Jun 2020 at 22:49, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
On 6/6/20 10:32 PM, Heinrich Schuchardt wrote:
On 6/6/20 7:15 PM, Ard Biesheuvel wrote:
QEMU's mach-virt machine only supports selecting CPU models that implement the virtualization extensions, and are therefore guaranteed to support LPAE as well.
I wonder why qemu-system-arm -machine virt -cpu help lists cortex-a9 (which is not LPAE enabled).
But when I try to use it I get qemu-system-arm: mach-virt: CPU type cortex-a9-arm-cpu not supported This looks like a missing feature in QEMU.
This is not a missing feature. The virt board uses PSCI for powerdown and reset, and to bring up secondary cores. PSCI requires the HVC instruction, which is only available if the virt extensions are implemented.
So emulating CPUs without the virt extensions would require a replacement for PSCI to be implemented as well, which seems rather pointless to me.
The default CPU for machine=virt is arm,cortex-a15.
Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de.
Thanks.
Initially, QEMU would not allow emulating these CPUs running in HYP mode (or EL2, for AArch64), but today, it also contains a complete implementation of the virtualization extensions themselves.
This means we could be running U-Boot in HYP mode, in which case the LPAE long descriptor page table format is the only format that is supported. If we are not running in HYP mode, we can use either.
So let's enable CONFIG_ARMV7_LPAE for qemu_arm_defconfig so that we get the best support for running with the MMU and caches enabled at any privilege level.
Signed-off-by: Ard Biesheuvel ardb@kernel.org
You missed to CC the maintainer of QEMU ARM 'VIRT' BOARD. - We have scripts/get_maintainer.pl to find the maintainers.
Cc: Tuomas Tynkkynen tuomas.tynkkynen@iki.fi
Apologies. I will cc Tuomas for v2.