diff options
Diffstat (limited to 'arch/s390/kernel/setup.c')
-rw-r--r-- | arch/s390/kernel/setup.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index c6878fbbcf13..9220db5c996a 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -301,25 +301,21 @@ static void __init setup_lowcore(void) | |||
301 | BUILD_BUG_ON(sizeof(struct lowcore) != LC_PAGES * 4096); | 301 | BUILD_BUG_ON(sizeof(struct lowcore) != LC_PAGES * 4096); |
302 | lc = __alloc_bootmem_low(LC_PAGES * PAGE_SIZE, LC_PAGES * PAGE_SIZE, 0); | 302 | lc = __alloc_bootmem_low(LC_PAGES * PAGE_SIZE, LC_PAGES * PAGE_SIZE, 0); |
303 | lc->restart_psw.mask = PSW_KERNEL_BITS; | 303 | lc->restart_psw.mask = PSW_KERNEL_BITS; |
304 | lc->restart_psw.addr = | 304 | lc->restart_psw.addr = (unsigned long) restart_int_handler; |
305 | PSW_ADDR_AMODE | (unsigned long) restart_int_handler; | ||
306 | lc->external_new_psw.mask = PSW_KERNEL_BITS | | 305 | lc->external_new_psw.mask = PSW_KERNEL_BITS | |
307 | PSW_MASK_DAT | PSW_MASK_MCHECK; | 306 | PSW_MASK_DAT | PSW_MASK_MCHECK; |
308 | lc->external_new_psw.addr = | 307 | lc->external_new_psw.addr = (unsigned long) ext_int_handler; |
309 | PSW_ADDR_AMODE | (unsigned long) ext_int_handler; | ||
310 | lc->svc_new_psw.mask = PSW_KERNEL_BITS | | 308 | lc->svc_new_psw.mask = PSW_KERNEL_BITS | |
311 | PSW_MASK_DAT | PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK; | 309 | PSW_MASK_DAT | PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK; |
312 | lc->svc_new_psw.addr = PSW_ADDR_AMODE | (unsigned long) system_call; | 310 | lc->svc_new_psw.addr = (unsigned long) system_call; |
313 | lc->program_new_psw.mask = PSW_KERNEL_BITS | | 311 | lc->program_new_psw.mask = PSW_KERNEL_BITS | |
314 | PSW_MASK_DAT | PSW_MASK_MCHECK; | 312 | PSW_MASK_DAT | PSW_MASK_MCHECK; |
315 | lc->program_new_psw.addr = | 313 | lc->program_new_psw.addr = (unsigned long) pgm_check_handler; |
316 | PSW_ADDR_AMODE | (unsigned long) pgm_check_handler; | ||
317 | lc->mcck_new_psw.mask = PSW_KERNEL_BITS; | 314 | lc->mcck_new_psw.mask = PSW_KERNEL_BITS; |
318 | lc->mcck_new_psw.addr = | 315 | lc->mcck_new_psw.addr = (unsigned long) mcck_int_handler; |
319 | PSW_ADDR_AMODE | (unsigned long) mcck_int_handler; | ||
320 | lc->io_new_psw.mask = PSW_KERNEL_BITS | | 316 | lc->io_new_psw.mask = PSW_KERNEL_BITS | |
321 | PSW_MASK_DAT | PSW_MASK_MCHECK; | 317 | PSW_MASK_DAT | PSW_MASK_MCHECK; |
322 | lc->io_new_psw.addr = PSW_ADDR_AMODE | (unsigned long) io_int_handler; | 318 | lc->io_new_psw.addr = (unsigned long) io_int_handler; |
323 | lc->clock_comparator = -1ULL; | 319 | lc->clock_comparator = -1ULL; |
324 | lc->kernel_stack = ((unsigned long) &init_thread_union) | 320 | lc->kernel_stack = ((unsigned long) &init_thread_union) |
325 | + THREAD_SIZE - STACK_FRAME_OVERHEAD - sizeof(struct pt_regs); | 321 | + THREAD_SIZE - STACK_FRAME_OVERHEAD - sizeof(struct pt_regs); |