X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;ds=sidebyside;f=arch%2Farm%2Fmm%2Fproc-v7.S;h=7aaf88a3b7aabb7a8a7268d435eda8aa78bd7671;hb=a7f16d10b510f9ee3500af7831f2e3094fab3dca;hp=3a285218fd158ae56908c2d1a69d86181b529765;hpb=3095b165a14b1a95eb500bcaf13ad725a27fe825;p=cascardo%2Flinux.git diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index 3a285218fd15..7aaf88a3b7aa 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S @@ -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) /* @@ -56,8 +63,6 @@ ENDPROC(cpu_v7_proc_fin) * to what would be the reset vector. * * - loc - location to jump to for soft reset - * - * It is assumed that: */ .align 5 ENTRY(cpu_v7_reset)