1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * locore.S
4  */
5 #include <asm/asm.h>
6 #include <asm/regdef.h>
7 #include <asm/mipsregs.h>
8 
9 	.text
10 
11 /*
12  * Simple general exception handling routine. This one is used for the
13  * Memory sizing routine for pmax machines. HK
14  */
15 
16 NESTED(genexcept_early, 0, sp)
17 	.set	noat
18 	.set	noreorder
19 
20 	mfc0	k0, CP0_STATUS
21 	la	k1, mem_err
22 
23 	sw	k0, 0(k1)
24 
25 	mfc0	k0, CP0_EPC
26 	nop
27 	addiu	k0, 4		# skip the causing instruction
28 	jr	k0
29 	 rfe
30 END(genexcept_early)
31