ARM: virt: fix wrong HSCTLR.EE bit setting
authorLi Liu <john.liuli@huawei.com>
Tue, 1 Jul 2014 10:01:50 +0000 (18:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Jun 2015 19:25:38 +0000 (12:25 -0700)
commit af92394efc8be73edd2301fc15f9b57fd430cd18 upstream.

HSCTLR.EE is defined as bit[25] referring to arm manual
DDI0606C.b(p1590).

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Li Liu <john.liuli@huawei.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/kernel/hyp-stub.S

index 797b1a6a4906da0f8ca3f942186ac0e033250ce6..7e666cfda6344fc88c087ca654be6bca7410fabf 100644 (file)
@@ -134,9 +134,7 @@ ENTRY(__hyp_stub_install_secondary)
        mcr     p15, 4, r7, c1, c1, 3   @ HSTR
 
 THUMB( orr     r7, #(1 << 30)  )       @ HSCTLR.TE
-#ifdef CONFIG_CPU_BIG_ENDIAN
-       orr     r7, #(1 << 9)           @ HSCTLR.EE
-#endif
+ARM_BE8(orr    r7, r7, #(1 << 25))     @ HSCTLR.EE
        mcr     p15, 4, r7, c1, c0, 0   @ HSCTLR
 
        mrc     p15, 4, r7, c1, c1, 1   @ HDCR