1/*
2 *  arch/sh/kernel/cpu/sh3/ex.S
3 *
4 *  The SH-3 and SH-4 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#include <linux/linkage.h>
14
15	.align 2
16	.data
17
18ENTRY(exception_handling_table)
19	.long	exception_error		/* 000 */
20	.long	exception_error
21#if defined(CONFIG_MMU)
22	.long	tlb_miss_load		/* 040 */
23	.long	tlb_miss_store
24	.long	initial_page_write
25	.long	tlb_protection_violation_load
26	.long	tlb_protection_violation_store
27	.long	address_error_load
28	.long	address_error_store	/* 100 */
29#else
30	.long	exception_error	! tlb miss load		/* 040 */
31	.long	exception_error	! tlb miss store
32	.long	exception_error	! initial page write
33	.long	exception_error	! tlb prot violation load
34	.long	exception_error	! tlb prot violation store
35	.long	exception_error	! address error load
36	.long	exception_error	! address error store	/* 100 */
37#endif
38#if defined(CONFIG_SH_FPU)
39	.long	do_fpu_error		/* 120 */
40#else
41	.long	exception_error		/* 120 */
42#endif
43	.long	exception_error		/* 140 */
44	.long	system_call	! Unconditional Trap	 /* 160 */
45	.long	exception_error	! reserved_instruction (filled by trap_init) /* 180 */
46	.long	exception_error	! illegal_slot_instruction (filled by trap_init) /*1A0*/
47ENTRY(nmi_slot)
48#if defined(CONFIG_KGDB_NMI)
49	.long	debug_enter	/* 1C0 */	! Allow trap to debugger
50#else
51	.long	exception_none	/* 1C0 */	! Not implemented yet
52#endif
53ENTRY(user_break_point_trap)
54	.long	break_point_trap	/* 1E0 */
55
56	/*
57	 * Pad the remainder of the table out, exceptions residing in far
58	 * away offsets can be manually inserted in to their appropriate
59	 * location via set_exception_table_{evt,vec}().
60	 */
61	.balign	4096,0,4096
62