From: Marc Zyngier Date: Tue, 5 Nov 2013 18:29:45 +0000 (+0000) Subject: arm64: KVM: initialize HYP mode following the kernel endianness X-Git-Tag: firefly_0821_release~3680^2~36^2~16^2^2~186 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=60979ebbbbe9d4c56e87cffcaa92933d96637d7b;p=firefly-linux-kernel-4.4.55.git arm64: KVM: initialize HYP mode following the kernel endianness Force SCTLR_EL2.EE to 1 if the kernel is compiled as BE. Signed-off-by: Marc Zyngier Signed-off-by: Catalin Marinas (cherry picked from commit 18ea3dbc9e5c8a53a361b17c4a5676ea6f4bcb72) Signed-off-by: Christoffer Dall --- diff --git a/arch/arm64/kvm/hyp-init.S b/arch/arm64/kvm/hyp-init.S index ba84e6705e20..2b0244d65c16 100644 --- a/arch/arm64/kvm/hyp-init.S +++ b/arch/arm64/kvm/hyp-init.S @@ -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