diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/kernel/asm-offsets.c | 1 | ||||
-rw-r--r-- | arch/s390/kernel/head.S | 10 | ||||
-rw-r--r-- | arch/s390/kernel/head64.S | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/arch/s390/kernel/asm-offsets.c b/arch/s390/kernel/asm-offsets.c index ae7b565b6c4c..d8d18f8d8b77 100644 --- a/arch/s390/kernel/asm-offsets.c +++ b/arch/s390/kernel/asm-offsets.c | |||
@@ -120,6 +120,7 @@ int main(void) | |||
120 | OFFSET(__LC_IO_INT_PARM, _lowcore, io_int_parm); | 120 | OFFSET(__LC_IO_INT_PARM, _lowcore, io_int_parm); |
121 | OFFSET(__LC_IO_INT_WORD, _lowcore, io_int_word); | 121 | OFFSET(__LC_IO_INT_WORD, _lowcore, io_int_word); |
122 | OFFSET(__LC_STFL_FAC_LIST, _lowcore, stfl_fac_list); | 122 | OFFSET(__LC_STFL_FAC_LIST, _lowcore, stfl_fac_list); |
123 | OFFSET(__LC_STFLE_FAC_LIST, _lowcore, stfle_fac_list); | ||
123 | OFFSET(__LC_MCCK_CODE, _lowcore, mcck_interruption_code); | 124 | OFFSET(__LC_MCCK_CODE, _lowcore, mcck_interruption_code); |
124 | OFFSET(__LC_MCCK_FAIL_STOR_ADDR, _lowcore, failing_storage_address); | 125 | OFFSET(__LC_MCCK_FAIL_STOR_ADDR, _lowcore, failing_storage_address); |
125 | OFFSET(__LC_LAST_BREAK, _lowcore, breaking_event_addr); | 126 | OFFSET(__LC_LAST_BREAK, _lowcore, breaking_event_addr); |
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index d893d5aeb307..d28a14849126 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S | |||
@@ -300,19 +300,19 @@ ENTRY(startup_kdump) | |||
300 | xc 0x200(256),0x200 # partially clear lowcore | 300 | xc 0x200(256),0x200 # partially clear lowcore |
301 | xc 0x300(256),0x300 | 301 | xc 0x300(256),0x300 |
302 | xc 0xe00(256),0xe00 | 302 | xc 0xe00(256),0xe00 |
303 | xc 0xf00(256),0xf00 | ||
303 | lctlg %c0,%c15,0x200(%r0) # initialize control registers | 304 | lctlg %c0,%c15,0x200(%r0) # initialize control registers |
304 | stck __LC_LAST_UPDATE_CLOCK | 305 | stck __LC_LAST_UPDATE_CLOCK |
305 | spt 6f-.LPG0(%r13) | 306 | spt 6f-.LPG0(%r13) |
306 | mvc __LC_LAST_UPDATE_TIMER(8),6f-.LPG0(%r13) | 307 | mvc __LC_LAST_UPDATE_TIMER(8),6f-.LPG0(%r13) |
307 | xc __LC_STFL_FAC_LIST(8),__LC_STFL_FAC_LIST | ||
308 | # check capabilities against MARCH_{G5,Z900,Z990,Z9_109,Z10} | ||
309 | stfl 0(%r0) # store facilities @ __LC_STFL_FAC_LIST | 308 | stfl 0(%r0) # store facilities @ __LC_STFL_FAC_LIST |
310 | tm __LC_STFL_FAC_LIST,0x01 # stfle available ? | 309 | mvc __LC_STFLE_FAC_LIST(4),__LC_STFL_FAC_LIST |
310 | tm __LC_STFLE_FAC_LIST,0x01 # stfle available ? | ||
311 | jz 0f | 311 | jz 0f |
312 | la %r0,1 | 312 | la %r0,1 |
313 | .insn s,0xb2b00000,__LC_STFL_FAC_LIST # store facility list extended | 313 | .insn s,0xb2b00000,__LC_STFLE_FAC_LIST # store facility list extended |
314 | # verify if all required facilities are supported by the machine | 314 | # verify if all required facilities are supported by the machine |
315 | 0: la %r1,__LC_STFL_FAC_LIST | 315 | 0: la %r1,__LC_STFLE_FAC_LIST |
316 | la %r2,3f+8-.LPG0(%r13) | 316 | la %r2,3f+8-.LPG0(%r13) |
317 | l %r3,0(%r2) | 317 | l %r3,0(%r2) |
318 | 1: l %r0,0(%r1) | 318 | 1: l %r0,0(%r1) |
diff --git a/arch/s390/kernel/head64.S b/arch/s390/kernel/head64.S index 58b719fa8067..c5febe84eba6 100644 --- a/arch/s390/kernel/head64.S +++ b/arch/s390/kernel/head64.S | |||
@@ -16,7 +16,7 @@ | |||
16 | 16 | ||
17 | __HEAD | 17 | __HEAD |
18 | ENTRY(startup_continue) | 18 | ENTRY(startup_continue) |
19 | tm __LC_STFL_FAC_LIST+6,0x80 # LPP available ? | 19 | tm __LC_STFLE_FAC_LIST+6,0x80 # LPP available ? |
20 | jz 0f | 20 | jz 0f |
21 | xc __LC_LPP+1(7,0),__LC_LPP+1 # clear lpp and current_pid | 21 | xc __LC_LPP+1(7,0),__LC_LPP+1 # clear lpp and current_pid |
22 | mvi __LC_LPP,0x80 # and set LPP_MAGIC | 22 | mvi __LC_LPP,0x80 # and set LPP_MAGIC |