diff options
author | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-15 10:22:22 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-15 10:22:22 -0800 |
commit | 701dfbe71903413d10caf2790259bccbabbedcf5 (patch) | |
tree | 6d87a6d1ad2bc4672684197aa1788890bead0d1e /arch/s390/kernel/reset.S | |
parent | d1526e2cda64d5a1de56aef50bad9e5df14245c2 (diff) | |
parent | e42734e270b9e5ada83188d73b733533ce11ee4a (diff) |
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] cio: css_register_subchannel race.
[S390] Save prefix register for dump on panic
[S390] Fix reboot hang
[S390] Fix reboot hang on LPARs
[S390] sclp_cpi module license.
[S390] zcrypt: module unload fixes.
[S390] Hipersocket multicast queue: make sure outbound handler is called
[S390] hypfs fixes
[S390] update default configuration
Diffstat (limited to 'arch/s390/kernel/reset.S')
-rw-r--r-- | arch/s390/kernel/reset.S | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/arch/s390/kernel/reset.S b/arch/s390/kernel/reset.S index be8688c0665..8a87355161f 100644 --- a/arch/s390/kernel/reset.S +++ b/arch/s390/kernel/reset.S @@ -3,6 +3,7 @@ * * Copyright (C) IBM Corp. 2006 * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com> + * Michael Holzheu <holzheu@de.ibm.com> */ #include <asm/ptrace.h> @@ -27,6 +28,26 @@ reset_mcck_handler: s390_reset_mcck_handler: .quad 0 + .globl reset_pgm_handler +reset_pgm_handler: + stmg %r0,%r15,__LC_SAVE_AREA + basr %r13,0 +0: lg %r15,__LC_PANIC_STACK # load panic stack + aghi %r15,-STACK_FRAME_OVERHEAD + lg %r1,s390_reset_pgm_handler-0b(%r13) + ltgr %r1,%r1 + jz 1f + basr %r14,%r1 + lmg %r0,%r15,__LC_SAVE_AREA + lpswe __LC_PGM_OLD_PSW +1: lpswe disabled_wait_psw-0b(%r13) + .globl s390_reset_pgm_handler +s390_reset_pgm_handler: + .quad 0 + .align 8 +disabled_wait_psw: + .quad 0x0002000180000000,0x0000000000000000 + reset_pgm_handler + #else /* CONFIG_64BIT */ .globl reset_mcck_handler @@ -45,4 +66,25 @@ reset_mcck_handler: s390_reset_mcck_handler: .long 0 + .globl reset_pgm_handler +reset_pgm_handler: + stm %r0,%r15,__LC_SAVE_AREA + basr %r13,0 +0: l %r15,__LC_PANIC_STACK # load panic stack + ahi %r15,-STACK_FRAME_OVERHEAD + l %r1,s390_reset_pgm_handler-0b(%r13) + ltr %r1,%r1 + jz 1f + basr %r14,%r1 + lm %r0,%r15,__LC_SAVE_AREA + lpsw __LC_PGM_OLD_PSW + +1: lpsw disabled_wait_psw-0b(%r13) + .globl s390_reset_pgm_handler +s390_reset_pgm_handler: + .long 0 +disabled_wait_psw: + .align 8 + .long 0x000a0000,0x00000000 + reset_pgm_handler + #endif /* CONFIG_64BIT */ |