/* | |
* 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 |