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 |