]>
Commit | Line | Data |
---|---|---|
f68774cc MF |
1 | #include "core-isa.h" |
2 | ||
7d890b40 MF |
3 | .macro vector name |
4 | ||
5 | .section .vector.\name | |
6 | j 1f | |
7 | .section .vector.\name\().text | |
8 | 1: | |
9 | wsr a2, excsave1 | |
10 | movi a2, handler_\name | |
11 | l32i a2, a2, 0 | |
12 | beqz a2, 1f | |
13 | jx a2 | |
14 | 1: | |
15 | movi a3, 1b | |
16 | movi a2, 1 | |
17 | simcall | |
18 | ||
19 | .align 4 | |
20 | .global handler_\name | |
21 | handler_\name\(): .word 0 | |
22 | ||
23 | .endm | |
24 | ||
f68774cc | 25 | #if XCHAL_HAVE_WINDOWED |
7d890b40 MF |
26 | vector window_overflow_4 |
27 | vector window_overflow_8 | |
28 | vector window_overflow_12 | |
29 | vector window_underflow_4 | |
30 | vector window_underflow_8 | |
31 | vector window_underflow_12 | |
f68774cc | 32 | #endif |
7d890b40 | 33 | |
f68774cc | 34 | #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 2 |
7d890b40 | 35 | vector level2 |
f68774cc MF |
36 | #endif |
37 | #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 3 | |
7d890b40 | 38 | vector level3 |
f68774cc MF |
39 | #endif |
40 | #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 4 | |
7d890b40 | 41 | vector level4 |
f68774cc MF |
42 | #endif |
43 | #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 5 | |
7d890b40 | 44 | vector level5 |
f68774cc MF |
45 | #endif |
46 | #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 6 | |
7d890b40 | 47 | vector level6 |
f68774cc MF |
48 | #endif |
49 | #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 7 | |
7d890b40 | 50 | vector level7 |
f68774cc | 51 | #endif |
7d890b40 MF |
52 | |
53 | vector kernel | |
54 | vector user | |
55 | vector double |