| /* | |
| * arch/sh/kernel/cpu/sh2/ex.S | |
| * | |
| * The SH-2 exception vector table | |
| * | |
| * Copyright (C) 2005 Yoshinori Sato | |
| * | |
| * This file is subject to the terms and conditions of the GNU General Public | |
| * License. See the file "COPYING" in the main directory of this archive | |
| * for more details. | |
| */ | |
| #include <linux/linkage.h> | |
| ! | |
| ! convert Exception Vector to Exception Number | |
| ! | |
| exception_entry: | |
| no = 0 | |
| .rept 256 | |
| mov.l r1,@-sp | |
| bra exception_trampoline | |
| mov #no,r1 | |
| no = no + 1 | |
| .endr | |
| exception_trampoline: | |
| mov.l r0,@-sp | |
| mov.l $exception_handler,r0 | |
| extu.b r1,r1 | |
| jmp @r0 | |
| extu.w r1,r1 | |
| .align 2 | |
| $exception_entry: | |
| .long exception_entry | |
| $exception_handler: | |
| .long exception_handler | |
| ! | |
| ! Exception Vector Base | |
| ! | |
| .align 2 | |
| ENTRY(vbr_base) | |
| vector = 0 | |
| .rept 256 | |
| .long exception_entry + vector * 6 | |
| vector = vector + 1 | |
| .endr |