hw/arm/boot: set CPTR_EL3.ESM and SCR_EL3.EnTP2 when booting Linux with EL3
authorJerome Forissier <jerome.forissier@linaro.org>
Mon, 3 Oct 2022 14:56:41 +0000 (16:56 +0200)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 10 Oct 2022 13:52:25 +0000 (14:52 +0100)
commit0ff993193fe759b735e382fbe06b8258b537f95d
treee4156ab4c65523ba485d2d6dba922e2450aea587
parent7fa7ea8f480cd6f3f5f2a9453eea5733510b6c8b
hw/arm/boot: set CPTR_EL3.ESM and SCR_EL3.EnTP2 when booting Linux with EL3

According to the Linux kernel booting.rst [1], CPTR_EL3.ESM and
SCR_EL3.EnTP2 must be initialized to 1 when EL3 is present and FEAT_SME
is advertised. This has to be taken care of when QEMU boots directly
into the kernel (i.e., "-M virt,secure=on -cpu max -kernel Image").

Cc: qemu-stable@nongnu.org
Fixes: 78cb9776662a ("target/arm: Enable SME for -cpu max")
Link: [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst?h=v6.0#n321
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Message-id: 20221003145641.1921467-1-jerome.forissier@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/arm/boot.c