2 * arch/sh/kernel/cpu/sh3/ex.S
4 * The SH-3 exception vector table.
6 * Copyright (C) 1999, 2000, 2002 Niibe Yutaka
7 * Copyright (C) 2003 Paul Mundt
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
14 #include <linux/linkage.h>
19 ENTRY(exception_handling_table)
20 .long exception_error /* 000 */
22 #if defined(CONFIG_MMU)
23 .long tlb_miss_load /* 040 */
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 */
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 */
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*/
45 #if defined (CONFIG_KGDB_NMI)
46 .long debug_enter /* 1C0 */ ! Allow trap to debugger
48 .long exception_none /* 1C0 */ ! Not implemented yet
50 ENTRY(user_break_point_trap)
51 .long break_point_trap /* 1E0 */
52 ENTRY(interrupt_table)
54 .long do_IRQ ! 0000 /* 200 */
62 .long do_IRQ ! 1000 /* 300 */
71 .long do_IRQ ! TMU0 tuni0 /* 400 */
72 .long do_IRQ ! TMU1 tuni1
73 .long do_IRQ ! TMU2 tuni2
75 .long do_IRQ ! RTC ati
78 .long do_IRQ ! SCI eri
79 .long do_IRQ ! rxi /* 500 */
82 .long do_IRQ ! WDT iti /* 560 */
83 .long do_IRQ ! REF rcmi
86 .long do_IRQ /* 5E0 */
87 #if defined(CONFIG_CPU_SUBTYPE_SH7707) || defined(CONFIG_CPU_SUBTYPE_SH7709) || \
88 defined(CONFIG_CPU_SUBTYPE_SH7300) || defined(CONFIG_CPU_SUBTYPE_SH7705)
89 .long do_IRQ ! 32 IRQ irq0 /* 600 */
90 .long do_IRQ ! 33 irq1
91 .long do_IRQ ! 34 irq2
92 .long do_IRQ ! 35 irq3
93 .long do_IRQ ! 36 irq4
94 .long do_IRQ ! 37 irq5
97 .long do_IRQ ! 40 PINT pint0-7 /* 700 */
98 .long do_IRQ ! 41 pint8-15
105 .long do_IRQ ! 48 DMAC dei0 /* 800 */
106 .long do_IRQ ! 49 dei1
107 .long do_IRQ ! 50 dei2
108 .long do_IRQ ! 51 dei3
109 .long do_IRQ ! 52 IrDA eri1
110 .long do_IRQ ! 53 rxi1
111 .long do_IRQ ! 54 bri1
112 .long do_IRQ ! 55 txi1
113 .long do_IRQ ! 56 SCIF eri2
114 .long do_IRQ ! 57 rxi2
115 .long do_IRQ ! 58 bri2
116 .long do_IRQ ! 59 txi2
117 .long do_IRQ ! 60 ADC adi /* 980 */
118 #if defined(CONFIG_CPU_SUBTYPE_SH7705)
119 .long exception_none ! 61 /* 9A0 */
120 .long exception_none ! 62
121 .long exception_none ! 63
122 .long exception_none ! 64 /* A00 */
123 .long do_IRQ ! 65 USB usi0
124 .long do_IRQ ! 66 usi1
125 .long exception_none ! 67
126 .long exception_none ! 68
127 .long exception_none ! 69
128 .long exception_none ! 70
129 .long exception_none ! 71
130 .long exception_none ! 72 /* B00 */
131 .long exception_none ! 73
132 .long exception_none ! 74
133 .long exception_none ! 75
134 .long exception_none ! 76
135 .long exception_none ! 77
136 .long exception_none ! 78
137 .long exception_none ! 79
138 .long do_IRQ ! 80 TPU0 tpi0 /* C00 */
139 .long do_IRQ ! 81 TPU1 tpi1
140 .long exception_none ! 82
141 .long exception_none ! 83
142 .long do_IRQ ! 84 TPU2 tpi2
143 .long do_IRQ ! 85 TPU3 tpi3 /* CA0 */
145 #if defined(CONFIG_CPU_SUBTYPE_SH7707) || defined(CONFIG_CPU_SUBTYPE_SH7300)
146 .long do_IRQ ! 61 LCDC lcdi /* 9A0 */
147 .long do_IRQ ! 62 PCC pcc0i
148 .long do_IRQ ! 63 pcc1i /* 9E0 */
150 #if defined(CONFIG_CPU_SUBTYPE_SH7300)
167 .long do_IRQ ! 80 SCIF0(SH7300)