entry.S (5a4f7c66be981c6b5f44a4d66a14ea6ac9b7b6b0) entry.S (74d99a5e262229ee865f6f68528d10b82471ead6)
1/*
2 * arch/sh/kernel/cpu/sh2/entry.S
3 *
4 * The SH-2 exception entry
5 *
6 * Copyright (C) 2005,2006 Yoshinori Sato
7 * Copyright (C) 2005 AXE,Inc.
8 *

--- 135 unchanged lines hidden (view full) ---

144 add r15,r8
145 mov.l @r8,r9
146 mov #64,r8
147 cmp/hs r8,r9
148 bt interrupt_entry ! vec >= 64 is interrupt
149 mov #32,r8
150 cmp/hs r8,r9
151 bt trap_entry ! 64 > vec >= 32 is trap
1/*
2 * arch/sh/kernel/cpu/sh2/entry.S
3 *
4 * The SH-2 exception entry
5 *
6 * Copyright (C) 2005,2006 Yoshinori Sato
7 * Copyright (C) 2005 AXE,Inc.
8 *

--- 135 unchanged lines hidden (view full) ---

144 add r15,r8
145 mov.l @r8,r9
146 mov #64,r8
147 cmp/hs r8,r9
148 bt interrupt_entry ! vec >= 64 is interrupt
149 mov #32,r8
150 cmp/hs r8,r9
151 bt trap_entry ! 64 > vec >= 32 is trap
152
153#if defined(CONFIG_SH_FPU)
154 mov #13,r8
155 cmp/eq r8,r9
156 bt 10f ! fpu
157 nop
158#endif
159
152 mov.l 4f,r8
153 mov r9,r4
154 shll2 r9
155 add r9,r8
156 mov.l @r8,r8
157 mov #0,r9
158 cmp/eq r9,r8
159 bf 3f
160 mov.l 8f,r8 ! unhandled exception
160 mov.l 4f,r8
161 mov r9,r4
162 shll2 r9
163 add r9,r8
164 mov.l @r8,r8
165 mov #0,r9
166 cmp/eq r9,r8
167 bf 3f
168 mov.l 8f,r8 ! unhandled exception
169#if defined(CONFIG_SH_FPU)
17010:
171 mov.l 9f, r8 ! unhandled exception
172#endif
1613:
162 mov.l 5f,r10
163 jmp @r8
164 lds r10,pr
165
166interrupt_entry:
167 mov r9,r4
168 mov r15,r5
169 mov.l 6f,r9
170 mov.l 7f,r8
171 jmp @r8
172 lds r9,pr
173
174 .align 2
1754: .long exception_handling_table
1765: .long ret_from_exception
1776: .long ret_from_irq
1787: .long do_IRQ
1798: .long do_exception_error
1733:
174 mov.l 5f,r10
175 jmp @r8
176 lds r10,pr
177
178interrupt_entry:
179 mov r9,r4
180 mov r15,r5
181 mov.l 6f,r9
182 mov.l 7f,r8
183 jmp @r8
184 lds r9,pr
185
186 .align 2
1874: .long exception_handling_table
1885: .long ret_from_exception
1896: .long ret_from_irq
1907: .long do_IRQ
1918: .long do_exception_error
180
192#ifdef CONFIG_SH_FPU
1939: .long fpu_error_trap_handler
194#endif
195
181trap_entry:
182 mov #0x30,r8
183 cmp/ge r8,r9 ! vector 0x20-0x2f is systemcall
184 bt 1f
185 add #-0x10,r9 ! convert SH2 to SH3/4 ABI
1861:
187 shll2 r9 ! TRA
188 mov #OFF_TRA,r8

--- 149 unchanged lines hidden ---
196trap_entry:
197 mov #0x30,r8
198 cmp/ge r8,r9 ! vector 0x20-0x2f is systemcall
199 bt 1f
200 add #-0x10,r9 ! convert SH2 to SH3/4 ABI
2011:
202 shll2 r9 ! TRA
203 mov #OFF_TRA,r8

--- 149 unchanged lines hidden ---