diff options
author | Peter Maydell | 2017-01-20 12:15:10 +0100 |
---|---|---|
committer | Peter Maydell | 2017-01-20 12:15:10 +0100 |
commit | 3f591a20221511c639cc7959755e570801a21cd2 (patch) | |
tree | 1efcd7f6e222398292dfd337f44ba3543e65af61 /target/arm/cpu.h | |
parent | hw/arm/virt-acpi-build: use SMC if booting in EL2 (diff) | |
download | qemu-3f591a20221511c639cc7959755e570801a21cd2.tar.gz qemu-3f591a20221511c639cc7959755e570801a21cd2.tar.xz qemu-3f591a20221511c639cc7959755e570801a21cd2.zip |
target/arm/psci.c: If EL2 implemented, start CPUs in EL2
The PSCI spec states that a CPU_ON call should cause the new
CPU to be started in the highest implemented Non-secure
exception level. We were incorrectly starting it at the
exception level of the caller, which happens to be correct
if EL2 is not implemented. Implement the correct logic
as described in the PSCI 1.0 spec section 6.4:
* if EL2 exists and SCR_EL3.HCE is set: start in EL2
* otherwise start in EL1
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Tested-by: Andrew Jones <drjones@redhat.com>
Message-id: 1483977924-14522-17-git-send-email-peter.maydell@linaro.org
Diffstat (limited to 'target/arm/cpu.h')
0 files changed, 0 insertions, 0 deletions