diff options
Diffstat (limited to 'utils/hwstub/stub/jz4760b/crt0.S')
-rw-r--r-- | utils/hwstub/stub/jz4760b/crt0.S | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/utils/hwstub/stub/jz4760b/crt0.S b/utils/hwstub/stub/jz4760b/crt0.S index 94d95b3e73..4e1bcc5dbc 100644 --- a/utils/hwstub/stub/jz4760b/crt0.S +++ b/utils/hwstub/stub/jz4760b/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 |
@@ -137,26 +138,30 @@ die_blink: | |||
137 | j .blink_loop | 138 | j .blink_loop |
138 | nop | 139 | nop |
139 | 140 | ||
140 | /* restore_data_abort_jmp restores the context and returns from exception */ | 141 | /* restore_exception_jmp restores the context and returns from exception, it takes |
141 | .extern restore_data_abort_jmp | 142 | * as argument the type of exception */ |
143 | .extern restore_exception_jmp | ||
142 | 144 | ||
143 | .global tlb_refill_handler | 145 | .global tlb_refill_handler |
144 | .section .exception.tlb_refill,"ax",%progbits | 146 | .section .exception.tlb_refill,"ax",%progbits |
145 | tlb_refill_handler: | 147 | tlb_refill_handler: |
146 | la k0, restore_data_abort_jmp | 148 | li a0, EXCEPTION_ADDR |
149 | la k0, restore_exception_jmp | ||
147 | jr k0 | 150 | jr k0 |
148 | nop | 151 | nop |
149 | 152 | ||
150 | .global cache_error_handler | 153 | .global cache_error_handler |
151 | .section .exception.cache_error,"ax",%progbits | 154 | .section .exception.cache_error,"ax",%progbits |
152 | cache_error_handler: | 155 | cache_error_handler: |
153 | la k0, restore_data_abort_jmp | 156 | li a0, EXCEPTION_ADDR |
157 | la k0, restore_exception_jmp | ||
154 | jr k0 | 158 | jr k0 |
155 | nop | 159 | nop |
156 | 160 | ||
157 | .global general_exception_handler | 161 | .global general_exception_handler |
158 | .section .exception.general_exception,"ax",%progbits | 162 | .section .exception.general_exception,"ax",%progbits |
159 | general_exception_handler: | 163 | general_exception_handler: |
160 | la k0, restore_data_abort_jmp | 164 | li a0, EXCEPTION_UNSP |
165 | la k0, restore_exception_jmp | ||
161 | jr k0 | 166 | jr k0 |
162 | nop | 167 | nop |