[PATCH] mm: pagefault_{disable,enable}()
[linux-2.6] / arch / s390 / kernel / reset.S
1 /*
2  *  arch/s390/kernel/reset.S
3  *
4  *    Copyright (C) IBM Corp. 2006
5  *    Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
6  */
7
8 #include <asm/ptrace.h>
9 #include <asm/lowcore.h>
10
11 #ifdef CONFIG_64BIT
12
13         .globl  reset_mcck_handler
14 reset_mcck_handler:
15         basr    %r13,0
16 0:      lg      %r15,__LC_PANIC_STACK   # load panic stack
17         aghi    %r15,-STACK_FRAME_OVERHEAD
18         lg      %r1,s390_reset_mcck_handler-0b(%r13)
19         ltgr    %r1,%r1
20         jz      1f
21         basr    %r14,%r1
22 1:      la      %r1,4095
23         lmg     %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1)
24         lpswe   __LC_MCK_OLD_PSW
25
26         .globl  s390_reset_mcck_handler
27 s390_reset_mcck_handler:
28         .quad   0
29
30 #else /* CONFIG_64BIT */
31
32         .globl  reset_mcck_handler
33 reset_mcck_handler:
34         basr    %r13,0
35 0:      l       %r15,__LC_PANIC_STACK   # load panic stack
36         ahi     %r15,-STACK_FRAME_OVERHEAD
37         l       %r1,s390_reset_mcck_handler-0b(%r13)
38         ltr     %r1,%r1
39         jz      1f
40         basr    %r14,%r1
41 1:      lm      %r0,%r15,__LC_GPREGS_SAVE_AREA
42         lpsw    __LC_MCK_OLD_PSW
43
44         .globl  s390_reset_mcck_handler
45 s390_reset_mcck_handler:
46         .long   0
47
48 #endif /* CONFIG_64BIT */