1 /* SPDX-License-Identifier: GPL-2.0
3 * arch/sh/kernel/cpu/sh3/ex.S
5 * The SH-3 and SH-4 exception vector table.
7 * Copyright (C) 1999, 2000, 2002 Niibe Yutaka
8 * Copyright (C) 2003 - 2008 Paul Mundt
10 #include <linux/linkage.h>
12 #if !defined(CONFIG_MMU)
13 #define tlb_miss_load exception_error
14 #define tlb_miss_store exception_error
15 #define initial_page_write exception_error
16 #define tlb_protection_violation_load exception_error
17 #define tlb_protection_violation_store exception_error
18 #define address_error_load exception_error
19 #define address_error_store exception_error
22 #if !defined(CONFIG_SH_FPU)
23 #define fpu_error_trap_handler exception_error
26 #if !defined(CONFIG_KGDB)
27 #define kgdb_handle_exception exception_error
33 ENTRY(exception_handling_table)
34 .long exception_error /* 000 */
36 .long tlb_miss_load /* 040 */
38 .long initial_page_write
39 .long tlb_protection_violation_load
40 .long tlb_protection_violation_store
41 .long address_error_load
42 .long address_error_store /* 100 */
43 .long fpu_error_trap_handler /* 120 */
44 .long exception_error /* 140 */
45 .long system_call ! Unconditional Trap /* 160 */
46 .long exception_error ! reserved_instruction (filled by trap_init) /* 180 */
47 .long exception_error ! illegal_slot_instruction (filled by trap_init) /*1A0*/
48 .long nmi_trap_handler /* 1C0 */ ! Allow trap to debugger
49 .long breakpoint_trap_handler /* 1E0 */
52 * Pad the remainder of the table out, exceptions residing in far
53 * away offsets can be manually inserted in to their appropriate
54 * location via set_exception_table_{evt,vec}().