151,12 → 151,26 |
.org 0x100 |
.global exc_system_reset |
exc_system_reset: |
b exc_system_reset |
CONTEXT_STORE |
|
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 0 |
b jump_to_kernel |
|
.org 0x200 |
.global exc_machine_check |
exc_machine_check: |
b exc_machine_check |
CONTEXT_STORE |
|
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 1 |
b jump_to_kernel |
|
.org 0x300 |
.global exc_data_storage |
163,11 → 177,11 |
exc_data_storage: |
CONTEXT_STORE |
|
lis r12, pht_refill@ha |
addi r12, r12, pht_refill@l |
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 1 |
li r3, 2 |
b jump_to_kernel |
|
.org 0x400 |
175,11 → 189,11 |
exc_instruction_storage: |
CONTEXT_STORE |
|
lis r12, pht_refill@ha |
addi r12, r12, pht_refill@l |
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 0 |
li r3, 3 |
b jump_to_kernel |
|
.org 0x500 |
186,28 → 200,49 |
.global exc_external |
exc_external: |
CONTEXT_STORE |
|
lis r12, extint_handler@ha |
addi r12, r12, extint_handler@l |
|
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 0 |
|
li r3, 4 |
b jump_to_kernel |
|
.org 0x600 |
.global exc_alignment |
exc_alignment: |
b exc_alignment |
CONTEXT_STORE |
|
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 5 |
b jump_to_kernel |
|
.org 0x700 |
.global exc_program |
exc_program: |
b exc_program |
CONTEXT_STORE |
|
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 6 |
b jump_to_kernel |
|
.org 0x800 |
.global exc_fp_unavailable |
exc_fp_unavailable: |
b exc_fp_unavailable |
CONTEXT_STORE |
|
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 7 |
b jump_to_kernel |
|
.org 0x900 |
.global exc_decrementer |
218,18 → 253,32 |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 10 |
li r3, 8 |
b jump_to_kernel |
|
.org 0xa00 |
.global exc_reserved0 |
exc_reserved0: |
b exc_reserved0 |
CONTEXT_STORE |
|
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 9 |
b jump_to_kernel |
|
.org 0xb00 |
.global exc_reserved1 |
exc_reserved1: |
b exc_reserved1 |
CONTEXT_STORE |
|
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 10 |
b jump_to_kernel |
|
.org 0xc00 |
.global exc_syscall |
241,4 → 290,11 |
.org 0xd00 |
.global exc_trace |
exc_trace: |
b exc_trace |
CONTEXT_STORE |
|
lis r12, exc_dispatch@ha |
addi r12, r12, exc_dispatch@l |
mtsrr0 r12 |
|
li r3, 12 |
b jump_to_kernel |