diff options
author | Edgar E. Iglesias <edgar.iglesias@xilinx.com> | 2016-02-03 13:46:33 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2016-02-03 13:46:33 +0000 |
commit | 48d21a576a9cd5fd223bda416abb68b5c2818b52 (patch) | |
tree | 85774194b92bdef7cb35d85dc8b830dacf5d386c /hw | |
parent | 6a43e0b6e1f6bcd6b11656967422f4217258200a (diff) | |
download | qemu-48d21a576a9cd5fd223bda416abb68b5c2818b52.zip qemu-48d21a576a9cd5fd223bda416abb68b5c2818b52.tar.gz qemu-48d21a576a9cd5fd223bda416abb68b5c2818b52.tar.bz2 |
hw/arm: Setup EL1 and EL2 in AArch64 mode for 64bit Linux boots
When booting Linux on AArch64 enabled cores, setup EL1 and
EL2 to use AArch64.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/arm/boot.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/arm/boot.c b/hw/arm/boot.c index 7742dd3..d05a998 100644 --- a/hw/arm/boot.c +++ b/hw/arm/boot.c @@ -488,7 +488,9 @@ static void do_cpu_reset(void *opaque) * adjust. */ if (env->aarch64) { + env->cp15.scr_el3 |= SCR_RW; if (arm_feature(env, ARM_FEATURE_EL2)) { + env->cp15.hcr_el2 |= HCR_RW; env->pstate = PSTATE_MODE_EL2h; } else { env->pstate = PSTATE_MODE_EL1h; |