xref: /openbmc/linux/arch/sh/kernel/cpu/sh2/ex.S (revision b8d312aa)
1/* SPDX-License-Identifier: GPL-2.0
2 *
3 * arch/sh/kernel/cpu/sh2/ex.S
4 *
5 * The SH-2 exception vector table
6 *
7 * Copyright (C) 2005 Yoshinori Sato
8 */
9
10#include <linux/linkage.h>
11
12!
13! convert Exception Vector to Exception Number
14!
15exception_entry:
16no	=	0
17	.rept	256
18	mov.l	r1,@-sp
19	bra	exception_trampoline
20	mov	#no,r1
21no	=	no + 1
22	.endr
23exception_trampoline:
24	mov.l	r0,@-sp
25	mov.l	$exception_handler,r0
26	extu.b	r1,r1
27	jmp	@r0
28	  extu.w	r1,r1
29
30	.align	2
31$exception_entry:
32	.long	exception_entry
33$exception_handler:
34	.long	exception_handler
35!
36! Exception Vector Base
37!
38	.align	2
39ENTRY(vbr_base)
40vector	=	0
41	.rept	256
42	.long	exception_entry + vector * 6
43vector	=	vector + 1
44	.endr
45