summaryrefslogtreecommitdiff
path: root/utils/hwstub/stub/jz4760b/crt0.S
diff options
context:
space:
mode:
Diffstat (limited to 'utils/hwstub/stub/jz4760b/crt0.S')
-rw-r--r--utils/hwstub/stub/jz4760b/crt0.S15
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
145tlb_refill_handler: 147tlb_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
152cache_error_handler: 155cache_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
159general_exception_handler: 163general_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