hw/arm: Setup EL1 and EL2 in AArch64 mode for 64bit Linux boots
authorEdgar E. Iglesias <edgar.iglesias@xilinx.com>
Wed, 3 Feb 2016 13:46:33 +0000 (13:46 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Wed, 3 Feb 2016 13:46:33 +0000 (13:46 +0000)
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>
hw/arm/boot.c

index 7742dd3cb6a7dafaf0fa6bde1fe5dcf65ad0c50d..d05a9986edb0652f2e84d3cedc8adda257df3eda 100644 (file)
@@ -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;