-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
yaml --- r: 46183 b: refs/heads/master c: ab14de6 h: refs/heads/master i: 46181: fae9e82 46179: b467d07 46175: 2b93910 v: v3
- Loading branch information
Heiko Carstens
authored and
Martin Schwidefsky
committed
Feb 5, 2007
1 parent
b638422
commit a51d1c9
Showing
22 changed files
with
599 additions
and
610 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 31ee4b2f40994e8b21691f85cdd4052551a789b7 | ||
refs/heads/master: ab14de6c37fae22911ba99f4171613e6d758050b |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
/* | ||
* arch/s390/kernel/base.S | ||
* | ||
* Copyright IBM Corp. 2006,2007 | ||
* Author(s): Heiko Carstens <heiko.carstens@de.ibm.com> | ||
* Michael Holzheu <holzheu@de.ibm.com> | ||
*/ | ||
|
||
#include <asm/ptrace.h> | ||
#include <asm/lowcore.h> | ||
|
||
#ifdef CONFIG_64BIT | ||
|
||
.globl s390_base_mcck_handler | ||
s390_base_mcck_handler: | ||
basr %r13,0 | ||
0: lg %r15,__LC_PANIC_STACK # load panic stack | ||
aghi %r15,-STACK_FRAME_OVERHEAD | ||
larl %r1,s390_base_mcck_handler_fn | ||
lg %r1,0(%r1) | ||
ltgr %r1,%r1 | ||
jz 1f | ||
basr %r14,%r1 | ||
1: la %r1,4095 | ||
lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1) | ||
lpswe __LC_MCK_OLD_PSW | ||
|
||
.section .bss | ||
.globl s390_base_mcck_handler_fn | ||
s390_base_mcck_handler_fn: | ||
.quad 0 | ||
.previous | ||
|
||
.globl s390_base_ext_handler | ||
s390_base_ext_handler: | ||
stmg %r0,%r15,__LC_SAVE_AREA | ||
basr %r13,0 | ||
0: aghi %r15,-STACK_FRAME_OVERHEAD | ||
larl %r1,s390_base_ext_handler_fn | ||
lg %r1,0(%r1) | ||
ltgr %r1,%r1 | ||
jz 1f | ||
basr %r14,%r1 | ||
1: lmg %r0,%r15,__LC_SAVE_AREA | ||
ni __LC_EXT_OLD_PSW+1,0xfd # clear wait state bit | ||
lpswe __LC_EXT_OLD_PSW | ||
|
||
.section .bss | ||
.globl s390_base_ext_handler_fn | ||
s390_base_ext_handler_fn: | ||
.quad 0 | ||
.previous | ||
|
||
.globl s390_base_pgm_handler | ||
s390_base_pgm_handler: | ||
stmg %r0,%r15,__LC_SAVE_AREA | ||
basr %r13,0 | ||
0: aghi %r15,-STACK_FRAME_OVERHEAD | ||
larl %r1,s390_base_pgm_handler_fn | ||
lg %r1,0(%r1) | ||
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) | ||
|
||
.align 8 | ||
disabled_wait_psw: | ||
.quad 0x0002000180000000,0x0000000000000000 + s390_base_pgm_handler | ||
|
||
.section .bss | ||
.globl s390_base_pgm_handler_fn | ||
s390_base_pgm_handler_fn: | ||
.quad 0 | ||
.previous | ||
|
||
#else /* CONFIG_64BIT */ | ||
|
||
.globl s390_base_mcck_handler | ||
s390_base_mcck_handler: | ||
basr %r13,0 | ||
0: l %r15,__LC_PANIC_STACK # load panic stack | ||
ahi %r15,-STACK_FRAME_OVERHEAD | ||
l %r1,2f-0b(%r13) | ||
l %r1,0(%r1) | ||
ltr %r1,%r1 | ||
jz 1f | ||
basr %r14,%r1 | ||
1: lm %r0,%r15,__LC_GPREGS_SAVE_AREA | ||
lpsw __LC_MCK_OLD_PSW | ||
|
||
2: .long s390_base_mcck_handler_fn | ||
|
||
.section .bss | ||
.globl s390_base_mcck_handler_fn | ||
s390_base_mcck_handler_fn: | ||
.long 0 | ||
.previous | ||
|
||
.globl s390_base_ext_handler | ||
s390_base_ext_handler: | ||
stm %r0,%r15,__LC_SAVE_AREA | ||
basr %r13,0 | ||
0: ahi %r15,-STACK_FRAME_OVERHEAD | ||
l %r1,2f-0b(%r13) | ||
l %r1,0(%r1) | ||
ltr %r1,%r1 | ||
jz 1f | ||
basr %r14,%r1 | ||
1: lm %r0,%r15,__LC_SAVE_AREA | ||
ni __LC_EXT_OLD_PSW+1,0xfd # clear wait state bit | ||
lpsw __LC_EXT_OLD_PSW | ||
|
||
2: .long s390_base_ext_handler_fn | ||
|
||
.section .bss | ||
.globl s390_base_ext_handler_fn | ||
s390_base_ext_handler_fn: | ||
.long 0 | ||
.previous | ||
|
||
.globl s390_base_pgm_handler | ||
s390_base_pgm_handler: | ||
stm %r0,%r15,__LC_SAVE_AREA | ||
basr %r13,0 | ||
0: ahi %r15,-STACK_FRAME_OVERHEAD | ||
l %r1,2f-0b(%r13) | ||
l %r1,0(%r1) | ||
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) | ||
|
||
2: .long s390_base_pgm_handler_fn | ||
|
||
disabled_wait_psw: | ||
.align 8 | ||
.long 0x000a0000,0x00000000 + s390_base_pgm_handler | ||
|
||
.section .bss | ||
.globl s390_base_pgm_handler_fn | ||
s390_base_pgm_handler_fn: | ||
.long 0 | ||
.previous | ||
|
||
#endif /* CONFIG_64BIT */ |
Oops, something went wrong.