[PATCH 2/5] arm: qemu: enable LPAE on 32-bit

Heinrich Schuchardt xypron.glpk at gmx.de
Sat Jun 6 22:32:44 CEST 2020


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.glpk at 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 <ardb at 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
>


More information about the U-Boot mailing list