ARM: 5886/1: arm: Fix cpu_proc_fin() for proc-v7.S and make kexec work
[deliverable/linux.git] / arch / arm / mm / proc-v7.S
index 3a285218fd158ae56908c2d1a69d86181b529765..d2a80747c6fe476cb795b205326bc2df1a485763 100644 (file)
@@ -45,7 +45,14 @@ ENTRY(cpu_v7_proc_init)
 ENDPROC(cpu_v7_proc_init)
 
 ENTRY(cpu_v7_proc_fin)
-       mov     pc, lr
+       stmfd   sp!, {lr}
+       cpsid   if                              @ disable interrupts
+       bl      v7_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}
 ENDPROC(cpu_v7_proc_fin)
 
 /*
This page took 0.024729 seconds and 5 git commands to generate.