From: Will Deacon Date: Fri, 26 Aug 2011 15:34:51 +0000 (+0100) Subject: ARM: 7066/1: proc-v7: disable SCTLR.TE when disabling MMU X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=0f81bb6b051ad760686b5b0fef8c731282c16ef5;p=~shefty%2Frdma-dev.git ARM: 7066/1: proc-v7: disable SCTLR.TE when disabling MMU cpu_v7_reset disables the MMU and then branches to the provided address. On Thumb-2 kernels, we should take care to clear the Thumb Exception enable bit in the System Control Register, otherwise this may wreak havok in the code to which we are branching (for example, an ARM kernel image via kexec). Reviewed-by: Dave Martin Signed-off-by: Will Deacon Signed-off-by: Russell King --- diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index a30e78542cc..dec72ee9f7a 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S @@ -66,6 +66,7 @@ ENDPROC(cpu_v7_proc_fin) ENTRY(cpu_v7_reset) mrc p15, 0, r1, c1, c0, 0 @ ctrl register bic r1, r1, #0x1 @ ...............m + THUMB( bic r1, r1, #1 << 30 ) @ SCTLR.TE (Thumb exceptions) mcr p15, 0, r1, c1, c0, 0 @ disable MMU isb mov pc, r0