diff options
author | Tony Lindgren <tony@atomide.com> | 2005-10-19 23:00:56 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-10-19 23:00:56 +0100 |
commit | 67c5587ad4047041e4fb137628076388ede05281 (patch) | |
tree | 7766782d34a12fe84ba5468e6f0ed5dd77b7ca5d /arch | |
parent | d1972efaf24e56c06b43c40c364f9377763c2e13 (diff) | |
download | op-kernel-dev-67c5587ad4047041e4fb137628076388ede05281.zip op-kernel-dev-67c5587ad4047041e4fb137628076388ede05281.tar.gz |
[ARM] 3024/1: Add cpu_v6_proc_fin
Patch from Tony Lindgren
Machine restart calls cpu_proc_fin() to clean and disable
cache, and turn off interrupts. This patch adds proper
cpu_v6_proc_fin.
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mm/proc-v6.S | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S index caf3b19..9bb5fff 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S @@ -55,7 +55,14 @@ ENTRY(cpu_v6_proc_init) mov pc, lr ENTRY(cpu_v6_proc_fin) - mov pc, lr + stmfd sp!, {lr} + cpsid if @ disable interrupts + bl v6_flush_kern_cache_all + mrc p15, 0, r0, c1, c0, 0 @ ctrl register + bic r0, r0, #0x1000 @ ...i............ + bic r0, r0, #0x0006 @ .............ca. + mcr p15, 0, r0, c1, c0, 0 @ disable caches + ldmfd sp!, {pc} /* * cpu_v6_reset(loc) |