OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [arch/] [s390/] [kernel/] [base.S] - Blame information for rev 63

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 63 marcus.erl
/*
2
 *  arch/s390/kernel/base.S
3
 *
4
 *    Copyright IBM Corp. 2006,2007
5
 *    Author(s): Heiko Carstens 
6
 *               Michael Holzheu 
7
 */
8
 
9
#include 
10
#include 
11
 
12
#ifdef CONFIG_64BIT
13
 
14
        .globl  s390_base_mcck_handler
15
s390_base_mcck_handler:
16
        basr    %r13,0
17
0:      lg      %r15,__LC_PANIC_STACK   # load panic stack
18
        aghi    %r15,-STACK_FRAME_OVERHEAD
19
        larl    %r1,s390_base_mcck_handler_fn
20
        lg      %r1,0(%r1)
21
        ltgr    %r1,%r1
22
        jz      1f
23
        basr    %r14,%r1
24
1:      la      %r1,4095
25
        lmg     %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1)
26
        lpswe   __LC_MCK_OLD_PSW
27
 
28
        .section .bss
29
        .globl  s390_base_mcck_handler_fn
30
s390_base_mcck_handler_fn:
31
        .quad   0
32
        .previous
33
 
34
        .globl  s390_base_ext_handler
35
s390_base_ext_handler:
36
        stmg    %r0,%r15,__LC_SAVE_AREA
37
        basr    %r13,0
38
0:      aghi    %r15,-STACK_FRAME_OVERHEAD
39
        larl    %r1,s390_base_ext_handler_fn
40
        lg      %r1,0(%r1)
41
        ltgr    %r1,%r1
42
        jz      1f
43
        basr    %r14,%r1
44
1:      lmg     %r0,%r15,__LC_SAVE_AREA
45
        ni      __LC_EXT_OLD_PSW+1,0xfd # clear wait state bit
46
        lpswe   __LC_EXT_OLD_PSW
47
 
48
        .section .bss
49
        .globl s390_base_ext_handler_fn
50
s390_base_ext_handler_fn:
51
        .quad   0
52
        .previous
53
 
54
        .globl  s390_base_pgm_handler
55
s390_base_pgm_handler:
56
        stmg    %r0,%r15,__LC_SAVE_AREA
57
        basr    %r13,0
58
0:      aghi    %r15,-STACK_FRAME_OVERHEAD
59
        larl    %r1,s390_base_pgm_handler_fn
60
        lg      %r1,0(%r1)
61
        ltgr    %r1,%r1
62
        jz      1f
63
        basr    %r14,%r1
64
        lmg     %r0,%r15,__LC_SAVE_AREA
65
        lpswe   __LC_PGM_OLD_PSW
66
1:      lpswe   disabled_wait_psw-0b(%r13)
67
 
68
        .align  8
69
disabled_wait_psw:
70
        .quad   0x0002000180000000,0x0000000000000000 + s390_base_pgm_handler
71
 
72
        .section .bss
73
        .globl s390_base_pgm_handler_fn
74
s390_base_pgm_handler_fn:
75
        .quad   0
76
        .previous
77
 
78
#else /* CONFIG_64BIT */
79
 
80
        .globl  s390_base_mcck_handler
81
s390_base_mcck_handler:
82
        basr    %r13,0
83
0:      l       %r15,__LC_PANIC_STACK   # load panic stack
84
        ahi     %r15,-STACK_FRAME_OVERHEAD
85
        l       %r1,2f-0b(%r13)
86
        l       %r1,0(%r1)
87
        ltr     %r1,%r1
88
        jz      1f
89
        basr    %r14,%r1
90
1:      lm      %r0,%r15,__LC_GPREGS_SAVE_AREA
91
        lpsw    __LC_MCK_OLD_PSW
92
 
93
2:      .long   s390_base_mcck_handler_fn
94
 
95
        .section .bss
96
        .globl  s390_base_mcck_handler_fn
97
s390_base_mcck_handler_fn:
98
        .long   0
99
        .previous
100
 
101
        .globl  s390_base_ext_handler
102
s390_base_ext_handler:
103
        stm     %r0,%r15,__LC_SAVE_AREA
104
        basr    %r13,0
105
0:      ahi     %r15,-STACK_FRAME_OVERHEAD
106
        l       %r1,2f-0b(%r13)
107
        l       %r1,0(%r1)
108
        ltr     %r1,%r1
109
        jz      1f
110
        basr    %r14,%r1
111
1:      lm      %r0,%r15,__LC_SAVE_AREA
112
        ni      __LC_EXT_OLD_PSW+1,0xfd # clear wait state bit
113
        lpsw    __LC_EXT_OLD_PSW
114
 
115
2:      .long   s390_base_ext_handler_fn
116
 
117
        .section .bss
118
        .globl  s390_base_ext_handler_fn
119
s390_base_ext_handler_fn:
120
        .long   0
121
        .previous
122
 
123
        .globl  s390_base_pgm_handler
124
s390_base_pgm_handler:
125
        stm     %r0,%r15,__LC_SAVE_AREA
126
        basr    %r13,0
127
0:      ahi     %r15,-STACK_FRAME_OVERHEAD
128
        l       %r1,2f-0b(%r13)
129
        l       %r1,0(%r1)
130
        ltr     %r1,%r1
131
        jz      1f
132
        basr    %r14,%r1
133
        lm      %r0,%r15,__LC_SAVE_AREA
134
        lpsw    __LC_PGM_OLD_PSW
135
 
136
1:      lpsw    disabled_wait_psw-0b(%r13)
137
 
138
2:      .long   s390_base_pgm_handler_fn
139
 
140
disabled_wait_psw:
141
        .align  8
142
        .long   0x000a0000,0x00000000 + s390_base_pgm_handler
143
 
144
        .section .bss
145
        .globl  s390_base_pgm_handler_fn
146
s390_base_pgm_handler_fn:
147
        .long   0
148
        .previous
149
 
150
#endif /* CONFIG_64BIT */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.