Rev 1609 | Rev 1726 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1609 | Rev 1716 | ||
---|---|---|---|
Line 114... | Line 114... | ||
114 | 114 | ||
115 | mfsprg2 r12 |
115 | mfsprg2 r12 |
116 | stw r12, 156(sp) |
116 | stw r12, 156(sp) |
117 | .endm |
117 | .endm |
118 | 118 | ||
119 | .org 0x060 |
- | |
120 | jump_to_kernel: |
- | |
121 | lis r12, iret@ha |
- | |
122 | addi r12, r12, iret@l |
- | |
123 | mtlr r12 |
- | |
124 | - | ||
125 | mfmsr r12 |
- | |
126 | ori r12, r12, (msr_ir | msr_dr)@l |
- | |
127 | mtsrr1 r12 |
- | |
128 | - | ||
129 | addis sp, sp, 0x8000 |
- | |
130 | mr r4, sp |
- | |
131 | addi r4, r4, 8 |
- | |
132 | - | ||
133 | rfi |
- | |
134 | - | ||
135 | jump_to_kernel_syscall: |
- | |
136 | lis r12, syscall_handler@ha |
- | |
137 | addi r12, r12, syscall_handler@l |
- | |
138 | mtsrr0 r12 |
- | |
139 | - | ||
140 | lis r12, iret_syscall@ha |
- | |
141 | addi r12, r12, iret_syscall@l |
- | |
142 | mtlr r12 |
- | |
143 | - | ||
144 | mfmsr r12 |
- | |
145 | ori r12, r12, (msr_ir | msr_dr)@l |
- | |
146 | mtsrr1 r12 |
- | |
147 | - | ||
148 | addis sp, sp, 0x8000 |
- | |
149 | rfi |
- | |
150 | - | ||
151 | .org 0x100 |
119 | .org 0x100 |
152 | .global exc_system_reset |
120 | .global exc_system_reset |
153 | exc_system_reset: |
121 | exc_system_reset: |
154 | CONTEXT_STORE |
122 | CONTEXT_STORE |
155 | 123 | ||
Line 296... | Line 264... | ||
296 | addi r12, r12, exc_dispatch@l |
264 | addi r12, r12, exc_dispatch@l |
297 | mtsrr0 r12 |
265 | mtsrr0 r12 |
298 | 266 | ||
299 | li r3, 12 |
267 | li r3, 12 |
300 | b jump_to_kernel |
268 | b jump_to_kernel |
- | 269 | ||
- | 270 | .org 0x4000 |
|
- | 271 | jump_to_kernel: |
|
- | 272 | lis r12, iret@ha |
|
- | 273 | addi r12, r12, iret@l |
|
- | 274 | mtlr r12 |
|
- | 275 | ||
- | 276 | mfmsr r12 |
|
- | 277 | ori r12, r12, (msr_ir | msr_dr)@l |
|
- | 278 | mtsrr1 r12 |
|
- | 279 | ||
- | 280 | addis sp, sp, 0x8000 |
|
- | 281 | mr r4, sp |
|
- | 282 | addi r4, r4, 8 |
|
- | 283 | ||
- | 284 | rfi |
|
- | 285 | ||
- | 286 | jump_to_kernel_syscall: |
|
- | 287 | lis r12, syscall_handler@ha |
|
- | 288 | addi r12, r12, syscall_handler@l |
|
- | 289 | mtsrr0 r12 |
|
- | 290 | ||
- | 291 | lis r12, iret_syscall@ha |
|
- | 292 | addi r12, r12, iret_syscall@l |
|
- | 293 | mtlr r12 |
|
- | 294 | ||
- | 295 | mfmsr r12 |
|
- | 296 | ori r12, r12, (msr_ir | msr_dr)@l |
|
- | 297 | mtsrr1 r12 |
|
- | 298 | ||
- | 299 | addis sp, sp, 0x8000 |
|
- | 300 | rfi |