From b47b6e9f2808ab3f6c8eb83e363d99e846f498b9 Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Fri, 3 Aug 2018 17:07:51 -0700 Subject: arm64: Disable MMU during legacy payload handoff (without Arm TF) coreboot payloads expect to be entered with MMU disabled on arm64. The usual path via Arm TF already does this, so let's align the legacy path (without Secure Monitor) to do the same. Change-Id: I18717e00c905123d53b27a81185b534ba819c7b3 Signed-off-by: Julius Werner Reviewed-on: https://review.coreboot.org/27878 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Aaron Durbin --- src/arch/arm64/transition.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/arch') diff --git a/src/arch/arm64/transition.c b/src/arch/arm64/transition.c index 8c5beb0b4f..c549c5f26e 100644 --- a/src/arch/arm64/transition.c +++ b/src/arch/arm64/transition.c @@ -15,6 +15,7 @@ #include #include +#include #include #include #include @@ -123,7 +124,9 @@ void transition(struct exc_state *exc_state) /* SP_ELx: Initialize stack pointer */ raw_write_sp_elx(elx->sp_elx, elx_el); - isb(); + + /* Payloads expect to be entered with MMU disabled. Includes an ISB. */ + mmu_disable(); /* Eret to the entry point */ trans_switch(regs); -- cgit v1.2.3