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 |