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. The default CPU for machine=virt is arm,cortex-a15. Acked-by: Heinrich Schuchardt <xypron.g...@gmx.de. > > 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 <a...@kernel.org> > --- > configs/qemu_arm_defconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/configs/qemu_arm_defconfig b/configs/qemu_arm_defconfig > index a8473988bd76..75bdce7708c7 100644 > --- a/configs/qemu_arm_defconfig > +++ b/configs/qemu_arm_defconfig > @@ -1,5 +1,6 @@ > CONFIG_ARM=y > CONFIG_ARM_SMCCC=y > +CONFIG_ARMV7_LPAE=y > CONFIG_ARCH_QEMU=y > CONFIG_ENV_SIZE=0x40000 > CONFIG_ENV_SECT_SIZE=0x40000 >