aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/s390/kernel/early.c4
-rw-r--r--arch/s390/power/swsusp_asm64.S13
2 files changed, 10 insertions, 7 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c
index f9b144049dc9..8d15314381e0 100644
--- a/arch/s390/kernel/early.c
+++ b/arch/s390/kernel/early.c
@@ -210,7 +210,7 @@ static noinline __init void detect_machine_type(void)
210 machine_flags |= MACHINE_FLAG_VM; 210 machine_flags |= MACHINE_FLAG_VM;
211} 211}
212 212
213static void early_pgm_check_handler(void) 213static __init void early_pgm_check_handler(void)
214{ 214{
215 unsigned long addr; 215 unsigned long addr;
216 const struct exception_table_entry *fixup; 216 const struct exception_table_entry *fixup;
@@ -222,7 +222,7 @@ static void early_pgm_check_handler(void)
222 S390_lowcore.program_old_psw.addr = fixup->fixup | PSW_ADDR_AMODE; 222 S390_lowcore.program_old_psw.addr = fixup->fixup | PSW_ADDR_AMODE;
223} 223}
224 224
225void setup_lowcore_early(void) 225static noinline __init void setup_lowcore_early(void)
226{ 226{
227 psw_t psw; 227 psw_t psw;
228 228
diff --git a/arch/s390/power/swsusp_asm64.S b/arch/s390/power/swsusp_asm64.S
index 76d688da32fa..e27bd3164897 100644
--- a/arch/s390/power/swsusp_asm64.S
+++ b/arch/s390/power/swsusp_asm64.S
@@ -40,11 +40,11 @@ swsusp_arch_suspend:
40 /* Store prefix register on stack */ 40 /* Store prefix register on stack */
41 stpx __SF_EMPTY(%r15) 41 stpx __SF_EMPTY(%r15)
42 42
43 /* Setup base register for lowcore (absolute 0) */ 43 /* Save prefix register contents for lowcore */
44 llgf %r1,__SF_EMPTY(%r15) 44 llgf %r4,__SF_EMPTY(%r15)
45 45
46 /* Get pointer to save area */ 46 /* Get pointer to save area */
47 aghi %r1,0x1000 47 lghi %r1,0x1000
48 48
49 /* Store registers */ 49 /* Store registers */
50 mvc 0x318(4,%r1),__SF_EMPTY(%r15) /* move prefix to lowcore */ 50 mvc 0x318(4,%r1),__SF_EMPTY(%r15) /* move prefix to lowcore */
@@ -79,8 +79,11 @@ swsusp_arch_suspend:
79 xc __SF_EMPTY(4,%r15),__SF_EMPTY(%r15) 79 xc __SF_EMPTY(4,%r15),__SF_EMPTY(%r15)
80 spx __SF_EMPTY(%r15) 80 spx __SF_EMPTY(%r15)
81 81
82 /* Setup lowcore */ 82 lghi %r2,0
83 brasl %r14,setup_lowcore_early 83 lghi %r3,2*PAGE_SIZE
84 lghi %r5,2*PAGE_SIZE
851: mvcle %r2,%r4,0
86 jo 1b
84 87
85 /* Save image */ 88 /* Save image */
86 brasl %r14,swsusp_save 89 brasl %r14,swsusp_save