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)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 6 Nov 2013 10:10:01 +0000 (10:10 +0000)
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>
arch/arm64/kvm/hyp-init.S

index ba84e67..2b0244d 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