diff options
Diffstat (limited to 'arch/arm/kernel/sleep.S')
-rw-r--r-- | arch/arm/kernel/sleep.S | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/kernel/sleep.S b/arch/arm/kernel/sleep.S index 020e99c845e7..1f268bda4552 100644 --- a/arch/arm/kernel/sleep.S +++ b/arch/arm/kernel/sleep.S | |||
@@ -54,14 +54,18 @@ ENDPROC(cpu_suspend_abort) | |||
54 | * r0 = control register value | 54 | * r0 = control register value |
55 | */ | 55 | */ |
56 | .align 5 | 56 | .align 5 |
57 | .pushsection .idmap.text,"ax" | ||
57 | ENTRY(cpu_resume_mmu) | 58 | ENTRY(cpu_resume_mmu) |
58 | ldr r3, =cpu_resume_after_mmu | 59 | ldr r3, =cpu_resume_after_mmu |
60 | instr_sync | ||
59 | mcr p15, 0, r0, c1, c0, 0 @ turn on MMU, I-cache, etc | 61 | mcr p15, 0, r0, c1, c0, 0 @ turn on MMU, I-cache, etc |
60 | mrc p15, 0, r0, c0, c0, 0 @ read id reg | 62 | mrc p15, 0, r0, c0, c0, 0 @ read id reg |
63 | instr_sync | ||
61 | mov r0, r0 | 64 | mov r0, r0 |
62 | mov r0, r0 | 65 | mov r0, r0 |
63 | mov pc, r3 @ jump to virtual address | 66 | mov pc, r3 @ jump to virtual address |
64 | ENDPROC(cpu_resume_mmu) | 67 | ENDPROC(cpu_resume_mmu) |
68 | .popsection | ||
65 | cpu_resume_after_mmu: | 69 | cpu_resume_after_mmu: |
66 | bl cpu_init @ restore the und/abt/irq banked regs | 70 | bl cpu_init @ restore the und/abt/irq banked regs |
67 | mov r0, #0 @ return zero on success | 71 | mov r0, #0 @ return zero on success |