arm64: KVM: initialize HYP mode following the kernel endianness
authorMarc Zyngier <Marc.Zyngier@arm.com>
Tue, 5 Nov 2013 18:29:45 +0000 (18:29 +0000)
committerChristoffer Dall <christoffer.dall@linaro.org>
Thu, 2 Oct 2014 15:18:18 +0000 (17:18 +0200)
Force SCTLR_EL2.EE to 1 if the kernel is compiled as BE.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 18ea3dbc9e5c8a53a361b17c4a5676ea6f4bcb72)
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm64/kvm/hyp-init.S

index ba84e6705e200a063ee40e05d0ff3bc5cb1bf35d..2b0244d65c16f5c68dde0770f555bbadf4a5b073 100644 (file)
@@ -74,7 +74,10 @@ __do_hyp_init:
        msr     mair_el2, x4
        isb
 
-       mov     x4, #SCTLR_EL2_FLAGS
+       mrs     x4, sctlr_el2
+       and     x4, x4, #SCTLR_EL2_EE   // preserve endianness of EL2
+       ldr     x5, =SCTLR_EL2_FLAGS
+       orr     x4, x4, x5
        msr     sctlr_el2, x4
        isb