Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / arch / sh / kernel / cpu / sh3 / ex.S
blobee2113f4215cb3ed3a9c8bbb506da0fc554e3ad2
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>
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
22 #if !defined(CONFIG_SH_FPU)
23 #define fpu_error_trap_handler          exception_error
24 #endif
26 #if !defined(CONFIG_KGDB)
27 #define kgdb_handle_exception           exception_error
28 #endif
30         .align 2
31         .data
33 ENTRY(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 */
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