- DBGKD_WAIT_STATE_CHANGE64 is used in KD protocol 5, not number 6 that we use. Proto...
[reactos.git] / reactos / lib / ppcmmu / devint.s
1 /* PowerPC Trap Handler first Half */
2 .text
3 .globl mmumain
4 .globl _mmumain
5 mmumain:
6 mr 0,1
7 lis 1,2
8 subi 1,1,448
9 stw 0,20(1)
10 stw 2,24(1)
11 stw 3,28(1)
12 stw 4,32(1)
13 stw 5,36(1)
14 stw 6,40(1)
15 stw 7,44(1)
16 stw 8,48(1)
17 stw 9,52(1)
18 stw 10,56(1)
19 stw 11,60(1)
20 stw 12,64(1)
21 stw 13,68(1)
22 stw 14,72(1)
23 stw 15,76(1)
24 stw 16,80(1)
25 stw 17,84(1)
26 stw 18,88(1)
27 stw 19,92(1)
28 stw 20,96(1)
29 stw 21,100(1)
30 stw 22,104(1)
31 stw 23,108(1)
32 stw 24,112(1)
33 stw 25,116(1)
34 stw 26,120(1)
35 stw 27,124(1)
36 stw 28,128(1)
37 stw 29,132(1)
38 stw 30,136(1)
39 stw 31,140(1)
40 mfsrr0 0
41 stw 0,400(1)
42 mfmsr 0
43 stw 0,404(1)
44 mfcr 0
45 stw 0,408(1)
46 mflr 0
47 stw 0,412(1)
48 mfctr 0
49 stw 0,416(1)
50 mfdsisr 0
51 stw 0,420(1)
52 mfdar 0
53 stw 0,424(1)
54 mfxer 0
55 stw 0,428(1)
56 addi 7,1,16
57 lis 8,_mmumain@ha
58 addi 8,8,_mmumain@l
59 mtctr 8
60 bctrl
61 addi 1,1,16
62 lwz 2,8(1)
63 /* Don't reload r3, since we'll return a result */
64 lwz 4,16(1)
65 lwz 5,20(1)
66 lwz 6,24(1)
67 lwz 7,28(1)
68 lwz 8,32(1)
69 lwz 9,36(1)
70 lwz 10,40(1)
71 lwz 11,44(1)
72 lwz 12,48(1)
73 lwz 13,52(1)
74 lwz 14,56(1)
75 lwz 15,60(1)
76 lwz 16,64(1)
77 lwz 17,68(1)
78 lwz 18,72(1)
79 lwz 19,76(1)
80 lwz 20,80(1)
81 lwz 21,84(1)
82 lwz 22,88(1)
83 lwz 23,92(1)
84 lwz 24,96(1)
85 lwz 25,100(1)
86 lwz 26,104(1)
87 lwz 27,108(1)
88 lwz 28,112(1)
89 lwz 29,116(1)
90 lwz 30,120(1)
91 lwz 31,124(1)
92 lwz 0,392(1)
93 mtcr 0
94 lwz 0,396(1)
95 mtsrr0 0
96 lwz 0,400(1)
97 mtctr 0
98 lwz 0,388(1) /* Copy out new MSR bits if needed */
99 lwz 1,4(1)
100 mtsrr1 0
101 rfi
102
103 .globl trap_start
104 .globl trap_end
105 trap_start:
106 mtsprg1 1
107 lis 1,2
108 subi 1,1,448
109 stw 0,16(1)
110 mfsprg1 0
111 stw 0,20(1)
112 stw 2,24(1)
113 stw 3,28(1)
114 stw 4,32(1)
115 stw 5,36(1)
116 stw 6,40(1)
117 stw 7,44(1)
118 stw 8,48(1)
119 stw 9,52(1)
120 stw 10,56(1)
121 stw 11,60(1)
122 stw 12,64(1)
123 stw 13,68(1)
124 stw 14,72(1)
125 stw 15,76(1)
126 stw 16,80(1)
127 stw 17,84(1)
128 stw 18,88(1)
129 stw 19,92(1)
130 stw 20,96(1)
131 stw 21,100(1)
132 stw 22,104(1)
133 stw 23,108(1)
134 stw 24,112(1)
135 stw 25,116(1)
136 stw 26,120(1)
137 stw 27,124(1)
138 stw 28,128(1)
139 stw 29,132(1)
140 stw 30,136(1)
141 stw 31,140(1)
142 mfsrr0 0
143 stw 0,400(1)
144 mfsrr1 0
145 stw 0,404(1)
146 mfcr 0
147 stw 0,408(1)
148 mflr 0
149 stw 0,412(1)
150 mfctr 0
151 stw 0,416(1)
152 mfdsisr 0
153 stw 0,420(1)
154 mfdar 0
155 stw 0,424(1)
156 mfxer 0
157 stw 0,428(1)
158 bl 1f
159 1: mflr 5
160 addi 4,1,16
161 rlwinm 3,5,24,0xff
162 lwz 5,36(5)
163 mtctr 5
164 lis 5,trap_finish_start@ha
165 addi 5,5,trap_finish_start@l
166 mtlr 5
167 bctr
168 trap_end:
169 .space 4
170
171 .globl trap_finish_start
172 trap_finish_start:
173 addi 1,1,16
174 lwz 2,8(1)
175 lwz 3,12(1)
176 lwz 4,16(1)
177 lwz 5,20(1)
178 lwz 6,24(1)
179 lwz 7,28(1)
180 lwz 8,32(1)
181 lwz 9,36(1)
182 lwz 10,40(1)
183 lwz 11,44(1)
184 lwz 12,48(1)
185 lwz 13,52(1)
186 lwz 14,56(1)
187 lwz 15,60(1)
188 lwz 16,64(1)
189 lwz 17,68(1)
190 lwz 18,72(1)
191 lwz 19,76(1)
192 lwz 20,80(1)
193 lwz 21,84(1)
194 lwz 22,88(1)
195 lwz 23,92(1)
196 lwz 24,96(1)
197 lwz 25,100(1)
198 lwz 26,104(1)
199 lwz 27,108(1)
200 lwz 28,112(1)
201 lwz 29,116(1)
202 lwz 30,120(1)
203 lwz 31,124(1)
204 lwz 0,384(1)
205 mtsrr0 0
206 lwz 0,388(1)
207 mtsrr1 0
208 lwz 0,392(1)
209 mtcr 0
210 lwz 0,396(1)
211 mtlr 0
212 lwz 0,400(1)
213 mtctr 0
214 lwz 0,404(1)
215 mtdsisr 0
216 lwz 0,412(1)
217 mtdar 0
218 lwz 0,416(1)
219 mtxer 0
220 lwz 0,0(1)
221 lwz 1,4(1)
222 rfi