xref: /openbmc/linux/arch/sh/kernel/cpu/sh2/ex.S (revision e2c75e76)
1/*
2 * arch/sh/kernel/cpu/sh2/ex.S
3 *
4 * The SH-2 exception vector table
5 *
6 * Copyright (C) 2005 Yoshinori Sato
7 *
8 * This file is subject to the terms and conditions of the GNU General Public
9 * License.  See the file "COPYING" in the main directory of this archive
10 * for more details.
11 */
12
13#include <linux/linkage.h>
14
15!
16! convert Exception Vector to Exception Number
17!
18exception_entry:
19no	=	0
20	.rept	256
21	mov.l	r1,@-sp
22	bra	exception_trampoline
23	mov	#no,r1
24no	=	no + 1
25	.endr
26exception_trampoline:
27	mov.l	r0,@-sp
28	mov.l	$exception_handler,r0
29	extu.b	r1,r1
30	jmp	@r0
31	  extu.w	r1,r1
32
33	.align	2
34$exception_entry:
35	.long	exception_entry
36$exception_handler:
37	.long	exception_handler
38!
39! Exception Vector Base
40!
41	.align	2
42ENTRY(vbr_base)
43vector	=	0
44	.rept	256
45	.long	exception_entry + vector * 6
46vector	=	vector + 1
47	.endr
48