Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux...
[linux-block.git] / arch / sh / kernel / cpu / sh2 / ex.S
CommitLineData
de398406
YS
1/*
2 * arch/sh/kernel/cpu/sh2/ex.S
3 *
4 * The SH-2 exception vector table
5 *
6 * Copyright (C) 2005 Yoshinori Sato
7 *
8 * This file is subject to the terms and conditions of the GNU General Public
9 * License. See the file "COPYING" in the main directory of this archive
10 * for more details.
11 */
12
13#include <linux/linkage.h>
14
15!
16! convert Exception Vector to Exception Number
17!
18exception_entry:
19no = 0
20 .rept 256
6e80f5e8 21 mov.l r1,@-sp
de398406 22 bra exception_trampoline
6e80f5e8 23 mov #no,r1
de398406
YS
24no = no + 1
25 .endr
26exception_trampoline:
6e80f5e8
YS
27 mov.l r0,@-sp
28 mov.l $exception_handler,r0
29 extu.b r1,r1
30 jmp @r0
31 extu.w r1,r1
de398406
YS
32
33 .align 2
34$exception_entry:
35 .long exception_entry
36$exception_handler:
37 .long exception_handler
38!
39! Exception Vector Base
40!
41 .align 2
42ENTRY(vbr_base)
43vector = 0
44 .rept 256
6e80f5e8 45 .long exception_entry + vector * 6
de398406
YS
46vector = vector + 1
47 .endr