Acceptance tests: show test report on GitLab CI
[qemu/ar7.git] / tests / tcg / xtensa / vectors.S
blobcd48cfb6562c36bf8f9c039e59ff49247c17ee5f
1 #include "core-isa.h"
3 .macro vector name
5 .section .vector.\name, "ax"
6 .global vector_\name
7 vector_\name\():
8     j       1f
9     .literal_position
11     wsr     a0, excsave1
12     movi    a0, 1f
13     ret.n
15 .section .vector.\name\().text, "ax"
16     .literal_position
18     rsr     a0, excsave1
19     wsr     a2, excsave1
20     movi    a2, handler_\name
21     l32i    a2, a2, 0
22     beqz    a2, 1f
23     jx      a2
25     movi    a3, 1b
26     movi    a2, 1
27     simcall
29 .align 4
30 .global handler_\name
31 handler_\name\(): .word 0
33 .endm
35 #if XCHAL_HAVE_WINDOWED
36 vector window_overflow_4
37 vector window_overflow_8
38 vector window_overflow_12
39 vector window_underflow_4
40 vector window_underflow_8
41 vector window_underflow_12
42 #endif
44 #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 2
45 vector level2
46 #endif
47 #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 3
48 vector level3
49 #endif
50 #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 4
51 vector level4
52 #endif
53 #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 5
54 vector level5
55 #endif
56 #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 6
57 vector level6
58 #endif
59 #if XCHAL_NUM_INTLEVELS + XCHAL_HAVE_NMI >= 7
60 vector level7
61 #endif
63 vector kernel
64 vector user
65 vector double