summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cortex-a9.S
diff options
context:
space:
mode:
authorScott Williams <scwilliams@nvidia.com>2010-06-22 11:03:37 -0700
committerGary King <gking@nvidia.com>2010-06-22 16:42:44 -0700
commit13ab9c200e55ad3c763e04fa4e4c008d93c79cc4 (patch)
tree69837d48b10104080f1fc3e1767df511dc120154 /arch/arm/mach-tegra/cortex-a9.S
parent6bab883b2a2e854f93fdec6fd15bc25ecf32aa1d (diff)
tegra: Move CPU-specific code to a CPU-specific file
Also replaces direct moves to the PC with a BX instruction since this is the preferred form of branching/returning. Change-Id: I259c7160d1337a930a6bfe3ceb1b0366951ba054 Reviewed-on: http://git-master.nvidia.com/r/3007 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Tested-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/cortex-a9.S')
-rw-r--r--arch/arm/mach-tegra/cortex-a9.S11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/cortex-a9.S b/arch/arm/mach-tegra/cortex-a9.S
index 0ddfa5d77215..0406f565eddf 100644
--- a/arch/arm/mach-tegra/cortex-a9.S
+++ b/arch/arm/mach-tegra/cortex-a9.S
@@ -444,3 +444,14 @@ __reenable_l2x0:
str r3, [r9, #L2X0_CTRL]
#endif
b __cortex_a9_restore
+
+ .align L1_CACHE_SHIFT
+ENTRY(__shut_off_mmu)
+ mrc p15, 0, r3, c1, c0, 0
+ movw r2, #(1<<12) | (1<<11) | (1<<2) | (1<<0)
+ bic r3, r3, r2
+ dsb
+ mcr p15, 0, r3, c1, c0, 0
+ isb
+ bx r9
+ENDPROC(__shut_off_mmu)