summaryrefslogtreecommitdiffstats
path: root/arch/mips/lib/genex.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/lib/genex.S')
-rw-r--r--arch/mips/lib/genex.S33
1 files changed, 11 insertions, 22 deletions
diff --git a/arch/mips/lib/genex.S b/arch/mips/lib/genex.S
index 5fb2223231..27dd9de67a 100644
--- a/arch/mips/lib/genex.S
+++ b/arch/mips/lib/genex.S
@@ -1,6 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
#include <asm/asm.h>
#include <asm/regdef.h>
-#include <asm/mipsregs.h>
#include <asm/stackframe.h>
.text
@@ -9,31 +10,19 @@
.set noreorder
.align 5
-/* Exception vector */
-NESTED(handle_reserved, 0, sp)
+NESTED(exception_vec, 0, sp)
+ j handle_reserved
+ nop
+EXPORT(exception_vec_end)
+END(exception_vec)
+
+handle_reserved:
SAVE_ALL
- la k0, barebox_exc_handler
- jal k0
+ PTR_LA k0, barebox_exc_handler
+ j k0
move a0, sp
- /* will never return here */
- END(handle_reserved)
-
-/* General exception vector */
-NESTED(except_vec3_generic, 0, sp)
- .set noat
- mfc0 k1, CP0_CAUSE
- la k0, exception_handlers
- andi k1, k1, 0x7c
- addu k0, k0, k1
- lw k0, (k0)
- nop
- jr k0
- nop
- END(except_vec3_generic)
- .set at
FEXPORT(ret_from_exception)
.set noat
RESTORE_ALL_AND_RET
- nop
.set at