2 * arch/s390/kernel/reset.S
4 * Copyright (C) IBM Corp. 2006
5 * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
6 * Michael Holzheu <holzheu@de.ibm.com>
9 #include <asm/ptrace.h>
10 #include <asm/lowcore.h>
14 .globl reset_mcck_handler
17 0: lg %r15,__LC_PANIC_STACK # load panic stack
18 aghi %r15,-STACK_FRAME_OVERHEAD
19 lg %r1,s390_reset_mcck_handler-0b(%r13)
24 lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1)
25 lpswe __LC_MCK_OLD_PSW
27 .globl s390_reset_mcck_handler
28 s390_reset_mcck_handler:
31 .globl reset_pgm_handler
33 stmg %r0,%r15,__LC_SAVE_AREA
35 0: lg %r15,__LC_PANIC_STACK # load panic stack
36 aghi %r15,-STACK_FRAME_OVERHEAD
37 lg %r1,s390_reset_pgm_handler-0b(%r13)
41 lmg %r0,%r15,__LC_SAVE_AREA
42 lpswe __LC_PGM_OLD_PSW
43 1: lpswe disabled_wait_psw-0b(%r13)
44 .globl s390_reset_pgm_handler
45 s390_reset_pgm_handler:
49 .quad 0x0002000180000000,0x0000000000000000 + reset_pgm_handler
51 #else /* CONFIG_64BIT */
53 .globl reset_mcck_handler
56 0: l %r15,__LC_PANIC_STACK # load panic stack
57 ahi %r15,-STACK_FRAME_OVERHEAD
58 l %r1,s390_reset_mcck_handler-0b(%r13)
62 1: lm %r0,%r15,__LC_GPREGS_SAVE_AREA
65 .globl s390_reset_mcck_handler
66 s390_reset_mcck_handler:
69 .globl reset_pgm_handler
71 stm %r0,%r15,__LC_SAVE_AREA
73 0: l %r15,__LC_PANIC_STACK # load panic stack
74 ahi %r15,-STACK_FRAME_OVERHEAD
75 l %r1,s390_reset_pgm_handler-0b(%r13)
79 lm %r0,%r15,__LC_SAVE_AREA
82 1: lpsw disabled_wait_psw-0b(%r13)
83 .globl s390_reset_pgm_handler
84 s390_reset_pgm_handler:
88 .long 0x000a0000,0x00000000 + reset_pgm_handler
90 #endif /* CONFIG_64BIT */