]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_FreedomStudio/freedom-metal/src/vector.S
Update RISCC-V-RV32-SiFive_HiFive1_FreedomStudio project to latest tools and metal...
[freertos] / FreeRTOS / Demo / RISC-V_RV32_SiFive_HiFive1_FreedomStudio / freedom-metal / src / vector.S
1 /* Copyright 2019 SiFive, Inc */
2 /* SPDX-License-Identifier: Apache-2.0 */
3
4 /*
5  * Jump table for CLINT vectored mode
6  */
7 .weak metal_interrupt_vector_handler
8 .balign 4, 0
9 .global metal_interrupt_vector_handler
10
11 .weak metal_software_interrupt_vector_handler
12 .balign 4, 0
13 .global metal_software_interrupt_vector_handler
14
15 .weak metal_timer_interrupt_vector_handler
16 .balign 4, 0
17 .global metal_timer_interrupt_vector_handler
18
19 .weak metal_external_interrupt_vector_handler
20 .balign 4, 0
21 .global metal_external_interrupt_vector_handler
22
23 .weak metal_lc0_interrupt_vector_handler
24 .balign 4, 0
25 .global metal_lc0_interrupt_vector_handler
26
27 .weak metal_lc1_interrupt_vector_handler
28 .balign 4, 0
29 .global metal_lc1_interrupt_vector_handler
30
31 .weak metal_lc2_interrupt_vector_handler
32 .balign 4, 0
33 .global metal_lc2_interrupt_vector_handler
34
35 .weak metal_lc3_interrupt_vector_handler
36 .balign 4, 0
37 .global metal_lc3_interrupt_vector_handler
38
39 .weak metal_lc4_interrupt_vector_handler
40 .balign 4, 0
41 .global metal_lc4_interrupt_vector_handler
42
43 .weak metal_lc5_interrupt_vector_handler
44 .balign 4, 0
45 .global metal_lc5_interrupt_vector_handler
46
47 .weak metal_lc6_interrupt_vector_handler
48 .balign 4, 0
49 .global metal_lc6_interrupt_vector_handler
50
51 .weak metal_lc7_interrupt_vector_handler
52 .balign 4, 0
53 .global metal_lc7_interrupt_vector_handler
54
55 .weak metal_lc8_interrupt_vector_handler
56 .balign 4, 0
57 .global metal_lc8_interrupt_vector_handler
58
59 .weak metal_lc9_interrupt_vector_handler
60 .balign 4, 0
61 .global metal_lc9_interrupt_vector_handler
62
63 .weak metal_lc10_interrupt_vector_handler
64 .balign 4, 0
65 .global metal_lc10_interrupt_vector_handler
66
67 .weak metal_lc11_interrupt_vector_handler
68 .balign 4, 0
69 .global metal_lc11_interrupt_vector_handler
70
71 .weak metal_lc12_interrupt_vector_handler
72 .balign 4, 0
73 .global metal_lc12_interrupt_vector_handler
74
75 .weak metal_lc13_interrupt_vector_handler
76 .balign 4, 0
77 .global metal_lc13_interrupt_vector_handler
78
79 .weak metal_lc14_interrupt_vector_handler
80 .balign 4, 0
81 .global metal_lc14_interrupt_vector_handler
82
83 .weak metal_lc15_interrupt_vector_handler
84 .balign 4, 0
85 .global metal_lc15_interrupt_vector_handler
86
87 #if __riscv_xlen == 32
88 .balign 128, 0
89 #else
90 .balign 256, 0
91 #endif
92 .option norvc
93 .global __metal_vector_table
94 __metal_vector_table:
95 IRQ_0:
96         j metal_interrupt_vector_handler
97 IRQ_1:
98         j metal_interrupt_vector_handler
99 IRQ_2:
100         j metal_interrupt_vector_handler
101 IRQ_3:
102         j metal_software_interrupt_vector_handler
103 IRQ_4:
104         j metal_interrupt_vector_handler
105 IRQ_5:
106         j metal_interrupt_vector_handler
107 IRQ_6:
108         j metal_interrupt_vector_handler
109 IRQ_7:
110         j metal_timer_interrupt_vector_handler
111 IRQ_8:
112         j metal_interrupt_vector_handler
113 IRQ_9:
114         j metal_interrupt_vector_handler
115 IRQ_10:
116         j metal_interrupt_vector_handler
117 IRQ_11:
118         j metal_interrupt_vector_handler
119 IRQ_12:
120         j metal_interrupt_vector_handler
121 IRQ_13:
122         j metal_interrupt_vector_handler
123 IRQ_14:
124         j metal_interrupt_vector_handler
125 IRQ_15:
126         j metal_interrupt_vector_handler
127 IRQ_LC0:
128         j metal_lc0_interrupt_vector_handler
129 IRQ_LC1:
130         j metal_lc1_interrupt_vector_handler
131 IRQ_LC2:
132         j metal_lc2_interrupt_vector_handler
133 IRQ_LC3:
134         j metal_lc3_interrupt_vector_handler
135 IRQ_LC4:
136         j metal_lc4_interrupt_vector_handler
137 IRQ_LC5:
138         j metal_lc5_interrupt_vector_handler
139 IRQ_LC6:
140         j metal_lc6_interrupt_vector_handler
141 IRQ_LC7:
142         j metal_lc7_interrupt_vector_handler
143 IRQ_LC8:
144         j metal_lc8_interrupt_vector_handler
145 IRQ_LC9:
146         j metal_lc9_interrupt_vector_handler
147 IRQ_LC10:
148         j metal_lc10_interrupt_vector_handler
149 IRQ_LC11:
150         j metal_lc11_interrupt_vector_handler
151 IRQ_LC12:
152         j metal_lc12_interrupt_vector_handler
153 IRQ_LC13:
154         j metal_lc13_interrupt_vector_handler
155 IRQ_LC14:
156         j metal_lc14_interrupt_vector_handler
157 IRQ_LC15:
158         j metal_lc15_interrupt_vector_handler
159
160