Rev 1004 | Rev 1267 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1004 | Rev 1215 | ||
|---|---|---|---|
| Line 29... | Line 29... | ||
| 29 | #include <arch/asm/regname.h> |
29 | #include <arch/asm/regname.h> |
| 30 | #include <arch/mm/page.h> |
30 | #include <arch/mm/page.h> |
| 31 | 31 | ||
| 32 | .section K_UNMAPPED_TEXT_START, "ax" |
32 | .section K_UNMAPPED_TEXT_START, "ax" |
| 33 | 33 | ||
| 34 | .org 0x100 |
- | |
| 35 | .global exc_system_reset |
- | |
| 36 | exc_system_reset: |
- | |
| 37 | b exc_system_reset |
- | |
| 38 | - | ||
| 39 | .org 0x200 |
- | |
| 40 | .global exc_machine_check |
- | |
| 41 | exc_machine_check: |
- | |
| 42 | b exc_machine_check |
- | |
| 43 | - | ||
| 44 | .org 0x300 |
- | |
| 45 | .global exc_data_storage |
- | |
| 46 | exc_data_storage: |
- | |
| 47 | b exc_data_storage |
- | |
| 48 | - | ||
| 49 | .org 0x380 |
- | |
| 50 | .global exc_data_segment |
- | |
| 51 | exc_data_segment: |
- | |
| 52 | b exc_data_segment |
- | |
| 53 | - | ||
| 54 | .org 0x400 |
- | |
| 55 | .global exc_instruction_storage |
- | |
| 56 | exc_instruction_storage: |
- | |
| 57 | b exc_instruction_storage |
- | |
| 58 | - | ||
| 59 | .org 0x480 |
- | |
| 60 | .global exc_instruction_segment |
- | |
| 61 | exc_instruction_segment: |
- | |
| 62 | b exc_instruction_segment |
- | |
| 63 | - | ||
| 64 | .org 0x500 |
- | |
| 65 | .global exc_external |
- | |
| 66 | exc_external: |
- | |
| 67 | b exc_external |
- | |
| 68 | - | ||
| 69 | .org 0x600 |
- | |
| 70 | .global exc_alignment |
34 | .macro CONTEXT_STORE |
| 71 | exc_alignment: |
- | |
| 72 | b exc_alignment |
- | |
| 73 | - | ||
| 74 | .org 0x700 |
- | |
| 75 | .global exc_program |
- | |
| 76 | exc_program: |
- | |
| 77 | b exc_program |
- | |
| 78 | - | ||
| 79 | .org 0x800 |
- | |
| 80 | .global exc_fp_unavailable |
- | |
| 81 | exc_fp_unavailable: |
- | |
| 82 | b exc_fp_unavailable |
- | |
| 83 | - | ||
| 84 | .org 0x900 |
- | |
| 85 | .global exc_decrementer |
- | |
| 86 | exc_decrementer: |
- | |
| 87 | mtspr sprg1, sp |
35 | mtspr sprg1, sp |
| 88 | 36 | ||
| 89 | subis sp, sp, 0x8000 |
37 | subis sp, sp, 0x8000 |
| 90 | 38 | ||
| 91 | subi sp, sp, 144 |
39 | subi sp, sp, 144 |
| Line 136... | Line 84... | ||
| 136 | mfctr r3 |
84 | mfctr r3 |
| 137 | stw r3, 140(sp) |
85 | stw r3, 140(sp) |
| 138 | 86 | ||
| 139 | mfxer r3 |
87 | mfxer r3 |
| 140 | stw r3, 144(sp) |
88 | stw r3, 144(sp) |
| - | 89 | .endm |
|
| - | 90 | ||
| - | 91 | .org 0x100 |
|
| - | 92 | .global exc_system_reset |
|
| - | 93 | exc_system_reset: |
|
| - | 94 | b exc_system_reset |
|
| - | 95 | ||
| - | 96 | .org 0x200 |
|
| - | 97 | .global exc_machine_check |
|
| - | 98 | exc_machine_check: |
|
| - | 99 | b exc_machine_check |
|
| - | 100 | ||
| - | 101 | .org 0x300 |
|
| - | 102 | .global exc_data_storage |
|
| - | 103 | exc_data_storage: |
|
| - | 104 | CONTEXT_STORE |
|
| - | 105 | ||
| - | 106 | lis r3, pht_refill@ha |
|
| - | 107 | addi r3, r3, pht_refill@l |
|
| - | 108 | mtspr srr0, r3 |
|
| - | 109 | ||
| - | 110 | mfmsr r3 |
|
| - | 111 | ori r3, r3, (msr_ir | msr_dr)@l |
|
| - | 112 | mtspr srr1, r3 |
|
| - | 113 | ||
| - | 114 | lis r3, iret@ha |
|
| - | 115 | addi r3, r3, iret@l |
|
| - | 116 | mtlr r3 |
|
| - | 117 | ||
| - | 118 | addis sp, sp, 0x8000 |
|
| - | 119 | rfi |
|
| - | 120 | ||
| - | 121 | .org 0x400 |
|
| - | 122 | .global exc_instruction_storage |
|
| - | 123 | exc_instruction_storage: |
|
| - | 124 | b exc_instruction_storage |
|
| - | 125 | ||
| - | 126 | .org 0x480 |
|
| - | 127 | .global exc_instruction_segment |
|
| - | 128 | exc_instruction_segment: |
|
| - | 129 | b exc_instruction_segment |
|
| - | 130 | ||
| - | 131 | .org 0x500 |
|
| - | 132 | .global exc_external |
|
| - | 133 | exc_external: |
|
| - | 134 | b exc_external |
|
| - | 135 | ||
| - | 136 | .org 0x600 |
|
| - | 137 | .global exc_alignment |
|
| - | 138 | exc_alignment: |
|
| - | 139 | b exc_alignment |
|
| - | 140 | ||
| - | 141 | .org 0x700 |
|
| - | 142 | .global exc_program |
|
| - | 143 | exc_program: |
|
| - | 144 | b exc_program |
|
| - | 145 | ||
| - | 146 | .org 0x800 |
|
| - | 147 | .global exc_fp_unavailable |
|
| - | 148 | exc_fp_unavailable: |
|
| - | 149 | b exc_fp_unavailable |
|
| - | 150 | ||
| - | 151 | .org 0x900 |
|
| - | 152 | .global exc_decrementer |
|
| - | 153 | exc_decrementer: |
|
| - | 154 | CONTEXT_STORE |
|
| 141 | 155 | ||
| 142 | lis r3, exc_dispatch@ha |
156 | lis r3, exc_dispatch@ha |
| 143 | addi r3, r3, exc_dispatch@l |
157 | addi r3, r3, exc_dispatch@l |
| 144 | mtspr srr0, r3 |
158 | mtspr srr0, r3 |
| 145 | 159 | ||