aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>2009-10-06 04:34:12 -0400
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2009-10-06 04:35:10 -0400
commitdd43bfca431b02117e8598e01b301e001a68295e (patch)
treef82b38657c6261b39ce5002cc3da92a637dfca6e /arch/s390
parent623c08e4cbf47c29c2516d53f1d78c20896bb712 (diff)
[S390] hibernate: Use correct place for CPU address in lowcore
We used address 0x1084 instead of 0x84 to store the suspend CPU address. With this patch we use the correct address 0x84 as it is defined in the POP. Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kernel/swsusp_asm64.S5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/s390/kernel/swsusp_asm64.S b/arch/s390/kernel/swsusp_asm64.S
index 008e35af339f..7c8653e27db6 100644
--- a/arch/s390/kernel/swsusp_asm64.S
+++ b/arch/s390/kernel/swsusp_asm64.S
@@ -43,7 +43,7 @@ swsusp_arch_suspend:
43 lghi %r1,0x1000 43 lghi %r1,0x1000
44 44
45 /* Save CPU address */ 45 /* Save CPU address */
46 stap __LC_CPU_ADDRESS(%r1) 46 stap __LC_CPU_ADDRESS(%r0)
47 47
48 /* Store registers */ 48 /* Store registers */
49 mvc 0x318(4,%r1),__SF_EMPTY(%r15) /* move prefix to lowcore */ 49 mvc 0x318(4,%r1),__SF_EMPTY(%r15) /* move prefix to lowcore */
@@ -172,8 +172,7 @@ pgm_check_entry:
172 larl %r1,.Lresume_cpu /* Resume CPU address: r2 */ 172 larl %r1,.Lresume_cpu /* Resume CPU address: r2 */
173 stap 0(%r1) 173 stap 0(%r1)
174 llgh %r2,0(%r1) 174 llgh %r2,0(%r1)
175 lghi %r3,0x1000 175 llgh %r1,__LC_CPU_ADDRESS(%r0) /* Suspend CPU address: r1 */
176 llgh %r1,__LC_CPU_ADDRESS(%r3) /* Suspend CPU address: r1 */
177 cgr %r1,%r2 176 cgr %r1,%r2
178 je restore_registers /* r1 = r2 -> nothing to do */ 177 je restore_registers /* r1 = r2 -> nothing to do */
179 larl %r4,.Lrestart_suspend_psw /* Set new restart PSW */ 178 larl %r4,.Lrestart_suspend_psw /* Set new restart PSW */