Rev 2071 | Rev 3837 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2071 | Rev 3833 | ||
---|---|---|---|
Line 58... | Line 58... | ||
58 | mfsprg2 sp |
58 | mfsprg2 sp |
59 | subis sp, sp, 0x8000 |
59 | subis sp, sp, 0x8000 |
60 | 60 | ||
61 | 2: |
61 | 2: |
62 | 62 | ||
63 | subi sp, sp, 160 |
63 | subi sp, sp, 164 |
64 | stw r0, 8(sp) |
64 | stw r0, 8(sp) |
65 | stw r2, 12(sp) |
65 | stw r2, 12(sp) |
66 | stw r3, 16(sp) |
66 | stw r3, 16(sp) |
67 | stw r4, 20(sp) |
67 | stw r4, 20(sp) |
68 | stw r5, 24(sp) |
68 | stw r5, 24(sp) |
Line 107... | Line 107... | ||
107 | stw r12, 144(sp) |
107 | stw r12, 144(sp) |
108 | 108 | ||
109 | mfxer r12 |
109 | mfxer r12 |
110 | stw r12, 148(sp) |
110 | stw r12, 148(sp) |
111 | 111 | ||
112 | mfsprg1 r12 |
112 | mfdar r12 |
113 | stw r12, 152(sp) |
113 | stw r12, 152(sp) |
114 | 114 | ||
115 | mfsprg2 r12 |
115 | mfsprg1 r12 |
116 | stw r12, 156(sp) |
116 | stw r12, 156(sp) |
- | 117 | ||
- | 118 | mfsprg2 r12 |
|
- | 119 | stw r12, 160(sp) |
|
117 | .endm |
120 | .endm |
118 | 121 | ||
119 | .org 0x100 |
122 | .org 0x100 |
120 | .global exc_system_reset |
123 | .global exc_system_reset |
121 | exc_system_reset: |
124 | exc_system_reset: |
Line 135... | Line 138... | ||
135 | .org 0x300 |
138 | .org 0x300 |
136 | .global exc_data_storage |
139 | .global exc_data_storage |
137 | exc_data_storage: |
140 | exc_data_storage: |
138 | CONTEXT_STORE |
141 | CONTEXT_STORE |
139 | 142 | ||
140 | li r3, 2 |
- | |
141 | mr r4, sp |
- | |
142 | addi r4, r4, 8 |
- | |
143 | bl pht_real_refill |
- | |
144 | - | ||
145 | cmpwi r3, 0 |
- | |
146 | bne iret_real |
- | |
147 | - | ||
148 | li r3, 2 |
- | |
149 | b jump_to_kernel |
143 | b data_storage |
150 | 144 | ||
151 | .org 0x400 |
145 | .org 0x400 |
152 | .global exc_instruction_storage |
146 | .global exc_instruction_storage |
153 | exc_instruction_storage: |
147 | exc_instruction_storage: |
154 | CONTEXT_STORE |
148 | CONTEXT_STORE |
155 | 149 | ||
156 | li r3, 3 |
- | |
157 | mr r4, sp |
- | |
158 | addi r4, r4, 8 |
- | |
159 | bl pht_real_refill |
- | |
160 | - | ||
161 | cmpwi r3, 0 |
- | |
162 | bne iret_real |
- | |
163 | - | ||
164 | li r3, 3 |
- | |
165 | b jump_to_kernel |
150 | b instruction_storage |
166 | 151 | ||
167 | .org 0x500 |
152 | .org 0x500 |
168 | .global exc_external |
153 | .global exc_external |
169 | exc_external: |
154 | exc_external: |
170 | CONTEXT_STORE |
155 | CONTEXT_STORE |
Line 234... | Line 219... | ||
234 | 219 | ||
235 | li r3, 12 |
220 | li r3, 12 |
236 | b jump_to_kernel |
221 | b jump_to_kernel |
237 | 222 | ||
238 | .org 0x4000 |
223 | .org 0x4000 |
- | 224 | data_storage: |
|
- | 225 | li r3, 2 |
|
- | 226 | mr r4, sp |
|
- | 227 | addi r4, r4, 8 |
|
- | 228 | bl pht_real_refill |
|
- | 229 | ||
- | 230 | cmpwi r3, 0 |
|
- | 231 | bne iret_real |
|
- | 232 | ||
- | 233 | li r3, 2 |
|
- | 234 | b jump_to_kernel |
|
- | 235 | ||
- | 236 | instruction_storage: |
|
- | 237 | li r3, 3 |
|
- | 238 | mr r4, sp |
|
- | 239 | addi r4, r4, 8 |
|
- | 240 | bl pht_real_refill |
|
- | 241 | ||
- | 242 | cmpwi r3, 0 |
|
- | 243 | bne iret_real |
|
- | 244 | ||
- | 245 | li r3, 3 |
|
- | 246 | b jump_to_kernel |
|
- | 247 | ||
239 | jump_to_kernel: |
248 | jump_to_kernel: |
240 | lis r12, iret@ha |
249 | lis r12, iret@ha |
241 | addi r12, r12, iret@l |
250 | addi r12, r12, iret@l |
242 | mtlr r12 |
251 | mtlr r12 |
243 | 252 | ||
Line 320... | Line 329... | ||
320 | mtctr r12 |
329 | mtctr r12 |
321 | 330 | ||
322 | lwz r12, 148(sp) |
331 | lwz r12, 148(sp) |
323 | mtxer r12 |
332 | mtxer r12 |
324 | 333 | ||
325 | lwz r12, 152(sp) |
334 | lwz r12, 156(sp) |
326 | lwz sp, 156(sp) |
335 | lwz sp, 160(sp) |
327 | 336 | ||
328 | rfi |
337 | rfi |