Loading...
1/* SPDX-License-Identifier: GPL-2.0
2 *
3 * arch/sh/kernel/cpu/sh3/ex.S
4 *
5 * The SH-3 and SH-4 exception vector table.
6 *
7 * Copyright (C) 1999, 2000, 2002 Niibe Yutaka
8 * Copyright (C) 2003 - 2008 Paul Mundt
9 */
10#include <linux/linkage.h>
11
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
20#endif
21
22#if !defined(CONFIG_SH_FPU)
23#define fpu_error_trap_handler exception_error
24#endif
25
26#if !defined(CONFIG_KGDB)
27#define kgdb_handle_exception exception_error
28#endif
29
30 .align 2
31 .data
32
33ENTRY(exception_handling_table)
34 .long exception_error /* 000 */
35 .long exception_error
36 .long tlb_miss_load /* 040 */
37 .long tlb_miss_store
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 */
50
51 /*
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}().
55 */
56 .balign 4096,0,4096
1/* SPDX-License-Identifier: GPL-2.0
2 *
3 * arch/sh/kernel/cpu/sh3/ex.S
4 *
5 * The SH-3 and SH-4 exception vector table.
6 *
7 * Copyright (C) 1999, 2000, 2002 Niibe Yutaka
8 * Copyright (C) 2003 - 2008 Paul Mundt
9 */
10#include <linux/linkage.h>
11
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
20#endif
21
22#if !defined(CONFIG_SH_FPU)
23#define fpu_error_trap_handler exception_error
24#endif
25
26#if !defined(CONFIG_KGDB)
27#define kgdb_handle_exception exception_error
28#endif
29
30 .align 2
31 .data
32
33ENTRY(exception_handling_table)
34 .long exception_error /* 000 */
35 .long exception_error
36 .long tlb_miss_load /* 040 */
37 .long tlb_miss_store
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 */
50
51 /*
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}().
55 */
56 .balign 4096,0,4096