diff options
Diffstat (limited to 'utils/hwstub/stub/atj213x/crt0.S')
-rw-r--r-- | utils/hwstub/stub/atj213x/crt0.S | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/utils/hwstub/stub/atj213x/crt0.S b/utils/hwstub/stub/atj213x/crt0.S index 93cc57fc5e..5a3c81dc78 100644 --- a/utils/hwstub/stub/atj213x/crt0.S +++ b/utils/hwstub/stub/atj213x/crt0.S | |||
@@ -1,4 +1,5 @@ | |||
1 | #include "mips.h" | 1 | #include "mips.h" |
2 | #include "system.h" | ||
2 | 3 | ||
3 | .extern main | 4 | .extern main |
4 | .global start | 5 | .global start |
@@ -134,12 +135,12 @@ stack_munge_loop: | |||
134 | jr.hb t0 | 135 | jr.hb t0 |
135 | ei | 136 | ei |
136 | 137 | ||
137 | .extern data_abort_jmp_ctx_ptr | 138 | .extern exception_jmp_ctx_ptr |
138 | .global tlb_refill_handler | 139 | .global tlb_refill_handler |
139 | .section .exception.tlb_refill,"ax",%progbits | 140 | .section .exception.tlb_refill,"ax",%progbits |
140 | 141 | ||
141 | tlb_refill_handler: | 142 | tlb_refill_handler: |
142 | la k1, data_abort_jmp_ctx_ptr | 143 | la k1, exception_jmp_ctx_ptr |
143 | lw s0, 0(k1) | 144 | lw s0, 0(k1) |
144 | lw s1, 4(k1) | 145 | lw s1, 4(k1) |
145 | lw s2, 8(k1) | 146 | lw s2, 8(k1) |
@@ -153,7 +154,7 @@ tlb_refill_handler: | |||
153 | lw k1, 40(k1) | 154 | lw k1, 40(k1) |
154 | mtc0 k1, C0_EPC | 155 | mtc0 k1, C0_EPC |
155 | ehb | 156 | ehb |
156 | li v0, 1 | 157 | li v0, EXCEPTION_ADDR |
157 | eret | 158 | eret |
158 | nop | 159 | nop |
159 | 160 | ||
@@ -161,7 +162,7 @@ tlb_refill_handler: | |||
161 | .section .exception.cache_error,"ax",%progbits | 162 | .section .exception.cache_error,"ax",%progbits |
162 | 163 | ||
163 | cache_error_handler: | 164 | cache_error_handler: |
164 | la k1, data_abort_jmp_ctx_ptr | 165 | la k1, exception_jmp_ctx_ptr |
165 | lw s0, 0(k1) | 166 | lw s0, 0(k1) |
166 | lw s1, 4(k1) | 167 | lw s1, 4(k1) |
167 | lw s2, 8(k1) | 168 | lw s2, 8(k1) |
@@ -175,7 +176,7 @@ cache_error_handler: | |||
175 | lw k1, 40(k1) | 176 | lw k1, 40(k1) |
176 | mtc0 k1, C0_EPC | 177 | mtc0 k1, C0_EPC |
177 | ehb | 178 | ehb |
178 | li v0, 1 | 179 | li v0, EXCEPTION_ADDR |
179 | eret | 180 | eret |
180 | nop | 181 | nop |
181 | 182 | ||
@@ -183,7 +184,7 @@ cache_error_handler: | |||
183 | .section .exception.general_exception,"ax",%progbits | 184 | .section .exception.general_exception,"ax",%progbits |
184 | 185 | ||
185 | general_exception_handler: | 186 | general_exception_handler: |
186 | la k1, data_abort_jmp_ctx_ptr | 187 | la k1, exception_jmp_ctx_ptr |
187 | lw s0, 0(k1) | 188 | lw s0, 0(k1) |
188 | lw s1, 4(k1) | 189 | lw s1, 4(k1) |
189 | lw s2, 8(k1) | 190 | lw s2, 8(k1) |
@@ -197,7 +198,7 @@ general_exception_handler: | |||
197 | lw k1, 40(k1) | 198 | lw k1, 40(k1) |
198 | mtc0 k1, C0_EPC | 199 | mtc0 k1, C0_EPC |
199 | ehb | 200 | ehb |
200 | li v0, 1 | 201 | li v0, EXCEPTION_UNSP |
201 | eret | 202 | eret |
202 | nop | 203 | nop |
203 | 204 | ||