]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
ARM: pm: preserve r4 - r11 across a suspend
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 13 Jun 2011 14:04:14 +0000 (15:04 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 24 Jun 2011 07:47:29 +0000 (08:47 +0100)
Make cpu_suspend()..return function preserve r4 to r11 across a suspend
cycle.  This is in preparation of relieving platform support code from
this task.

Acked-by: Frank Hofmann <frank.hofmann@tomtom.com>
Tested-by: Kevin Hilman <khilman@ti.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/sleep.S

index 0a778c30859bd6e89ef7e9e7bbbb6b97795973c7..8dbca93417ffc6c333a8b0b5bfe141840e5972f4 100644 (file)
  *  r1 = v:p offset
  *  r3 = virtual return function
  * Note: sp is decremented to allocate space for CPU state on stack
- * r0-r3,r9,r10,lr corrupted
+ * r0-r3,ip,lr corrupted
  */
 ENTRY(cpu_suspend)
        stmfd   sp!, {r3}
+       stmfd   sp!, {r4 - r11}
        mov     r9, lr
 #ifdef MULTI_CPU
        ldr     r10, =processor
@@ -88,7 +89,7 @@ ENDPROC(cpu_resume_turn_mmu_on)
 cpu_resume_after_mmu:
        str     r5, [r2, r4, lsl #2]    @ restore old mapping
        mcr     p15, 0, r0, c1, c0, 0   @ turn on D-cache
-       ldmfd   sp!, {pc}
+       ldmfd   sp!, {r4 - r11, pc}
 ENDPROC(cpu_resume_after_mmu)
 
 /*