diff options
Diffstat (limited to 'arch/arm/mm/proc-v6.S')
-rw-r--r-- | arch/arm/mm/proc-v6.S | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S index eb34823c9dbf..9bb5fff406fb 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S | |||
@@ -55,7 +55,14 @@ ENTRY(cpu_v6_proc_init) | |||
55 | mov pc, lr | 55 | mov pc, lr |
56 | 56 | ||
57 | ENTRY(cpu_v6_proc_fin) | 57 | ENTRY(cpu_v6_proc_fin) |
58 | mov pc, lr | 58 | stmfd sp!, {lr} |
59 | cpsid if @ disable interrupts | ||
60 | bl v6_flush_kern_cache_all | ||
61 | mrc p15, 0, r0, c1, c0, 0 @ ctrl register | ||
62 | bic r0, r0, #0x1000 @ ...i............ | ||
63 | bic r0, r0, #0x0006 @ .............ca. | ||
64 | mcr p15, 0, r0, c1, c0, 0 @ disable caches | ||
65 | ldmfd sp!, {pc} | ||
59 | 66 | ||
60 | /* | 67 | /* |
61 | * cpu_v6_reset(loc) | 68 | * cpu_v6_reset(loc) |
@@ -240,7 +247,7 @@ cpu_elf_name: | |||
240 | .size cpu_elf_name, . - cpu_elf_name | 247 | .size cpu_elf_name, . - cpu_elf_name |
241 | .align | 248 | .align |
242 | 249 | ||
243 | .section ".proc.info", #alloc, #execinstr | 250 | .section ".proc.info.init", #alloc, #execinstr |
244 | 251 | ||
245 | /* | 252 | /* |
246 | * Match any ARMv6 processor core. | 253 | * Match any ARMv6 processor core. |