xref: /linux/arch/sh/kernel/cpu/sh3/ex.S (revision c537b994505099b7197e7d3125b942ecbcc51eb6)
1/*
2 *  arch/sh/kernel/cpu/sh3/ex.S
3 *
4 *  The SH-3 exception vector table.
5
6 *  Copyright (C) 1999, 2000, 2002  Niibe Yutaka
7 *  Copyright (C) 2003 - 2006  Paul Mundt
8 *
9 * This file is subject to the terms and conditions of the GNU General Public
10 * License.  See the file "COPYING" in the main directory of this archive
11 * for more details.
12 *
13 */
14#include <linux/linkage.h>
15
16	.align 2
17	.data
18
19ENTRY(exception_handling_table)
20	.long	exception_error		/* 000 */
21	.long	exception_error
22#if defined(CONFIG_MMU)
23	.long	tlb_miss_load		/* 040 */
24	.long	tlb_miss_store
25	.long	initial_page_write
26	.long	tlb_protection_violation_load
27	.long	tlb_protection_violation_store
28	.long	address_error_load
29	.long	address_error_store	/* 100 */
30#else
31	.long	exception_error	! tlb miss load		/* 040 */
32	.long	exception_error	! tlb miss store
33	.long	exception_error	! initial page write
34	.long	exception_error	! tlb prot violation load
35	.long	exception_error	! tlb prot violation store
36	.long	exception_error	! address error load
37	.long	exception_error	! address error store	/* 100 */
38#endif
39	.long	exception_error	! fpu_exception	/* 120 */
40	.long	exception_error			/* 140 */
41	.long	system_call	! Unconditional Trap	 /* 160 */
42	.long	exception_error	! reserved_instruction (filled by trap_init) /* 180 */
43	.long	exception_error	! illegal_slot_instruction (filled by trap_init) /*1A0*/
44ENTRY(nmi_slot)
45#if defined (CONFIG_KGDB_NMI)
46	.long	debug_enter	/* 1C0 */	! Allow trap to debugger
47#else
48	.long	exception_none	/* 1C0 */	! Not implemented yet
49#endif
50ENTRY(user_break_point_trap)
51	.long	break_point_trap	/* 1E0 */
52
53	/*
54	 * Pad the remainder of the table out, exceptions residing in far
55	 * away offsets can be manually inserted in to their appropriate
56	 * location via set_exception_table_{evt,vec}().
57	 */
58	.balign 4096,0,4096
59