In monitor and hypervisor mode first thing we need to do in case of BE image is to switch CPU into BE mode.
Signed-off-by: Victor Kamensky victor.kamensky@linaro.org --- arch/arm/mach-exynos/headsmp.S | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-exynos/headsmp.S b/arch/arm/mach-exynos/headsmp.S index 20c2f91..515a4f5 100644 --- a/arch/arm/mach-exynos/headsmp.S +++ b/arch/arm/mach-exynos/headsmp.S @@ -38,11 +38,14 @@ mon_vectors: W(b) . /* fiq */
/* Return directly back to the caller without leaving Hyp mode: */ -1: mrs lr, elr_hyp +1: +ARM_BE8(setend be) + mrs lr, elr_hyp mov pc, lr
/* In monitor mode, set up HVBAR and SCR then return to caller in NS-SVC. */ 2: +ARM_BE8(setend be) mrc p15, 0, r1, c1, c1, 0 @ SCR /* * Set SCR.NS=1(needed for setting HVBAR and also returning to NS state)