aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/common/startup/e200/compilers/GCC
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/common/startup/e200/compilers/GCC')
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/crt0.S253
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B50.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B60.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B64.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560D40.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560P50.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC563M64.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A70.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A80.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EC74.ld27
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL54_LSM.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL60_LSM.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL70_LSM.ld26
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld159
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld156
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld156
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560bcxx.mk17
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560bxx.mk17
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560dxx.mk17
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560pxx.mk17
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc563mxx.mk17
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc564axx.mk17
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc56ecxx.mk17
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc56elxx.mk17
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/rules.mk260
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/vectors.S2612
-rw-r--r--lib/chibios/os/common/startup/e200/compilers/GCC/vectors.h78
27 files changed, 4128 insertions, 0 deletions
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/crt0.S b/lib/chibios/os/common/startup/e200/compilers/GCC/crt0.S
new file mode 100644
index 000000000..89e4dcc21
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/crt0.S
@@ -0,0 +1,253 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/**
18 * @file GCC/crt0.S
19 * @brief Generic PowerPC startup file for GCC.
20 *
21 * @addtogroup PPC_GCC_CORE
22 * @{
23 */
24
25/*===========================================================================*/
26/* Module constants. */
27/*===========================================================================*/
28
29#if !defined(FALSE) || defined(__DOXYGEN__)
30#define FALSE 0
31#endif
32
33#if !defined(TRUE) || defined(__DOXYGEN__)
34#define TRUE 1
35#endif
36
37#if defined(__HIGHTEC__)
38#define se_bge bge
39#endif
40
41/*===========================================================================*/
42/* Module pre-compile time settings. */
43/*===========================================================================*/
44
45/**
46 * @brief Stack segments initialization switch.
47 */
48#if !defined(CRT0_STACKS_FILL_PATTERN) || defined(__DOXYGEN__)
49#define CRT0_STACKS_FILL_PATTERN 0x55555555
50#endif
51
52/**
53 * @brief Stack segments initialization switch.
54 */
55#if !defined(CRT0_INIT_STACKS) || defined(__DOXYGEN__)
56#define CRT0_INIT_STACKS TRUE
57#endif
58
59/**
60 * @brief DATA segment initialization switch.
61 */
62#if !defined(CRT0_INIT_DATA) || defined(__DOXYGEN__)
63#define CRT0_INIT_DATA TRUE
64#endif
65
66/**
67 * @brief BSS segment initialization switch.
68 */
69#if !defined(CRT0_INIT_BSS) || defined(__DOXYGEN__)
70#define CRT0_INIT_BSS TRUE
71#endif
72
73/**
74 * @brief Constructors invocation switch.
75 */
76#if !defined(CRT0_CALL_CONSTRUCTORS) || defined(__DOXYGEN__)
77#define CRT0_CALL_CONSTRUCTORS TRUE
78#endif
79
80/**
81 * @brief Destructors invocation switch.
82 */
83#if !defined(CRT0_CALL_DESTRUCTORS) || defined(__DOXYGEN__)
84#define CRT0_CALL_DESTRUCTORS TRUE
85#endif
86
87/*===========================================================================*/
88/* Code section. */
89/*===========================================================================*/
90
91#if !defined(__DOXYGEN__)
92
93 .section .crt0, "ax"
94 .align 2
95 .globl _boot_address
96 .type _boot_address, @function
97_boot_address:
98 /* Stack setup.*/
99 e_lis r1, __process_stack_end__@h
100 e_or2i r1, __process_stack_end__@l
101 se_li r0, 0
102 e_stwu r0, -8(r1)
103
104 /* Small sections registers initialization.*/
105 e_lis r2, __sdata2_start__@h
106 e_or2i r2, __sdata2_start__@l
107 e_lis r13, __sdata_start__@h
108 e_or2i r13, __sdata_start__@l
109
110 /* Early initialization.*/
111 e_bl __early_init
112
113#if CRT0_INIT_STACKS == TRUE
114 /* Stacks fill pattern.*/
115 e_lis r7, CRT0_STACKS_FILL_PATTERN@h
116 e_or2i r7, CRT0_STACKS_FILL_PATTERN@l
117
118 /* IRQ Stack initialization. Note, the architecture does not use this
119 stack, the size is usually zero. An OS can have special SW handling
120 and require this. A 4 bytes alignment is assmend and required.*/
121 e_lis r4, __irq_stack_base__@h
122 e_or2i r4, __irq_stack_base__@l
123 e_lis r5, __irq_stack_end__@h
124 e_or2i r5, __irq_stack_end__@l
125.irqsloop:
126 se_cmpl r4, r5
127 se_bge .irqsend
128 se_stw r7, 0(r4)
129 se_addi r4, 4
130 se_b .irqsloop
131.irqsend:
132
133 /* Process Stack initialization. Note, does not overwrite the already
134 written EABI frame. A 4 bytes alignment is assmend and required.*/
135 e_lis r4, __process_stack_base__@h
136 e_or2i r4, __process_stack_base__@l
137 e_lis r5, (__process_stack_end__ - 8)@h
138 e_or2i r5, (__process_stack_end__ - 8)@l
139.prcsloop:
140 se_cmpl r4, r5
141 se_bge .prcsend
142 se_stw r7, 0(r4)
143 se_addi r4, 4
144 se_b .prcsloop
145.prcsend:
146#endif
147
148#if CRT0_INIT_BSS == TRUE
149 /* BSS clearing.*/
150 e_lis r4, __bss_start__@h
151 e_or2i r4, __bss_start__@l
152 e_lis r5, __bss_end__@h
153 e_or2i r5, __bss_end__@l
154 se_li r7, 0
155.bssloop:
156 se_cmpl r4, r5
157 se_bge .bssend
158 se_stw r7, 0(r4)
159 se_addi r4, 4
160 se_b .bssloop
161.bssend:
162#endif
163
164#if CRT0_INIT_DATA == TRUE
165 /* DATA initialization.*/
166 e_lis r4, __romdata_start__@h
167 e_or2i r4, __romdata_start__@l
168 e_lis r5, __data_start__@h
169 e_or2i r5, __data_start__@l
170 e_lis r6, __data_end__@h
171 e_or2i r6, __data_end__@l
172.dataloop:
173 se_cmpl r5, r6
174 se_bge .dataend
175 se_lwz r7, 0(r4)
176 se_addi r4, 4
177 se_stw r7, 0(r5)
178 se_addi r5, 4
179 se_b .dataloop
180.dataend:
181#endif
182
183 /* Late initialization.*/
184 e_bl __late_init
185
186#if CRT0_CALL_CONSTRUCTORS == TRUE
187 /* Constructors invocation.*/
188 e_lis r4, __init_array_start@h
189 e_or2i r4, __init_array_start@l
190 e_lis r5, __init_array_end@h
191 e_or2i r5, __init_array_end@l
192.iniloop:
193 se_cmpl r4, r5
194 se_bge .iniend
195 se_lwz r6, 0(r4)
196 mtctr r6
197 se_addi r4, 4
198 se_bctrl
199 se_b .iniloop
200.iniend:
201#endif
202
203 /* Main program invocation.*/
204 e_bl main
205
206#if CRT0_CALL_DESTRUCTORS == TRUE
207 /* Destructors invocation.*/
208 e_lis r4, __fini_array_start@h
209 e_or2i r4, __fini_array_start@l
210 e_lis r5, __fini_array_end@h
211 e_or2i r5, __fini_array_end@l
212.finiloop:
213 se_cmpl r4, r5
214 se_bge .finiend
215 se_lwz r6, 0(r4)
216 mtctr r6
217 se_addi r4, 4
218 se_bctrl
219 se_b .finiloop
220.finiend:
221#endif
222
223 /* Branching to the defined exit handler.*/
224 e_b __default_exit
225
226 /* Default main exit code, infinite loop.*/
227 .weak __default_exit
228 .type __default_exit, @function
229__default_exit:
230 e_b __default_exit
231
232 /* Default early initialization code, none.*/
233 .weak __early_init
234 .type __early_init, @function
235__early_init:
236 se_blr
237
238 /* Default late initialization code, none.*/
239 .weak __late_init
240 .type __late_init, @function
241__late_init:
242 se_blr
243
244 /* Default implementation for __eabi() function.*/
245 .weak __eabi
246 .type __eabi, @function
247__eabi:
248 /* R2 and R13 initialization is done in the startup code.*/
249 se_blr
250
251#endif /* !defined(__DOXYGEN__) */
252
253/** @} */
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B50.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B50.ld
new file mode 100644
index 000000000..d56de0e1e
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B50.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560B50 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 512k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 32k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B60.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B60.ld
new file mode 100644
index 000000000..240b0380d
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B60.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560B60 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 1024k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 80k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B64.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B64.ld
new file mode 100644
index 000000000..4ad2457a5
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560B64.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560B64 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 1536k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 96k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560D40.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560D40.ld
new file mode 100644
index 000000000..9a9191162
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560D40.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560D40 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 256k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 16k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560P50.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560P50.ld
new file mode 100644
index 000000000..e863624a6
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC560P50.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC560P50 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 512k
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 40k
25}
26
27INCLUDE rules_z0.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC563M64.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC563M64.ld
new file mode 100644
index 000000000..4e6832151
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC563M64.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC563M64 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 1536k
23 ram : org = 0x40000000, len = 94k
24}
25
26INCLUDE rules_z3.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A70.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A70.ld
new file mode 100644
index 000000000..f2aa6d317
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A70.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC563A70 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 2M
23 ram : org = 0x40000000, len = 128k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A80.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A80.ld
new file mode 100644
index 000000000..0c52c71cd
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC564A80.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC563A80 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 4M
23 ram : org = 0x40000000, len = 192k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EC74.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EC74.ld
new file mode 100644
index 000000000..12b266313
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EC74.ld
@@ -0,0 +1,27 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC56EC74 memory setup.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 3M
23 dataflash : org = 0x00800000, len = 64k
24 ram : org = 0x40000000, len = 256k
25}
26
27INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL54_LSM.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL54_LSM.ld
new file mode 100644
index 000000000..d92054dd9
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL54_LSM.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC56EL54 memory setup in LSM mode.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 768k
23 ram : org = 0x40000000, len = 128k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL60_LSM.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL60_LSM.ld
new file mode 100644
index 000000000..68279e6bb
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL60_LSM.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC56EL60 memory setup in LSM mode.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 1M
23 ram : org = 0x40000000, len = 128k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL70_LSM.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL70_LSM.ld
new file mode 100644
index 000000000..845353817
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/SPC56EL70_LSM.ld
@@ -0,0 +1,26 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * SPC56EL70 memory setup in LSM mode.
19 */
20MEMORY
21{
22 flash : org = 0x00000000, len = 2M
23 ram : org = 0x40000000, len = 192k
24}
25
26INCLUDE rules_z4.ld
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld
new file mode 100644
index 000000000..b8720997d
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld
@@ -0,0 +1,159 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17__ram_size__ = LENGTH(ram);
18__ram_start__ = ORIGIN(ram);
19__ram_end__ = ORIGIN(ram) + LENGTH(ram);
20
21ENTRY(_reset_address)
22
23SECTIONS
24{
25 . = ORIGIN(flash);
26 .boot0 : ALIGN(16)
27 {
28 KEEP(*(.boot))
29 } > flash
30
31 .boot1 : ALIGN(16)
32 {
33 KEEP(*(.handlers))
34 KEEP(*(.crt0))
35 /* The vectors table requires a 2kB alignment.*/
36 . = ALIGN(0x800);
37 KEEP(*(.vectors))
38 /* The IVPR register requires a 4kB alignment.*/
39 . = ALIGN(0x1000);
40 __ivpr_base__ = .;
41 KEEP(*(.ivors))
42 } > flash
43
44 constructors : ALIGN(4)
45 {
46 PROVIDE(__init_array_start = .);
47 KEEP(*(SORT(.init_array.*)))
48 KEEP(*(.init_array))
49 PROVIDE(__init_array_end = .);
50 } > flash
51
52 destructors : ALIGN(4)
53 {
54 PROVIDE(__fini_array_start = .);
55 KEEP(*(.fini_array))
56 KEEP(*(SORT(.fini_array.*)))
57 PROVIDE(__fini_array_end = .);
58 } > flash
59
60 .text_vle : ALIGN(16)
61 {
62 *(.text_vle)
63 *(.text_vle.*)
64 *(.gnu.linkonce.t_vle.*)
65 } > flash
66
67 .text : ALIGN(16)
68 {
69 *(.text)
70 *(.text.*)
71 *(.gnu.linkonce.t.*)
72 } > flash
73
74 .rodata : ALIGN(16)
75 {
76 *(.glue_7t)
77 *(.glue_7)
78 *(.gcc*)
79 *(.rodata)
80 *(.rodata.*)
81 *(.rodata1)
82 } > flash
83
84 .sdata2 : ALIGN(16)
85 {
86 __sdata2_start__ = . + 0x8000;
87 *(.sdata2)
88 *(.sdata2.*)
89 *(.gnu.linkonce.s2.*)
90 *(.sbss2)
91 *(.sbss2.*)
92 *(.gnu.linkonce.sb2.*)
93 } > flash
94
95 .eh_frame_hdr :
96 {
97 *(.eh_frame_hdr)
98 } > flash
99
100 .eh_frame : ONLY_IF_RO
101 {
102 *(.eh_frame)
103 } > flash
104
105 .romdata : ALIGN(16)
106 {
107 __romdata_start__ = .;
108 } > flash
109
110 .stacks (NOLOAD) : ALIGN(16)
111 {
112 . = ALIGN(8);
113 __irq_stack_base__ = .;
114 . += __irq_stack_size__;
115 . = ALIGN(8);
116 __irq_stack_end__ = .;
117 __process_stack_base__ = .;
118 __main_thread_stack_base__ = .;
119 . += __process_stack_size__;
120 . = ALIGN(8);
121 __process_stack_end__ = .;
122 __main_thread_stack_end__ = .;
123 } > ram
124
125 .data : AT(__romdata_start__)
126 {
127 . = ALIGN(4);
128 __data_start__ = .;
129 *(.data)
130 *(.data.*)
131 *(.gnu.linkonce.d.*)
132 __sdata_start__ = . + 0x8000;
133 *(.sdata)
134 *(.sdata.*)
135 *(.gnu.linkonce.s.*)
136 __data_end__ = .;
137 } > ram
138
139 .sbss (NOLOAD) :
140 {
141 __bss_start__ = .;
142 *(.sbss)
143 *(.sbss.*)
144 *(.gnu.linkonce.sb.*)
145 *(.scommon)
146 } > ram
147
148 .bss (NOLOAD) :
149 {
150 *(.bss)
151 *(.bss.*)
152 *(.gnu.linkonce.b.*)
153 *(COMMON)
154 __bss_end__ = .;
155 } > ram
156
157 __heap_base__ = __bss_end__;
158 __heap_end__ = __ram_end__;
159}
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld
new file mode 100644
index 000000000..9424c63c9
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld
@@ -0,0 +1,156 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17__ram_size__ = LENGTH(ram);
18__ram_start__ = ORIGIN(ram);
19__ram_end__ = ORIGIN(ram) + LENGTH(ram);
20
21ENTRY(_reset_address)
22
23SECTIONS
24{
25 . = ORIGIN(flash);
26 .boot0 : ALIGN(16)
27 {
28 __ivpr_base__ = .;
29 KEEP(*(.boot))
30 } > flash
31
32 .boot1 : ALIGN(16)
33 {
34 KEEP(*(.handlers))
35 KEEP(*(.crt0))
36 /* The vectors table requires a 2kB alignment.*/
37 . = ALIGN(0x800);
38 KEEP(*(.vectors))
39 } > flash
40
41 constructors : ALIGN(4)
42 {
43 PROVIDE(__init_array_start = .);
44 KEEP(*(SORT(.init_array.*)))
45 KEEP(*(.init_array))
46 PROVIDE(__init_array_end = .);
47 } > flash
48
49 destructors : ALIGN(4)
50 {
51 PROVIDE(__fini_array_start = .);
52 KEEP(*(.fini_array))
53 KEEP(*(SORT(.fini_array.*)))
54 PROVIDE(__fini_array_end = .);
55 } > flash
56
57 .text_vle : ALIGN(16)
58 {
59 *(.text_vle)
60 *(.text_vle.*)
61 *(.gnu.linkonce.t_vle.*)
62 } > flash
63
64 .text : ALIGN(16)
65 {
66 *(.text)
67 *(.text.*)
68 *(.gnu.linkonce.t.*)
69 } > flash
70
71 .rodata : ALIGN(16)
72 {
73 *(.glue_7t)
74 *(.glue_7)
75 *(.gcc*)
76 *(.rodata)
77 *(.rodata.*)
78 *(.rodata1)
79 } > flash
80
81 .sdata2 : ALIGN(16)
82 {
83 __sdata2_start__ = . + 0x8000;
84 *(.sdata2)
85 *(.sdata2.*)
86 *(.gnu.linkonce.s2.*)
87 *(.sbss2)
88 *(.sbss2.*)
89 *(.gnu.linkonce.sb2.*)
90 } > flash
91
92 .eh_frame_hdr :
93 {
94 *(.eh_frame_hdr)
95 } > flash
96
97 .eh_frame : ONLY_IF_RO
98 {
99 *(.eh_frame)
100 } > flash
101
102 .romdata : ALIGN(16)
103 {
104 __romdata_start__ = .;
105 } > flash
106
107 .stacks (NOLOAD) : ALIGN(16)
108 {
109 . = ALIGN(8);
110 __irq_stack_base__ = .;
111 . += __irq_stack_size__;
112 . = ALIGN(8);
113 __irq_stack_end__ = .;
114 __process_stack_base__ = .;
115 __main_thread_stack_base__ = .;
116 . += __process_stack_size__;
117 . = ALIGN(8);
118 __process_stack_end__ = .;
119 __main_thread_stack_end__ = .;
120 } > ram
121
122 .data : AT(__romdata_start__)
123 {
124 . = ALIGN(4);
125 __data_start__ = .;
126 *(.data)
127 *(.data.*)
128 *(.gnu.linkonce.d.*)
129 __sdata_start__ = . + 0x8000;
130 *(.sdata)
131 *(.sdata.*)
132 *(.gnu.linkonce.s.*)
133 __data_end__ = .;
134 } > ram
135
136 .sbss (NOLOAD) :
137 {
138 __bss_start__ = .;
139 *(.sbss)
140 *(.sbss.*)
141 *(.gnu.linkonce.sb.*)
142 *(.scommon)
143 } > ram
144
145 .bss (NOLOAD) :
146 {
147 *(.bss)
148 *(.bss.*)
149 *(.gnu.linkonce.b.*)
150 *(COMMON)
151 __bss_end__ = .;
152 } > ram
153
154 __heap_base__ = __bss_end__;
155 __heap_end__ = __ram_end__;
156}
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld
new file mode 100644
index 000000000..9424c63c9
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld
@@ -0,0 +1,156 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17__ram_size__ = LENGTH(ram);
18__ram_start__ = ORIGIN(ram);
19__ram_end__ = ORIGIN(ram) + LENGTH(ram);
20
21ENTRY(_reset_address)
22
23SECTIONS
24{
25 . = ORIGIN(flash);
26 .boot0 : ALIGN(16)
27 {
28 __ivpr_base__ = .;
29 KEEP(*(.boot))
30 } > flash
31
32 .boot1 : ALIGN(16)
33 {
34 KEEP(*(.handlers))
35 KEEP(*(.crt0))
36 /* The vectors table requires a 2kB alignment.*/
37 . = ALIGN(0x800);
38 KEEP(*(.vectors))
39 } > flash
40
41 constructors : ALIGN(4)
42 {
43 PROVIDE(__init_array_start = .);
44 KEEP(*(SORT(.init_array.*)))
45 KEEP(*(.init_array))
46 PROVIDE(__init_array_end = .);
47 } > flash
48
49 destructors : ALIGN(4)
50 {
51 PROVIDE(__fini_array_start = .);
52 KEEP(*(.fini_array))
53 KEEP(*(SORT(.fini_array.*)))
54 PROVIDE(__fini_array_end = .);
55 } > flash
56
57 .text_vle : ALIGN(16)
58 {
59 *(.text_vle)
60 *(.text_vle.*)
61 *(.gnu.linkonce.t_vle.*)
62 } > flash
63
64 .text : ALIGN(16)
65 {
66 *(.text)
67 *(.text.*)
68 *(.gnu.linkonce.t.*)
69 } > flash
70
71 .rodata : ALIGN(16)
72 {
73 *(.glue_7t)
74 *(.glue_7)
75 *(.gcc*)
76 *(.rodata)
77 *(.rodata.*)
78 *(.rodata1)
79 } > flash
80
81 .sdata2 : ALIGN(16)
82 {
83 __sdata2_start__ = . + 0x8000;
84 *(.sdata2)
85 *(.sdata2.*)
86 *(.gnu.linkonce.s2.*)
87 *(.sbss2)
88 *(.sbss2.*)
89 *(.gnu.linkonce.sb2.*)
90 } > flash
91
92 .eh_frame_hdr :
93 {
94 *(.eh_frame_hdr)
95 } > flash
96
97 .eh_frame : ONLY_IF_RO
98 {
99 *(.eh_frame)
100 } > flash
101
102 .romdata : ALIGN(16)
103 {
104 __romdata_start__ = .;
105 } > flash
106
107 .stacks (NOLOAD) : ALIGN(16)
108 {
109 . = ALIGN(8);
110 __irq_stack_base__ = .;
111 . += __irq_stack_size__;
112 . = ALIGN(8);
113 __irq_stack_end__ = .;
114 __process_stack_base__ = .;
115 __main_thread_stack_base__ = .;
116 . += __process_stack_size__;
117 . = ALIGN(8);
118 __process_stack_end__ = .;
119 __main_thread_stack_end__ = .;
120 } > ram
121
122 .data : AT(__romdata_start__)
123 {
124 . = ALIGN(4);
125 __data_start__ = .;
126 *(.data)
127 *(.data.*)
128 *(.gnu.linkonce.d.*)
129 __sdata_start__ = . + 0x8000;
130 *(.sdata)
131 *(.sdata.*)
132 *(.gnu.linkonce.s.*)
133 __data_end__ = .;
134 } > ram
135
136 .sbss (NOLOAD) :
137 {
138 __bss_start__ = .;
139 *(.sbss)
140 *(.sbss.*)
141 *(.gnu.linkonce.sb.*)
142 *(.scommon)
143 } > ram
144
145 .bss (NOLOAD) :
146 {
147 *(.bss)
148 *(.bss.*)
149 *(.gnu.linkonce.b.*)
150 *(COMMON)
151 __bss_end__ = .;
152 } > ram
153
154 __heap_base__ = __bss_end__;
155 __heap_end__ = __ram_end__;
156}
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560bcxx.mk b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560bcxx.mk
new file mode 100644
index 000000000..92373338f
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560bcxx.mk
@@ -0,0 +1,17 @@
1# List of the ChibiOS e200z0 SPC560BCxx startup files.
2STARTUPSRC =
3
4STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC560BCxx/boot.S \
5 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/vectors.S \
6 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/crt0.S
7
8STARTUPINC = $(CHIBIOS)/os/common/portability/GCC \
9 ${CHIBIOS}/os/common/startup/e200/compilers/GCC \
10 ${CHIBIOS}/os/common/startup/e200/devices/SPC560BCxx
11
12STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/GCC/ld
13
14# Shared variables
15ALLXASMSRC += $(STARTUPASM)
16ALLCSRC += $(STARTUPSRC)
17ALLINC += $(STARTUPINC)
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560bxx.mk b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560bxx.mk
new file mode 100644
index 000000000..d551a336f
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560bxx.mk
@@ -0,0 +1,17 @@
1# List of the ChibiOS e200z0 SPC560Bxx startup files.
2STARTUPSRC =
3
4STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC560Bxx/boot.S \
5 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/vectors.S \
6 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/crt0.S
7
8STARTUPINC = $(CHIBIOS)/os/common/portability/GCC \
9 ${CHIBIOS}/os/common/startup/e200/compilers/GCC \
10 ${CHIBIOS}/os/common/startup/e200/devices/SPC560Bxx
11
12STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/GCC/ld
13
14# Shared variables
15ALLXASMSRC += $(STARTUPASM)
16ALLCSRC += $(STARTUPSRC)
17ALLINC += $(STARTUPINC)
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560dxx.mk b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560dxx.mk
new file mode 100644
index 000000000..3f8c0dc15
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560dxx.mk
@@ -0,0 +1,17 @@
1# List of the ChibiOS e200z0 SPC560Dxx startup files.
2STARTUPSRC =
3
4STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC560Dxx/boot.S \
5 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/vectors.S \
6 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/crt0.S
7
8STARTUPINC = $(CHIBIOS)/os/common/portability/GCC \
9 ${CHIBIOS}/os/common/startup/e200/compilers/GCC \
10 ${CHIBIOS}/os/common/startup/e200/devices/SPC560Dxx
11
12STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/GCC/ld
13
14# Shared variables
15ALLXASMSRC += $(STARTUPASM)
16ALLCSRC += $(STARTUPSRC)
17ALLINC += $(STARTUPINC)
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560pxx.mk b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560pxx.mk
new file mode 100644
index 000000000..3adbde2f4
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc560pxx.mk
@@ -0,0 +1,17 @@
1# List of the ChibiOS e200z0 SPC560Pxx startup files.
2STARTUPSRC =
3
4STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC560Pxx/boot.S \
5 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/vectors.S \
6 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/crt0.S
7
8STARTUPINC = $(CHIBIOS)/os/common/portability/GCC \
9 ${CHIBIOS}/os/common/startup/e200/compilers/GCC \
10 ${CHIBIOS}/os/common/startup/e200/devices/SPC560Pxx
11
12STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/GCC/ld
13
14# Shared variables
15ALLXASMSRC += $(STARTUPASM)
16ALLCSRC += $(STARTUPSRC)
17ALLINC += $(STARTUPINC)
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc563mxx.mk b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc563mxx.mk
new file mode 100644
index 000000000..ead52d1b5
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc563mxx.mk
@@ -0,0 +1,17 @@
1# List of the ChibiOS e200z3 SPC563Mxx startup files.
2STARTUPSRC =
3
4STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC563Mxx/boot.S \
5 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/vectors.S \
6 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/crt0.S
7
8STARTUPINC = $(CHIBIOS)/os/common/portability/GCC \
9 ${CHIBIOS}/os/common/startup/e200/compilers/GCC \
10 ${CHIBIOS}/os/common/startup/e200/devices/SPC563Mxx
11
12STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/GCC/ld
13
14# Shared variables
15ALLXASMSRC += $(STARTUPASM)
16ALLCSRC += $(STARTUPSRC)
17ALLINC += $(STARTUPINC)
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc564axx.mk b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc564axx.mk
new file mode 100644
index 000000000..f62690e22
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc564axx.mk
@@ -0,0 +1,17 @@
1# List of the ChibiOS e200z4 SPC564Axx startup files.
2STARTUPSRC =
3
4STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC564Axx/boot.S \
5 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/vectors.S \
6 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/crt0.S
7
8STARTUPINC = $(CHIBIOS)/os/common/portability/GCC \
9 ${CHIBIOS}/os/common/startup/e200/compilers/GCC \
10 ${CHIBIOS}/os/common/startup/e200/devices/SPC564Axx
11
12STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/GCC/ld
13
14# Shared variables
15ALLXASMSRC += $(STARTUPASM)
16ALLCSRC += $(STARTUPSRC)
17ALLINC += $(STARTUPINC)
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc56ecxx.mk b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc56ecxx.mk
new file mode 100644
index 000000000..62797545e
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc56ecxx.mk
@@ -0,0 +1,17 @@
1# List of the ChibiOS e200z4 SPC56ECxx startup files.
2STARTUPSRC =
3
4STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC56ECxx/boot.S \
5 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/vectors.S \
6 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/crt0.S
7
8STARTUPINC = $(CHIBIOS)/os/common/portability/GCC \
9 ${CHIBIOS}/os/common/startup/e200/compilers/GCC \
10 ${CHIBIOS}/os/common/startup/e200/devices/SPC56ECxx
11
12STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/GCC/ld
13
14# Shared variables
15ALLXASMSRC += $(STARTUPASM)
16ALLCSRC += $(STARTUPSRC)
17ALLINC += $(STARTUPINC)
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc56elxx.mk b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc56elxx.mk
new file mode 100644
index 000000000..9a7e98843
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/mk/startup_spc56elxx.mk
@@ -0,0 +1,17 @@
1# List of the ChibiOS e200z4 SPC56ELxx startup files.
2STARTUPSRC =
3
4STARTUPASM = $(CHIBIOS)/os/common/startup/e200/devices/SPC56ELxx/boot.S \
5 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/vectors.S \
6 $(CHIBIOS)/os/common/startup/e200/compilers/GCC/crt0.S
7
8STARTUPINC = $(CHIBIOS)/os/common/portability/GCC \
9 ${CHIBIOS}/os/common/startup/e200/compilers/GCC \
10 ${CHIBIOS}/os/common/startup/e200/devices/SPC56ELxx
11
12STARTUPLD = ${CHIBIOS}/os/common/startup/e200/compilers/GCC/ld
13
14# Shared variables
15ALLXASMSRC += $(STARTUPASM)
16ALLCSRC += $(STARTUPSRC)
17ALLINC += $(STARTUPINC)
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/rules.mk b/lib/chibios/os/common/startup/e200/compilers/GCC/rules.mk
new file mode 100644
index 000000000..829ec07cc
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/rules.mk
@@ -0,0 +1,260 @@
1# e200z common makefile scripts and rules.
2
3##############################################################################
4# Processing options coming from the upper Makefile.
5#
6
7# Compiler options
8OPT = $(USE_OPT)
9COPT = $(USE_COPT)
10CPPOPT = $(USE_CPPOPT)
11
12# Garbage collection
13ifeq ($(USE_LINK_GC),yes)
14 OPT += -ffunction-sections -fdata-sections -fno-common
15 LDOPT := --gc-sections
16else
17 LDOPT := --no-gc-sections
18endif
19
20# Linker extra options
21ifneq ($(USE_LDOPT),)
22 LDOPT := $(LDOPT),$(USE_LDOPT)
23endif
24
25# Link time optimizations
26ifeq ($(USE_LTO),yes)
27 OPT += -flto
28endif
29
30# VLE option handling.
31ifeq ($(USE_VLE),yes)
32 DDEFS += -DPPC_USE_VLE=1
33 DADEFS += -DPPC_USE_VLE=1
34 MCU += -mvle
35else
36 DDEFS += -DPPC_USE_VLE=0
37 DADEFS += -DPPC_USE_VLE=0
38endif
39
40# Process stack size
41ifeq ($(USE_PROCESS_STACKSIZE),)
42 LDOPT := $(LDOPT),--defsym=__process_stack_size__=0x400
43else
44 LDOPT := $(LDOPT),--defsym=__process_stack_size__=$(USE_PROCESS_STACKSIZE)
45endif
46
47# Exceptions stack size
48ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
49 LDOPT := $(LDOPT),--defsym=__irq_stack_size__=0x400
50else
51 LDOPT := $(LDOPT),--defsym=__irq_stack_size__=$(USE_EXCEPTIONS_STACKSIZE)
52endif
53
54# Output directory and files
55ifeq ($(BUILDDIR),)
56 BUILDDIR = build
57endif
58ifeq ($(BUILDDIR),.)
59 BUILDDIR = build
60endif
61
62# Dependencies directory
63ifeq ($(DEPDIR),)
64 DEPDIR = .dep
65endif
66ifeq ($(DEPDIR),.)
67 DEPDIR = .dep
68endif
69
70OUTFILES = $(BUILDDIR)/$(PROJECT).elf $(BUILDDIR)/$(PROJECT).hex \
71 $(BUILDDIR)/$(PROJECT).mot $(BUILDDIR)/$(PROJECT).bin \
72 $(BUILDDIR)/$(PROJECT).dmp $(BUILDDIR)/$(PROJECT).list
73
74# Source files groups and paths
75SRC = $(CSRC)$(CPPSRC)
76SRCPATHS = $(sort $(dir $(ASMXSRC)) $(dir $(ASMSRC)) $(dir $(SRC)))
77
78# Various directories
79OBJDIR = $(BUILDDIR)/obj
80LSTDIR = $(BUILDDIR)/lst
81
82# Object files groups
83COBJS = $(addprefix $(OBJDIR)/, $(notdir $(CSRC:.c=.o)))
84CPPOBJS = $(addprefix $(OBJDIR)/, $(notdir $(CPPSRC:.cpp=.o)))
85ASMOBJS = $(addprefix $(OBJDIR)/, $(notdir $(ASMSRC:.s=.o)))
86ASMXOBJS = $(addprefix $(OBJDIR)/, $(notdir $(ASMXSRC:.S=.o)))
87OBJS = $(ASMXOBJS) $(ASMOBJS) $(COBJS) $(CPPOBJS)
88
89# Paths
90IINCDIR = $(patsubst %,-I%,$(INCDIR) $(DINCDIR) $(UINCDIR))
91LLIBDIR = $(patsubst %,-L%,$(DLIBDIR) $(ULIBDIR))
92
93# Macros
94DEFS = $(DDEFS) $(UDEFS)
95ADEFS = $(DADEFS) $(UADEFS)
96
97# Libs
98LIBS = $(DLIBS) $(ULIBS)
99
100# Various settings
101MCFLAGS = -mcpu=$(MCU)
102ODFLAGS = -x --syms
103ASFLAGS = $(MCFLAGS) $(OPT) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.s=.lst)) $(ADEFS)
104ASXFLAGS = $(MCFLAGS) $(OPT) -Wa,-amhls=$(LSTDIR)/$(notdir $(<:.S=.lst)) $(ADEFS)
105CFLAGS = $(MCFLAGS) $(OPT) $(COPT) $(CWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.c=.lst)) $(DEFS)
106CPPFLAGS = $(MCFLAGS) $(OPT) $(CPPOPT) $(CPPWARN) -Wa,-alms=$(LSTDIR)/$(notdir $(<:.cpp=.lst)) $(DEFS)
107LDFLAGS = $(MCFLAGS) $(OPT) -nostartfiles $(LLIBDIR) -Wl,-Map=$(BUILDDIR)/$(PROJECT).map,--cref,--no-warn-mismatch,--library-path=$(RULESPATH)/ld,$(LDOPT),--script=$(LDSCRIPT)
108
109# Generate dependency information
110ASFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
111ASXFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
112CFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
113CPPFLAGS += -MD -MP -MF $(DEPDIR)/$(@F).d
114
115# Paths where to search for sources
116VPATH = $(SRCPATHS)
117
118#
119# Makefile rules
120#
121
122all: PRE_MAKE_ALL_RULE_HOOK $(OBJS) $(OUTFILES) POST_MAKE_ALL_RULE_HOOK
123
124PRE_MAKE_ALL_RULE_HOOK:
125
126POST_MAKE_ALL_RULE_HOOK:
127
128$(OBJS): | PRE_MAKE_ALL_RULE_HOOK $(BUILDDIR) $(OBJDIR) $(LSTDIR) $(DEPDIR)
129
130$(BUILDDIR):
131ifneq ($(USE_VERBOSE_COMPILE),yes)
132 @echo Compiler Options
133 @echo $(CC) -c $(CFLAGS) -I. $(IINCDIR) main.c -o main.o
134 @echo
135endif
136 @mkdir -p $(BUILDDIR)
137
138$(OBJDIR):
139 @mkdir -p $(OBJDIR)
140
141$(LSTDIR):
142 @mkdir -p $(LSTDIR)
143
144$(DEPDIR):
145 @mkdir -p $(DEPDIR)
146
147$(CPPOBJS) : $(OBJDIR)/%.o : %.cpp $(MAKEFILE_LIST)
148ifeq ($(USE_VERBOSE_COMPILE),yes)
149 @echo
150 $(CPPC) -c $(CPPFLAGS) -I. $(IINCDIR) $< -o $@
151else
152 @echo Compiling $(<F)
153 @$(CPPC) -c $(CPPFLAGS) -I. $(IINCDIR) $< -o $@
154endif
155
156$(COBJS) : $(OBJDIR)/%.o : %.c $(MAKEFILE_LIST)
157ifeq ($(USE_VERBOSE_COMPILE),yes)
158 @echo
159 $(CC) -c $(CFLAGS) -I. $(IINCDIR) $< -o $@
160else
161 @echo Compiling $(<F)
162 @$(CC) -c $(CFLAGS) -I. $(IINCDIR) $< -o $@
163endif
164
165$(ASMOBJS) : $(OBJDIR)/%.o : %.s $(MAKEFILE_LIST)
166ifeq ($(USE_VERBOSE_COMPILE),yes)
167 @echo
168 $(AS) -c $(ASFLAGS) -I. $(IINCDIR) $< -o $@
169else
170 @echo Compiling $(<F)
171 @$(AS) -c $(ASFLAGS) -I. $(IINCDIR) $< -o $@
172endif
173
174$(ASMXOBJS) : $(OBJDIR)/%.o : %.S $(MAKEFILE_LIST)
175ifeq ($(USE_VERBOSE_COMPILE),yes)
176 @echo
177 $(CC) -c $(ASXFLAGS) -I. $(IINCDIR) $< -o $@
178else
179 @echo Compiling $(<F)
180 @$(CC) -c $(ASXFLAGS) -I. $(IINCDIR) $< -o $@
181endif
182
183%.elf: $(OBJS) $(LDSCRIPT)
184ifeq ($(USE_VERBOSE_COMPILE),yes)
185 @echo
186 $(LD) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
187else
188 @echo Linking $@
189 @$(LD) $(OBJS) $(LDFLAGS) $(LIBS) -o $@
190endif
191
192%.hex: %.elf $(LDSCRIPT)
193ifeq ($(USE_VERBOSE_COMPILE),yes)
194 $(HEX) $< $@
195else
196 @echo Creating $@
197 @$(HEX) $< $@
198endif
199
200%.mot: %.elf $(LDSCRIPT)
201ifeq ($(USE_VERBOSE_COMPILE),yes)
202 $(MOT) $< $@
203else
204 @echo Creating $@
205 @$(MOT) $< $@
206endif
207
208%.bin: %.elf $(LDSCRIPT)
209ifeq ($(USE_VERBOSE_COMPILE),yes)
210 $(BIN) $< $@
211else
212 @echo Creating $@
213 @$(BIN) $< $@
214endif
215
216%.dmp: %.elf $(LDSCRIPT)
217ifeq ($(USE_VERBOSE_COMPILE),yes)
218 $(OD) $(ODFLAGS) $< > $@
219 $(SZ) $<
220else
221 @echo Creating $@
222 @$(OD) $(ODFLAGS) $< > $@
223 @echo
224 @$(SZ) $<
225endif
226
227%.list: %.elf $(LDSCRIPT)
228ifeq ($(USE_VERBOSE_COMPILE),yes)
229 $(OD) -S $< > $@
230else
231 @echo Creating $@
232 @$(OD) -S $< > $@
233 @echo Done
234endif
235
236lib: $(OBJS) $(BUILDDIR)/lib$(PROJECT).a
237
238$(BUILDDIR)/lib$(PROJECT).a: $(OBJS)
239 @$(AR) -r $@ $^
240 @echo
241 @echo Done
242
243clean: CLEAN_RULE_HOOK
244 @echo Cleaning
245 @echo - $(DEPDIR)
246 @-rm -fR $(DEPDIR)/* $(BUILDDIR)/* 2>/dev/null
247 @-if [ -d "$(DEPDIR)" ]; then rmdir -p --ignore-fail-on-non-empty $(subst ./,,$(DEPDIR)) 2>/dev/null; fi
248 @echo - $(BUILDDIR)
249 @-if [ -d "$(BUILDDIR)" ]; then rmdir -p --ignore-fail-on-non-empty $(subst ./,,$(BUILDDIR)) 2>/dev/null; fi
250 @echo
251 @echo Done
252
253CLEAN_RULE_HOOK:
254
255#
256# Include the dependency files, should be the last of the makefile
257#
258-include $(wildcard $(DEPDIR)/*)
259
260# *** EOF ***
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/vectors.S b/lib/chibios/os/common/startup/e200/compilers/GCC/vectors.S
new file mode 100644
index 000000000..db2b56ed1
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/vectors.S
@@ -0,0 +1,2612 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/**
18 * @file vectors.S
19 * @brief INTC vectors table.
20 *
21 * @addtogroup PPC_GCC_CORE
22 * @{
23 */
24
25#define _FROM_ASM_
26#include "ppcparams.h"
27
28#if defined(VECTORS_RENAMING)
29#include "isrs.h"
30#endif
31
32#if !defined(__DOXYGEN__)
33
34 /* Software vectors table. The vectors are accessed from the IVOR4
35 handler only. In order to declare an interrupt handler just create
36 a function withe the same name of a vector, the symbol will
37 override the weak symbol declared here.*/
38 .section .vectors, "ax"
39 .align 4
40 .globl _vectors
41_vectors:
42 .long vector0, vector1, vector2, vector3
43#if PPC_NUM_VECTORS > 4
44 .long vector4, vector5, vector6, vector7
45#endif
46#if PPC_NUM_VECTORS > 8
47 .long vector8, vector9, vector10, vector11
48#endif
49#if PPC_NUM_VECTORS > 12
50 .long vector12, vector13, vector14, vector15
51#endif
52#if PPC_NUM_VECTORS > 16
53 .long vector16, vector17, vector18, vector19
54#endif
55#if PPC_NUM_VECTORS > 20
56 .long vector20, vector21, vector22, vector23
57#endif
58#if PPC_NUM_VECTORS > 24
59 .long vector24, vector25, vector26, vector27
60#endif
61#if PPC_NUM_VECTORS > 28
62 .long vector28, vector29, vector30, vector31
63#endif
64#if PPC_NUM_VECTORS > 32
65 .long vector32, vector33, vector34, vector35
66#endif
67#if PPC_NUM_VECTORS > 36
68 .long vector36, vector37, vector38, vector39
69#endif
70#if PPC_NUM_VECTORS > 40
71 .long vector40, vector41, vector42, vector43
72#endif
73#if PPC_NUM_VECTORS > 44
74 .long vector44, vector45, vector46, vector47
75#endif
76#if PPC_NUM_VECTORS > 48
77 .long vector48, vector49, vector50, vector51
78#endif
79#if PPC_NUM_VECTORS > 52
80 .long vector52, vector53, vector54, vector55
81#endif
82#if PPC_NUM_VECTORS > 56
83 .long vector56, vector57, vector58, vector59
84#endif
85#if PPC_NUM_VECTORS > 60
86 .long vector60, vector61, vector62, vector63
87#endif
88#if PPC_NUM_VECTORS > 64
89 .long vector64, vector65, vector66, vector67
90#endif
91#if PPC_NUM_VECTORS > 68
92 .long vector68, vector69, vector70, vector71
93#endif
94#if PPC_NUM_VECTORS > 72
95 .long vector72, vector73, vector74, vector75
96#endif
97#if PPC_NUM_VECTORS > 76
98 .long vector76, vector77, vector78, vector79
99#endif
100#if PPC_NUM_VECTORS > 80
101 .long vector80, vector81, vector82, vector83
102#endif
103#if PPC_NUM_VECTORS > 84
104 .long vector84, vector85, vector86, vector87
105#endif
106#if PPC_NUM_VECTORS > 88
107 .long vector88, vector89, vector90, vector91
108#endif
109#if PPC_NUM_VECTORS > 92
110 .long vector92, vector93, vector94, vector95
111#endif
112#if PPC_NUM_VECTORS > 96
113 .long vector96, vector97, vector98, vector99
114#endif
115#if PPC_NUM_VECTORS > 100
116 .long vector100, vector101, vector102, vector103
117#endif
118#if PPC_NUM_VECTORS > 104
119 .long vector104, vector105, vector106, vector107
120#endif
121#if PPC_NUM_VECTORS > 108
122 .long vector108, vector109, vector110, vector111
123#endif
124#if PPC_NUM_VECTORS > 112
125 .long vector112, vector113, vector114, vector115
126#endif
127#if PPC_NUM_VECTORS > 116
128 .long vector116, vector117, vector118, vector119
129#endif
130#if PPC_NUM_VECTORS > 120
131 .long vector120, vector121, vector122, vector123
132#endif
133#if PPC_NUM_VECTORS > 124
134 .long vector124, vector125, vector126, vector127
135#endif
136#if PPC_NUM_VECTORS > 128
137 .long vector128, vector129, vector130, vector131
138#endif
139#if PPC_NUM_VECTORS > 132
140 .long vector132, vector133, vector134, vector135
141#endif
142#if PPC_NUM_VECTORS > 136
143 .long vector136, vector137, vector138, vector139
144#endif
145#if PPC_NUM_VECTORS > 140
146 .long vector140, vector141, vector142, vector143
147#endif
148#if PPC_NUM_VECTORS > 144
149 .long vector144, vector145, vector146, vector147
150#endif
151#if PPC_NUM_VECTORS > 148
152 .long vector148, vector149, vector150, vector151
153#endif
154#if PPC_NUM_VECTORS > 152
155 .long vector152, vector153, vector154, vector155
156#endif
157#if PPC_NUM_VECTORS > 156
158 .long vector156, vector157, vector158, vector159
159#endif
160#if PPC_NUM_VECTORS > 160
161 .long vector160, vector161, vector162, vector163
162#endif
163#if PPC_NUM_VECTORS > 164
164 .long vector164, vector165, vector166, vector167
165#endif
166#if PPC_NUM_VECTORS > 168
167 .long vector168, vector169, vector170, vector171
168#endif
169#if PPC_NUM_VECTORS > 172
170 .long vector172, vector173, vector174, vector175
171#endif
172#if PPC_NUM_VECTORS > 176
173 .long vector176, vector177, vector178, vector179
174#endif
175#if PPC_NUM_VECTORS > 180
176 .long vector180, vector181, vector182, vector183
177#endif
178#if PPC_NUM_VECTORS > 184
179 .long vector184, vector185, vector186, vector187
180#endif
181#if PPC_NUM_VECTORS > 188
182 .long vector188, vector189, vector190, vector191
183#endif
184#if PPC_NUM_VECTORS > 192
185 .long vector192, vector193, vector194, vector195
186#endif
187#if PPC_NUM_VECTORS > 196
188 .long vector196, vector197, vector198, vector199
189#endif
190#if PPC_NUM_VECTORS > 200
191 .long vector200, vector201, vector202, vector203
192#endif
193#if PPC_NUM_VECTORS > 204
194 .long vector204, vector205, vector206, vector207
195#endif
196#if PPC_NUM_VECTORS > 208
197 .long vector208, vector209, vector210, vector211
198#endif
199#if PPC_NUM_VECTORS > 212
200 .long vector212, vector213, vector214, vector215
201#endif
202#if PPC_NUM_VECTORS > 216
203 .long vector216, vector217, vector218, vector219
204#endif
205#if PPC_NUM_VECTORS > 220
206 .long vector220, vector221, vector222, vector223
207#endif
208#if PPC_NUM_VECTORS > 224
209 .long vector224, vector225, vector226, vector227
210#endif
211#if PPC_NUM_VECTORS > 228
212 .long vector228, vector229, vector230, vector231
213#endif
214#if PPC_NUM_VECTORS > 232
215 .long vector232, vector233, vector234, vector235
216#endif
217#if PPC_NUM_VECTORS > 236
218 .long vector236, vector237, vector238, vector239
219#endif
220#if PPC_NUM_VECTORS > 240
221 .long vector240, vector241, vector242, vector243
222#endif
223#if PPC_NUM_VECTORS > 244
224 .long vector244, vector245, vector246, vector247
225#endif
226#if PPC_NUM_VECTORS > 248
227 .long vector248, vector249, vector250, vector251
228#endif
229#if PPC_NUM_VECTORS > 252
230 .long vector252, vector253, vector254, vector255
231#endif
232#if PPC_NUM_VECTORS > 256
233 .long vector256, vector257, vector258, vector259
234#endif
235#if PPC_NUM_VECTORS > 260
236 .long vector260, vector261, vector262, vector263
237#endif
238#if PPC_NUM_VECTORS > 264
239 .long vector264, vector265, vector266, vector267
240#endif
241#if PPC_NUM_VECTORS > 268
242 .long vector268, vector269, vector270, vector271
243#endif
244#if PPC_NUM_VECTORS > 272
245 .long vector272, vector273, vector274, vector275
246#endif
247#if PPC_NUM_VECTORS > 276
248 .long vector276, vector277, vector278, vector279
249#endif
250#if PPC_NUM_VECTORS > 280
251 .long vector280, vector281, vector282, vector283
252#endif
253#if PPC_NUM_VECTORS > 284
254 .long vector284, vector285, vector286, vector287
255#endif
256#if PPC_NUM_VECTORS > 288
257 .long vector288, vector289, vector290, vector291
258#endif
259#if PPC_NUM_VECTORS > 292
260 .long vector292, vector293, vector294, vector295
261#endif
262#if PPC_NUM_VECTORS > 296
263 .long vector296, vector297, vector298, vector299
264#endif
265#if PPC_NUM_VECTORS > 300
266 .long vector300, vector301, vector302, vector303
267#endif
268#if PPC_NUM_VECTORS > 304
269 .long vector304, vector305, vector306, vector307
270#endif
271#if PPC_NUM_VECTORS > 308
272 .long vector308, vector309, vector310, vector311
273#endif
274#if PPC_NUM_VECTORS > 312
275 .long vector312, vector313, vector314, vector315
276#endif
277#if PPC_NUM_VECTORS > 316
278 .long vector316, vector317, vector318, vector319
279#endif
280#if PPC_NUM_VECTORS > 320
281 .long vector320, vector321, vector322, vector323
282#endif
283#if PPC_NUM_VECTORS > 324
284 .long vector324, vector325, vector326, vector327
285#endif
286#if PPC_NUM_VECTORS > 328
287 .long vector328, vector329, vector330, vector331
288#endif
289#if PPC_NUM_VECTORS > 332
290 .long vector332, vector333, vector334, vector335
291#endif
292#if PPC_NUM_VECTORS > 336
293 .long vector336, vector337, vector338, vector339
294#endif
295#if PPC_NUM_VECTORS > 340
296 .long vector340, vector341, vector342, vector343
297#endif
298#if PPC_NUM_VECTORS > 344
299 .long vector344, vector345, vector346, vector347
300#endif
301#if PPC_NUM_VECTORS > 348
302 .long vector348, vector349, vector350, vector351
303#endif
304#if PPC_NUM_VECTORS > 352
305 .long vector352, vector353, vector354, vector355
306#endif
307#if PPC_NUM_VECTORS > 356
308 .long vector356, vector357, vector358, vector359
309#endif
310#if PPC_NUM_VECTORS > 360
311 .long vector360, vector361, vector362, vector363
312#endif
313#if PPC_NUM_VECTORS > 364
314 .long vector364, vector365, vector366, vector367
315#endif
316#if PPC_NUM_VECTORS > 368
317 .long vector368, vector369, vector370, vector371
318#endif
319#if PPC_NUM_VECTORS > 372
320 .long vector372, vector373, vector374, vector375
321#endif
322#if PPC_NUM_VECTORS > 376
323 .long vector376, vector377, vector378, vector379
324#endif
325#if PPC_NUM_VECTORS > 380
326 .long vector380, vector381, vector382, vector383
327#endif
328#if PPC_NUM_VECTORS > 384
329 .long vector384, vector385, vector386, vector387
330#endif
331#if PPC_NUM_VECTORS > 388
332 .long vector388, vector389, vector390, vector391
333#endif
334#if PPC_NUM_VECTORS > 392
335 .long vector392, vector393, vector394, vector395
336#endif
337#if PPC_NUM_VECTORS > 396
338 .long vector396, vector397, vector398, vector399
339#endif
340#if PPC_NUM_VECTORS > 400
341 .long vector400, vector401, vector402, vector403
342#endif
343#if PPC_NUM_VECTORS > 404
344 .long vector404, vector405, vector406, vector407
345#endif
346#if PPC_NUM_VECTORS > 408
347 .long vector408, vector409, vector410, vector411
348#endif
349#if PPC_NUM_VECTORS > 412
350 .long vector412, vector413, vector414, vector415
351#endif
352#if PPC_NUM_VECTORS > 416
353 .long vector416, vector417, vector418, vector419
354#endif
355#if PPC_NUM_VECTORS > 420
356 .long vector420, vector421, vector422, vector423
357#endif
358#if PPC_NUM_VECTORS > 424
359 .long vector424, vector425, vector426, vector427
360#endif
361#if PPC_NUM_VECTORS > 428
362 .long vector428, vector429, vector430, vector431
363#endif
364#if PPC_NUM_VECTORS > 432
365 .long vector432, vector433, vector434, vector435
366#endif
367#if PPC_NUM_VECTORS > 436
368 .long vector436, vector437, vector438, vector439
369#endif
370#if PPC_NUM_VECTORS > 440
371 .long vector440, vector441, vector442, vector443
372#endif
373#if PPC_NUM_VECTORS > 444
374 .long vector444, vector445, vector446, vector447
375#endif
376#if PPC_NUM_VECTORS > 448
377 .long vector448, vector449, vector450, vector451
378#endif
379#if PPC_NUM_VECTORS > 452
380 .long vector452, vector453, vector454, vector455
381#endif
382#if PPC_NUM_VECTORS > 456
383 .long vector456, vector457, vector458, vector459
384#endif
385#if PPC_NUM_VECTORS > 460
386 .long vector460, vector461, vector462, vector463
387#endif
388#if PPC_NUM_VECTORS > 464
389 .long vector464, vector465, vector466, vector467
390#endif
391#if PPC_NUM_VECTORS > 468
392 .long vector468, vector469, vector470, vector471
393#endif
394#if PPC_NUM_VECTORS > 472
395 .long vector472, vector473, vector474, vector475
396#endif
397#if PPC_NUM_VECTORS > 476
398 .long vector476, vector477, vector478, vector479
399#endif
400#if PPC_NUM_VECTORS > 480
401 .long vector480, vector481, vector482, vector483
402#endif
403#if PPC_NUM_VECTORS > 484
404 .long vector484, vector485, vector486, vector487
405#endif
406#if PPC_NUM_VECTORS > 488
407 .long vector488, vector489, vector490, vector491
408#endif
409#if PPC_NUM_VECTORS > 492
410 .long vector492, vector493, vector494, vector495
411#endif
412#if PPC_NUM_VECTORS > 496
413 .long vector496, vector497, vector498, vector499
414#endif
415#if PPC_NUM_VECTORS > 500
416 .long vector500, vector501, vector502, vector503
417#endif
418#if PPC_NUM_VECTORS > 504
419 .long vector504, vector505, vector506, vector507
420#endif
421#if PPC_NUM_VECTORS > 508
422 .long vector508, vector509, vector510, vector511
423#endif
424#if PPC_NUM_VECTORS > 512
425 .long vector512, vector513, vector514, vector515
426#endif
427#if PPC_NUM_VECTORS > 516
428 .long vector516, vector517, vector518, vector519
429#endif
430#if PPC_NUM_VECTORS > 520
431 .long vector520, vector521, vector522, vector523
432#endif
433#if PPC_NUM_VECTORS > 524
434 .long vector524, vector525, vector526, vector527
435#endif
436#if PPC_NUM_VECTORS > 528
437 .long vector528, vector529, vector530, vector531
438#endif
439#if PPC_NUM_VECTORS > 532
440 .long vector532, vector533, vector534, vector535
441#endif
442#if PPC_NUM_VECTORS > 536
443 .long vector536, vector537, vector538, vector539
444#endif
445#if PPC_NUM_VECTORS > 540
446 .long vector540, vector541, vector542, vector543
447#endif
448#if PPC_NUM_VECTORS > 544
449 .long vector544, vector545, vector546, vector547
450#endif
451#if PPC_NUM_VECTORS > 548
452 .long vector548, vector549, vector550, vector551
453#endif
454#if PPC_NUM_VECTORS > 552
455 .long vector552, vector553, vector554, vector555
456#endif
457#if PPC_NUM_VECTORS > 556
458 .long vector556, vector557, vector558, vector559
459#endif
460#if PPC_NUM_VECTORS > 560
461 .long vector560, vector561, vector562, vector563
462#endif
463#if PPC_NUM_VECTORS > 564
464 .long vector564, vector565, vector566, vector567
465#endif
466#if PPC_NUM_VECTORS > 568
467 .long vector568, vector569, vector570, vector571
468#endif
469#if PPC_NUM_VECTORS > 572
470 .long vector572, vector573, vector574, vector575
471#endif
472#if PPC_NUM_VECTORS > 576
473 .long vector576, vector577, vector578, vector579
474#endif
475#if PPC_NUM_VECTORS > 580
476 .long vector580, vector581, vector582, vector583
477#endif
478#if PPC_NUM_VECTORS > 584
479 .long vector584, vector585, vector586, vector587
480#endif
481#if PPC_NUM_VECTORS > 588
482 .long vector588, vector589, vector590, vector591
483#endif
484#if PPC_NUM_VECTORS > 592
485 .long vector592, vector593, vector594, vector595
486#endif
487#if PPC_NUM_VECTORS > 596
488 .long vector596, vector597, vector598, vector599
489#endif
490#if PPC_NUM_VECTORS > 600
491 .long vector600, vector601, vector602, vector603
492#endif
493#if PPC_NUM_VECTORS > 604
494 .long vector604, vector605, vector606, vector607
495#endif
496#if PPC_NUM_VECTORS > 608
497 .long vector608, vector609, vector610, vector611
498#endif
499#if PPC_NUM_VECTORS > 612
500 .long vector612, vector613, vector614, vector615
501#endif
502#if PPC_NUM_VECTORS > 616
503 .long vector616, vector617, vector618, vector619
504#endif
505#if PPC_NUM_VECTORS > 620
506 .long vector620, vector621, vector622, vector623
507#endif
508#if PPC_NUM_VECTORS > 624
509 .long vector624, vector625, vector626, vector627
510#endif
511#if PPC_NUM_VECTORS > 628
512 .long vector628, vector629, vector630, vector631
513#endif
514#if PPC_NUM_VECTORS > 632
515 .long vector632, vector633, vector634, vector635
516#endif
517#if PPC_NUM_VECTORS > 636
518 .long vector636, vector637, vector638, vector639
519#endif
520#if PPC_NUM_VECTORS > 640
521 .long vector640, vector641, vector642, vector643
522#endif
523#if PPC_NUM_VECTORS > 644
524 .long vector644, vector645, vector646, vector647
525#endif
526#if PPC_NUM_VECTORS > 648
527 .long vector648, vector649, vector650, vector651
528#endif
529#if PPC_NUM_VECTORS > 652
530 .long vector652, vector653, vector654, vector655
531#endif
532#if PPC_NUM_VECTORS > 656
533 .long vector656, vector657, vector658, vector659
534#endif
535#if PPC_NUM_VECTORS > 660
536 .long vector660, vector661, vector662, vector663
537#endif
538#if PPC_NUM_VECTORS > 664
539 .long vector664, vector665, vector666, vector667
540#endif
541#if PPC_NUM_VECTORS > 668
542 .long vector668, vector669, vector670, vector671
543#endif
544#if PPC_NUM_VECTORS > 672
545 .long vector672, vector673, vector674, vector675
546#endif
547#if PPC_NUM_VECTORS > 676
548 .long vector676, vector677, vector678, vector679
549#endif
550#if PPC_NUM_VECTORS > 680
551 .long vector680, vector681, vector682, vector683
552#endif
553#if PPC_NUM_VECTORS > 684
554 .long vector684, vector685, vector686, vector687
555#endif
556#if PPC_NUM_VECTORS > 688
557 .long vector688, vector689, vector690, vector691
558#endif
559#if PPC_NUM_VECTORS > 692
560 .long vector692, vector693, vector694, vector695
561#endif
562#if PPC_NUM_VECTORS > 696
563 .long vector696, vector697, vector698, vector699
564#endif
565#if PPC_NUM_VECTORS > 700
566 .long vector700, vector701, vector702, vector703
567#endif
568#if PPC_NUM_VECTORS > 704
569 .long vector704, vector705, vector706, vector707
570#endif
571#if PPC_NUM_VECTORS > 708
572 .long vector708, vector709, vector710, vector711
573#endif
574#if PPC_NUM_VECTORS > 712
575 .long vector712, vector713, vector714, vector715
576#endif
577#if PPC_NUM_VECTORS > 716
578 .long vector716, vector717, vector718, vector719
579#endif
580#if PPC_NUM_VECTORS > 720
581 .long vector720, vector721, vector722, vector723
582#endif
583#if PPC_NUM_VECTORS > 724
584 .long vector724, vector725, vector726, vector727
585#endif
586#if PPC_NUM_VECTORS > 728
587 .long vector728, vector729, vector730, vector731
588#endif
589#if PPC_NUM_VECTORS > 732
590 .long vector732, vector733, vector734, vector735
591#endif
592#if PPC_NUM_VECTORS > 736
593 .long vector736, vector737, vector738, vector739
594#endif
595#if PPC_NUM_VECTORS > 740
596 .long vector740, vector741, vector742, vector743
597#endif
598#if PPC_NUM_VECTORS > 744
599 .long vector744, vector745, vector746, vector747
600#endif
601#if PPC_NUM_VECTORS > 748
602 .long vector748, vector749, vector750, vector751
603#endif
604#if PPC_NUM_VECTORS > 752
605 .long vector752, vector753, vector754, vector755
606#endif
607#if PPC_NUM_VECTORS > 756
608 .long vector756, vector757, vector758, vector759
609#endif
610#if PPC_NUM_VECTORS > 760
611 .long vector760, vector761, vector762, vector763
612#endif
613#if PPC_NUM_VECTORS > 764
614 .long vector764, vector765, vector766, vector767
615#endif
616#if PPC_NUM_VECTORS > 768
617 .long vector768, vector769, vector770, vector771
618#endif
619#if PPC_NUM_VECTORS > 772
620 .long vector772, vector773, vector774, vector775
621#endif
622#if PPC_NUM_VECTORS > 776
623 .long vector776, vector777, vector778, vector779
624#endif
625#if PPC_NUM_VECTORS > 780
626 .long vector780, vector781, vector782, vector783
627#endif
628#if PPC_NUM_VECTORS > 784
629 .long vector784, vector785, vector786, vector787
630#endif
631#if PPC_NUM_VECTORS > 788
632 .long vector788, vector789, vector790, vector791
633#endif
634#if PPC_NUM_VECTORS > 792
635 .long vector792, vector793, vector794, vector795
636#endif
637#if PPC_NUM_VECTORS > 796
638 .long vector796, vector797, vector798, vector799
639#endif
640#if PPC_NUM_VECTORS > 800
641 .long vector800, vector801, vector802, vector803
642#endif
643#if PPC_NUM_VECTORS > 804
644 .long vector804, vector805, vector806, vector807
645#endif
646#if PPC_NUM_VECTORS > 808
647 .long vector808, vector809, vector810, vector811
648#endif
649#if PPC_NUM_VECTORS > 812
650 .long vector812, vector813, vector814, vector815
651#endif
652#if PPC_NUM_VECTORS > 816
653 .long vector816, vector817, vector818, vector819
654#endif
655#if PPC_NUM_VECTORS > 820
656 .long vector820, vector821, vector822, vector823
657#endif
658#if PPC_NUM_VECTORS > 824
659 .long vector824, vector825, vector826, vector827
660#endif
661#if PPC_NUM_VECTORS > 828
662 .long vector828, vector829, vector830, vector831
663#endif
664#if PPC_NUM_VECTORS > 832
665 .long vector832, vector833, vector834, vector835
666#endif
667#if PPC_NUM_VECTORS > 836
668 .long vector836, vector837, vector838, vector839
669#endif
670#if PPC_NUM_VECTORS > 840
671 .long vector840, vector841, vector842, vector843
672#endif
673#if PPC_NUM_VECTORS > 844
674 .long vector844, vector845, vector846, vector847
675#endif
676#if PPC_NUM_VECTORS > 848
677 .long vector848, vector849, vector850, vector851
678#endif
679#if PPC_NUM_VECTORS > 852
680 .long vector852, vector853, vector854, vector855
681#endif
682#if PPC_NUM_VECTORS > 856
683 .long vector856, vector857, vector858, vector859
684#endif
685#if PPC_NUM_VECTORS > 860
686 .long vector860, vector861, vector862, vector863
687#endif
688#if PPC_NUM_VECTORS > 864
689 .long vector864, vector865, vector866, vector867
690#endif
691#if PPC_NUM_VECTORS > 868
692 .long vector868, vector869, vector870, vector871
693#endif
694#if PPC_NUM_VECTORS > 872
695 .long vector872, vector873, vector874, vector875
696#endif
697#if PPC_NUM_VECTORS > 876
698 .long vector876, vector877, vector878, vector879
699#endif
700#if PPC_NUM_VECTORS > 880
701 .long vector880, vector881, vector882, vector883
702#endif
703#if PPC_NUM_VECTORS > 884
704 .long vector884, vector885, vector886, vector887
705#endif
706#if PPC_NUM_VECTORS > 888
707 .long vector888, vector889, vector890, vector891
708#endif
709#if PPC_NUM_VECTORS > 892
710 .long vector892, vector893, vector894, vector895
711#endif
712#if PPC_NUM_VECTORS > 896
713 .long vector896, vector897, vector898, vector899
714#endif
715#if PPC_NUM_VECTORS > 900
716 .long vector900, vector901, vector902, vector903
717#endif
718#if PPC_NUM_VECTORS > 904
719 .long vector904, vector905, vector906, vector907
720#endif
721#if PPC_NUM_VECTORS > 908
722 .long vector908, vector909, vector910, vector911
723#endif
724#if PPC_NUM_VECTORS > 912
725 .long vector912, vector913, vector914, vector915
726#endif
727#if PPC_NUM_VECTORS > 916
728 .long vector916, vector917, vector918, vector919
729#endif
730#if PPC_NUM_VECTORS > 920
731 .long vector920, vector921, vector922, vector923
732#endif
733#if PPC_NUM_VECTORS > 924
734 .long vector924, vector925, vector926, vector927
735#endif
736#if PPC_NUM_VECTORS > 928
737 .long vector928, vector929, vector930, vector931
738#endif
739#if PPC_NUM_VECTORS > 932
740 .long vector932, vector933, vector934, vector935
741#endif
742#if PPC_NUM_VECTORS > 936
743 .long vector936, vector937, vector938, vector939
744#endif
745#if PPC_NUM_VECTORS > 940
746 .long vector940, vector941, vector942, vector943
747#endif
748#if PPC_NUM_VECTORS > 944
749 .long vector944, vector945, vector946, vector947
750#endif
751#if PPC_NUM_VECTORS > 948
752 .long vector948, vector949, vector950, vector951
753#endif
754#if PPC_NUM_VECTORS > 952
755 .long vector952, vector953, vector954, vector955
756#endif
757#if PPC_NUM_VECTORS > 956
758 .long vector956, vector957, vector958, vector959
759#endif
760#if PPC_NUM_VECTORS > 960
761 .long vector960, vector961, vector962, vector963
762#endif
763#if PPC_NUM_VECTORS > 964
764 .long vector964, vector965, vector966, vector967
765#endif
766#if PPC_NUM_VECTORS > 968
767 .long vector968, vector969, vector970, vector971
768#endif
769#if PPC_NUM_VECTORS > 972
770 .long vector972, vector973, vector974, vector975
771#endif
772#if PPC_NUM_VECTORS > 976
773 .long vector976, vector977, vector978, vector979
774#endif
775#if PPC_NUM_VECTORS > 980
776 .long vector980, vector981, vector982, vector983
777#endif
778#if PPC_NUM_VECTORS > 984
779 .long vector984, vector985, vector986, vector987
780#endif
781#if PPC_NUM_VECTORS > 988
782 .long vector988, vector989, vector990, vector991
783#endif
784#if PPC_NUM_VECTORS > 992
785 .long vector992, vector993, vector994, vector995
786#endif
787#if PPC_NUM_VECTORS > 996
788 .long vector996, vector997, vector998, vector999
789#endif
790#if PPC_NUM_VECTORS > 1000
791 .long vector1000, vector1001, vector1002, vector1003
792#endif
793#if PPC_NUM_VECTORS > 1004
794 .long vector1004, vector1005, vector1006, vector1007
795#endif
796#if PPC_NUM_VECTORS > 1008
797 .long vector1008, vector1009, vector1010, vector1011
798#endif
799#if PPC_NUM_VECTORS > 1012
800 .long vector1012, vector1013, vector1014, vector1015
801#endif
802#if PPC_NUM_VECTORS > 1016
803 .long vector1016, vector1017, vector1018, vector1019
804#endif
805#if PPC_NUM_VECTORS > 1020
806 .long vector1020, vector1021, vector1022, vector1023
807#endif
808
809 .text
810 .align 2
811
812 .weak vector0, vector1, vector2, vector3
813#if PPC_NUM_VECTORS > 4
814 .weak vector4, vector5, vector6, vector7
815#endif
816#if PPC_NUM_VECTORS > 8
817 .weak vector8, vector9, vector10, vector11
818#endif
819#if PPC_NUM_VECTORS > 12
820 .weak vector12, vector13, vector14, vector15
821#endif
822#if PPC_NUM_VECTORS > 16
823 .weak vector16, vector17, vector18, vector19
824#endif
825#if PPC_NUM_VECTORS > 20
826 .weak vector20, vector21, vector22, vector23
827#endif
828#if PPC_NUM_VECTORS > 24
829 .weak vector24, vector25, vector26, vector27
830#endif
831#if PPC_NUM_VECTORS > 28
832 .weak vector28, vector29, vector30, vector31
833#endif
834#if PPC_NUM_VECTORS > 32
835 .weak vector32, vector33, vector34, vector35
836#endif
837#if PPC_NUM_VECTORS > 36
838 .weak vector36, vector37, vector38, vector39
839#endif
840#if PPC_NUM_VECTORS > 40
841 .weak vector40, vector41, vector42, vector43
842#endif
843#if PPC_NUM_VECTORS > 44
844 .weak vector44, vector45, vector46, vector47
845#endif
846#if PPC_NUM_VECTORS > 48
847 .weak vector48, vector49, vector50, vector51
848#endif
849#if PPC_NUM_VECTORS > 52
850 .weak vector52, vector53, vector54, vector55
851#endif
852#if PPC_NUM_VECTORS > 56
853 .weak vector56, vector57, vector58, vector59
854#endif
855#if PPC_NUM_VECTORS > 60
856 .weak vector60, vector61, vector62, vector63
857#endif
858#if PPC_NUM_VECTORS > 64
859 .weak vector64, vector65, vector66, vector67
860#endif
861#if PPC_NUM_VECTORS > 68
862 .weak vector68, vector69, vector70, vector71
863#endif
864#if PPC_NUM_VECTORS > 72
865 .weak vector72, vector73, vector74, vector75
866#endif
867#if PPC_NUM_VECTORS > 76
868 .weak vector76, vector77, vector78, vector79
869#endif
870#if PPC_NUM_VECTORS > 80
871 .weak vector80, vector81, vector82, vector83
872#endif
873#if PPC_NUM_VECTORS > 84
874 .weak vector84, vector85, vector86, vector87
875#endif
876#if PPC_NUM_VECTORS > 88
877 .weak vector88, vector89, vector90, vector91
878#endif
879#if PPC_NUM_VECTORS > 92
880 .weak vector92, vector93, vector94, vector95
881#endif
882#if PPC_NUM_VECTORS > 96
883 .weak vector96, vector97, vector98, vector99
884#endif
885#if PPC_NUM_VECTORS > 100
886 .weak vector100, vector101, vector102, vector103
887#endif
888#if PPC_NUM_VECTORS > 104
889 .weak vector104, vector105, vector106, vector107
890#endif
891#if PPC_NUM_VECTORS > 108
892 .weak vector108, vector109, vector110, vector111
893#endif
894#if PPC_NUM_VECTORS > 112
895 .weak vector112, vector113, vector114, vector115
896#endif
897#if PPC_NUM_VECTORS > 116
898 .weak vector116, vector117, vector118, vector119
899#endif
900#if PPC_NUM_VECTORS > 120
901 .weak vector120, vector121, vector122, vector123
902#endif
903#if PPC_NUM_VECTORS > 124
904 .weak vector124, vector125, vector126, vector127
905#endif
906#if PPC_NUM_VECTORS > 128
907 .weak vector128, vector129, vector130, vector131
908#endif
909#if PPC_NUM_VECTORS > 132
910 .weak vector132, vector133, vector134, vector135
911#endif
912#if PPC_NUM_VECTORS > 136
913 .weak vector136, vector137, vector138, vector139
914#endif
915#if PPC_NUM_VECTORS > 140
916 .weak vector140, vector141, vector142, vector143
917#endif
918#if PPC_NUM_VECTORS > 144
919 .weak vector144, vector145, vector146, vector147
920#endif
921#if PPC_NUM_VECTORS > 148
922 .weak vector148, vector149, vector150, vector151
923#endif
924#if PPC_NUM_VECTORS > 152
925 .weak vector152, vector153, vector154, vector155
926#endif
927#if PPC_NUM_VECTORS > 156
928 .weak vector156, vector157, vector158, vector159
929#endif
930#if PPC_NUM_VECTORS > 160
931 .weak vector160, vector161, vector162, vector163
932#endif
933#if PPC_NUM_VECTORS > 164
934 .weak vector164, vector165, vector166, vector167
935#endif
936#if PPC_NUM_VECTORS > 168
937 .weak vector168, vector169, vector170, vector171
938#endif
939#if PPC_NUM_VECTORS > 172
940 .weak vector172, vector173, vector174, vector175
941#endif
942#if PPC_NUM_VECTORS > 176
943 .weak vector176, vector177, vector178, vector179
944#endif
945#if PPC_NUM_VECTORS > 180
946 .weak vector180, vector181, vector182, vector183
947#endif
948#if PPC_NUM_VECTORS > 184
949 .weak vector184, vector185, vector186, vector187
950#endif
951#if PPC_NUM_VECTORS > 188
952 .weak vector188, vector189, vector190, vector191
953#endif
954#if PPC_NUM_VECTORS > 192
955 .weak vector192, vector193, vector194, vector195
956#endif
957#if PPC_NUM_VECTORS > 196
958 .weak vector196, vector197, vector198, vector199
959#endif
960#if PPC_NUM_VECTORS > 200
961 .weak vector200, vector201, vector202, vector203
962#endif
963#if PPC_NUM_VECTORS > 204
964 .weak vector204, vector205, vector206, vector207
965#endif
966#if PPC_NUM_VECTORS > 208
967 .weak vector208, vector209, vector210, vector211
968#endif
969#if PPC_NUM_VECTORS > 212
970 .weak vector212, vector213, vector214, vector215
971#endif
972#if PPC_NUM_VECTORS > 216
973 .weak vector216, vector217, vector218, vector219
974#endif
975#if PPC_NUM_VECTORS > 220
976 .weak vector220, vector221, vector222, vector223
977#endif
978#if PPC_NUM_VECTORS > 224
979 .weak vector224, vector225, vector226, vector227
980#endif
981#if PPC_NUM_VECTORS > 228
982 .weak vector228, vector229, vector230, vector231
983#endif
984#if PPC_NUM_VECTORS > 232
985 .weak vector232, vector233, vector234, vector235
986#endif
987#if PPC_NUM_VECTORS > 236
988 .weak vector236, vector237, vector238, vector239
989#endif
990#if PPC_NUM_VECTORS > 240
991 .weak vector240, vector241, vector242, vector243
992#endif
993#if PPC_NUM_VECTORS > 244
994 .weak vector244, vector245, vector246, vector247
995#endif
996#if PPC_NUM_VECTORS > 248
997 .weak vector248, vector249, vector250, vector251
998#endif
999#if PPC_NUM_VECTORS > 252
1000 .weak vector252, vector253, vector254, vector255
1001#endif
1002#if PPC_NUM_VECTORS > 256
1003 .weak vector256, vector257, vector258, vector259
1004#endif
1005#if PPC_NUM_VECTORS > 260
1006 .weak vector260, vector261, vector262, vector263
1007#endif
1008#if PPC_NUM_VECTORS > 264
1009 .weak vector264, vector265, vector266, vector267
1010#endif
1011#if PPC_NUM_VECTORS > 268
1012 .weak vector268, vector269, vector270, vector271
1013#endif
1014#if PPC_NUM_VECTORS > 272
1015 .weak vector272, vector273, vector274, vector275
1016#endif
1017#if PPC_NUM_VECTORS > 276
1018 .weak vector276, vector277, vector278, vector279
1019#endif
1020#if PPC_NUM_VECTORS > 280
1021 .weak vector280, vector281, vector282, vector283
1022#endif
1023#if PPC_NUM_VECTORS > 284
1024 .weak vector284, vector285, vector286, vector287
1025#endif
1026#if PPC_NUM_VECTORS > 288
1027 .weak vector288, vector289, vector290, vector291
1028#endif
1029#if PPC_NUM_VECTORS > 292
1030 .weak vector292, vector293, vector294, vector295
1031#endif
1032#if PPC_NUM_VECTORS > 296
1033 .weak vector296, vector297, vector298, vector299
1034#endif
1035#if PPC_NUM_VECTORS > 300
1036 .weak vector300, vector301, vector302, vector303
1037#endif
1038#if PPC_NUM_VECTORS > 304
1039 .weak vector304, vector305, vector306, vector307
1040#endif
1041#if PPC_NUM_VECTORS > 308
1042 .weak vector308, vector309, vector310, vector311
1043#endif
1044#if PPC_NUM_VECTORS > 312
1045 .weak vector312, vector313, vector314, vector315
1046#endif
1047#if PPC_NUM_VECTORS > 316
1048 .weak vector316, vector317, vector318, vector319
1049#endif
1050#if PPC_NUM_VECTORS > 320
1051 .weak vector320, vector321, vector322, vector323
1052#endif
1053#if PPC_NUM_VECTORS > 324
1054 .weak vector324, vector325, vector326, vector327
1055#endif
1056#if PPC_NUM_VECTORS > 328
1057 .weak vector328, vector329, vector330, vector331
1058#endif
1059#if PPC_NUM_VECTORS > 332
1060 .weak vector332, vector333, vector334, vector335
1061#endif
1062#if PPC_NUM_VECTORS > 336
1063 .weak vector336, vector337, vector338, vector339
1064#endif
1065#if PPC_NUM_VECTORS > 340
1066 .weak vector340, vector341, vector342, vector343
1067#endif
1068#if PPC_NUM_VECTORS > 344
1069 .weak vector344, vector345, vector346, vector347
1070#endif
1071#if PPC_NUM_VECTORS > 348
1072 .weak vector348, vector349, vector350, vector351
1073#endif
1074#if PPC_NUM_VECTORS > 352
1075 .weak vector352, vector353, vector354, vector355
1076#endif
1077#if PPC_NUM_VECTORS > 356
1078 .weak vector356, vector357, vector358, vector359
1079#endif
1080#if PPC_NUM_VECTORS > 360
1081 .weak vector360, vector361, vector362, vector363
1082#endif
1083#if PPC_NUM_VECTORS > 364
1084 .weak vector364, vector365, vector366, vector367
1085#endif
1086#if PPC_NUM_VECTORS > 368
1087 .weak vector368, vector369, vector370, vector371
1088#endif
1089#if PPC_NUM_VECTORS > 372
1090 .weak vector372, vector373, vector374, vector375
1091#endif
1092#if PPC_NUM_VECTORS > 376
1093 .weak vector376, vector377, vector378, vector379
1094#endif
1095#if PPC_NUM_VECTORS > 380
1096 .weak vector380, vector381, vector382, vector383
1097#endif
1098#if PPC_NUM_VECTORS > 384
1099 .weak vector384, vector385, vector386, vector387
1100#endif
1101#if PPC_NUM_VECTORS > 388
1102 .weak vector388, vector389, vector390, vector391
1103#endif
1104#if PPC_NUM_VECTORS > 392
1105 .weak vector392, vector393, vector394, vector395
1106#endif
1107#if PPC_NUM_VECTORS > 396
1108 .weak vector396, vector397, vector398, vector399
1109#endif
1110#if PPC_NUM_VECTORS > 400
1111 .weak vector400, vector401, vector402, vector403
1112#endif
1113#if PPC_NUM_VECTORS > 404
1114 .weak vector404, vector405, vector406, vector407
1115#endif
1116#if PPC_NUM_VECTORS > 408
1117 .weak vector408, vector409, vector410, vector411
1118#endif
1119#if PPC_NUM_VECTORS > 412
1120 .weak vector412, vector413, vector414, vector415
1121#endif
1122#if PPC_NUM_VECTORS > 416
1123 .weak vector416, vector417, vector418, vector419
1124#endif
1125#if PPC_NUM_VECTORS > 420
1126 .weak vector420, vector421, vector422, vector423
1127#endif
1128#if PPC_NUM_VECTORS > 424
1129 .weak vector424, vector425, vector426, vector427
1130#endif
1131#if PPC_NUM_VECTORS > 428
1132 .weak vector428, vector429, vector430, vector431
1133#endif
1134#if PPC_NUM_VECTORS > 432
1135 .weak vector432, vector433, vector434, vector435
1136#endif
1137#if PPC_NUM_VECTORS > 436
1138 .weak vector436, vector437, vector438, vector439
1139#endif
1140#if PPC_NUM_VECTORS > 440
1141 .weak vector440, vector441, vector442, vector443
1142#endif
1143#if PPC_NUM_VECTORS > 444
1144 .weak vector444, vector445, vector446, vector447
1145#endif
1146#if PPC_NUM_VECTORS > 448
1147 .weak vector448, vector449, vector450, vector451
1148#endif
1149#if PPC_NUM_VECTORS > 452
1150 .weak vector452, vector453, vector454, vector455
1151#endif
1152#if PPC_NUM_VECTORS > 456
1153 .weak vector456, vector457, vector458, vector459
1154#endif
1155#if PPC_NUM_VECTORS > 460
1156 .weak vector460, vector461, vector462, vector463
1157#endif
1158#if PPC_NUM_VECTORS > 464
1159 .weak vector464, vector465, vector466, vector467
1160#endif
1161#if PPC_NUM_VECTORS > 468
1162 .weak vector468, vector469, vector470, vector471
1163#endif
1164#if PPC_NUM_VECTORS > 472
1165 .weak vector472, vector473, vector474, vector475
1166#endif
1167#if PPC_NUM_VECTORS > 476
1168 .weak vector476, vector477, vector478, vector479
1169#endif
1170#if PPC_NUM_VECTORS > 480
1171 .weak vector480, vector481, vector482, vector483
1172#endif
1173#if PPC_NUM_VECTORS > 484
1174 .weak vector484, vector485, vector486, vector487
1175#endif
1176#if PPC_NUM_VECTORS > 488
1177 .weak vector488, vector489, vector490, vector491
1178#endif
1179#if PPC_NUM_VECTORS > 492
1180 .weak vector492, vector493, vector494, vector495
1181#endif
1182#if PPC_NUM_VECTORS > 496
1183 .weak vector496, vector497, vector498, vector499
1184#endif
1185#if PPC_NUM_VECTORS > 500
1186 .weak vector500, vector501, vector502, vector503
1187#endif
1188#if PPC_NUM_VECTORS > 504
1189 .weak vector504, vector505, vector506, vector507
1190#endif
1191#if PPC_NUM_VECTORS > 508
1192 .weak vector508, vector509, vector510, vector511
1193#endif
1194#if PPC_NUM_VECTORS > 512
1195 .weak vector512, vector513, vector514, vector515
1196#endif
1197#if PPC_NUM_VECTORS > 516
1198 .weak vector516, vector517, vector518, vector519
1199#endif
1200#if PPC_NUM_VECTORS > 520
1201 .weak vector520, vector521, vector522, vector523
1202#endif
1203#if PPC_NUM_VECTORS > 524
1204 .weak vector524, vector525, vector526, vector527
1205#endif
1206#if PPC_NUM_VECTORS > 528
1207 .weak vector528, vector529, vector530, vector531
1208#endif
1209#if PPC_NUM_VECTORS > 532
1210 .weak vector532, vector533, vector534, vector535
1211#endif
1212#if PPC_NUM_VECTORS > 536
1213 .weak vector536, vector537, vector538, vector539
1214#endif
1215#if PPC_NUM_VECTORS > 540
1216 .weak vector540, vector541, vector542, vector543
1217#endif
1218#if PPC_NUM_VECTORS > 544
1219 .weak vector544, vector545, vector546, vector547
1220#endif
1221#if PPC_NUM_VECTORS > 548
1222 .weak vector548, vector549, vector550, vector551
1223#endif
1224#if PPC_NUM_VECTORS > 552
1225 .weak vector552, vector553, vector554, vector555
1226#endif
1227#if PPC_NUM_VECTORS > 556
1228 .weak vector556, vector557, vector558, vector559
1229#endif
1230#if PPC_NUM_VECTORS > 560
1231 .weak vector560, vector561, vector562, vector563
1232#endif
1233#if PPC_NUM_VECTORS > 564
1234 .weak vector564, vector565, vector566, vector567
1235#endif
1236#if PPC_NUM_VECTORS > 568
1237 .weak vector568, vector569, vector570, vector571
1238#endif
1239#if PPC_NUM_VECTORS > 572
1240 .weak vector572, vector573, vector574, vector575
1241#endif
1242#if PPC_NUM_VECTORS > 576
1243 .weak vector576, vector577, vector578, vector579
1244#endif
1245#if PPC_NUM_VECTORS > 580
1246 .weak vector580, vector581, vector582, vector583
1247#endif
1248#if PPC_NUM_VECTORS > 584
1249 .weak vector584, vector585, vector586, vector587
1250#endif
1251#if PPC_NUM_VECTORS > 588
1252 .weak vector588, vector589, vector590, vector591
1253#endif
1254#if PPC_NUM_VECTORS > 592
1255 .weak vector592, vector593, vector594, vector595
1256#endif
1257#if PPC_NUM_VECTORS > 596
1258 .weak vector596, vector597, vector598, vector599
1259#endif
1260#if PPC_NUM_VECTORS > 600
1261 .weak vector600, vector601, vector602, vector603
1262#endif
1263#if PPC_NUM_VECTORS > 604
1264 .weak vector604, vector605, vector606, vector607
1265#endif
1266#if PPC_NUM_VECTORS > 608
1267 .weak vector608, vector609, vector610, vector611
1268#endif
1269#if PPC_NUM_VECTORS > 612
1270 .weak vector612, vector613, vector614, vector615
1271#endif
1272#if PPC_NUM_VECTORS > 616
1273 .weak vector616, vector617, vector618, vector619
1274#endif
1275#if PPC_NUM_VECTORS > 620
1276 .weak vector620, vector621, vector622, vector623
1277#endif
1278#if PPC_NUM_VECTORS > 624
1279 .weak vector624, vector625, vector626, vector627
1280#endif
1281#if PPC_NUM_VECTORS > 628
1282 .weak vector628, vector629, vector630, vector631
1283#endif
1284#if PPC_NUM_VECTORS > 632
1285 .weak vector632, vector633, vector634, vector635
1286#endif
1287#if PPC_NUM_VECTORS > 636
1288 .weak vector636, vector637, vector638, vector639
1289#endif
1290#if PPC_NUM_VECTORS > 640
1291 .weak vector640, vector641, vector642, vector643
1292#endif
1293#if PPC_NUM_VECTORS > 644
1294 .weak vector644, vector645, vector646, vector647
1295#endif
1296#if PPC_NUM_VECTORS > 648
1297 .weak vector648, vector649, vector650, vector651
1298#endif
1299#if PPC_NUM_VECTORS > 652
1300 .weak vector652, vector653, vector654, vector655
1301#endif
1302#if PPC_NUM_VECTORS > 656
1303 .weak vector656, vector657, vector658, vector659
1304#endif
1305#if PPC_NUM_VECTORS > 660
1306 .weak vector660, vector661, vector662, vector663
1307#endif
1308#if PPC_NUM_VECTORS > 664
1309 .weak vector664, vector665, vector666, vector667
1310#endif
1311#if PPC_NUM_VECTORS > 668
1312 .weak vector668, vector669, vector670, vector671
1313#endif
1314#if PPC_NUM_VECTORS > 672
1315 .weak vector672, vector673, vector674, vector675
1316#endif
1317#if PPC_NUM_VECTORS > 676
1318 .weak vector676, vector677, vector678, vector679
1319#endif
1320#if PPC_NUM_VECTORS > 680
1321 .weak vector680, vector681, vector682, vector683
1322#endif
1323#if PPC_NUM_VECTORS > 684
1324 .weak vector684, vector685, vector686, vector687
1325#endif
1326#if PPC_NUM_VECTORS > 688
1327 .weak vector688, vector689, vector690, vector691
1328#endif
1329#if PPC_NUM_VECTORS > 692
1330 .weak vector692, vector693, vector694, vector695
1331#endif
1332#if PPC_NUM_VECTORS > 696
1333 .weak vector696, vector697, vector698, vector699
1334#endif
1335#if PPC_NUM_VECTORS > 700
1336 .weak vector700, vector701, vector702, vector703
1337#endif
1338#if PPC_NUM_VECTORS > 704
1339 .weak vector704, vector705, vector706, vector707
1340#endif
1341#if PPC_NUM_VECTORS > 708
1342 .weak vector708, vector709, vector710, vector711
1343#endif
1344#if PPC_NUM_VECTORS > 712
1345 .weak vector712, vector713, vector714, vector715
1346#endif
1347#if PPC_NUM_VECTORS > 716
1348 .weak vector716, vector717, vector718, vector719
1349#endif
1350#if PPC_NUM_VECTORS > 720
1351 .weak vector720, vector721, vector722, vector723
1352#endif
1353#if PPC_NUM_VECTORS > 724
1354 .weak vector724, vector725, vector726, vector727
1355#endif
1356#if PPC_NUM_VECTORS > 728
1357 .weak vector728, vector729, vector730, vector731
1358#endif
1359#if PPC_NUM_VECTORS > 732
1360 .weak vector732, vector733, vector734, vector735
1361#endif
1362#if PPC_NUM_VECTORS > 736
1363 .weak vector736, vector737, vector738, vector739
1364#endif
1365#if PPC_NUM_VECTORS > 740
1366 .weak vector740, vector741, vector742, vector743
1367#endif
1368#if PPC_NUM_VECTORS > 744
1369 .weak vector744, vector745, vector746, vector747
1370#endif
1371#if PPC_NUM_VECTORS > 748
1372 .weak vector748, vector749, vector750, vector751
1373#endif
1374#if PPC_NUM_VECTORS > 752
1375 .weak vector752, vector753, vector754, vector755
1376#endif
1377#if PPC_NUM_VECTORS > 756
1378 .weak vector756, vector757, vector758, vector759
1379#endif
1380#if PPC_NUM_VECTORS > 760
1381 .weak vector760, vector761, vector762, vector763
1382#endif
1383#if PPC_NUM_VECTORS > 764
1384 .weak vector764, vector765, vector766, vector767
1385#endif
1386#if PPC_NUM_VECTORS > 768
1387 .weak vector768, vector769, vector770, vector771
1388#endif
1389#if PPC_NUM_VECTORS > 772
1390 .weak vector772, vector773, vector774, vector775
1391#endif
1392#if PPC_NUM_VECTORS > 776
1393 .weak vector776, vector777, vector778, vector779
1394#endif
1395#if PPC_NUM_VECTORS > 780
1396 .weak vector780, vector781, vector782, vector783
1397#endif
1398#if PPC_NUM_VECTORS > 784
1399 .weak vector784, vector785, vector786, vector787
1400#endif
1401#if PPC_NUM_VECTORS > 788
1402 .weak vector788, vector789, vector790, vector791
1403#endif
1404#if PPC_NUM_VECTORS > 792
1405 .weak vector792, vector793, vector794, vector795
1406#endif
1407#if PPC_NUM_VECTORS > 796
1408 .weak vector796, vector797, vector798, vector799
1409#endif
1410#if PPC_NUM_VECTORS > 800
1411 .weak vector800, vector801, vector802, vector803
1412#endif
1413#if PPC_NUM_VECTORS > 804
1414 .weak vector804, vector805, vector806, vector807
1415#endif
1416#if PPC_NUM_VECTORS > 808
1417 .weak vector808, vector809, vector810, vector811
1418#endif
1419#if PPC_NUM_VECTORS > 812
1420 .weak vector812, vector813, vector814, vector815
1421#endif
1422#if PPC_NUM_VECTORS > 816
1423 .weak vector816, vector817, vector818, vector819
1424#endif
1425#if PPC_NUM_VECTORS > 820
1426 .weak vector820, vector821, vector822, vector823
1427#endif
1428#if PPC_NUM_VECTORS > 824
1429 .weak vector824, vector825, vector826, vector827
1430#endif
1431#if PPC_NUM_VECTORS > 828
1432 .weak vector828, vector829, vector830, vector831
1433#endif
1434#if PPC_NUM_VECTORS > 832
1435 .weak vector832, vector833, vector834, vector835
1436#endif
1437#if PPC_NUM_VECTORS > 836
1438 .weak vector836, vector837, vector838, vector839
1439#endif
1440#if PPC_NUM_VECTORS > 840
1441 .weak vector840, vector841, vector842, vector843
1442#endif
1443#if PPC_NUM_VECTORS > 844
1444 .weak vector844, vector845, vector846, vector847
1445#endif
1446#if PPC_NUM_VECTORS > 848
1447 .weak vector848, vector849, vector850, vector851
1448#endif
1449#if PPC_NUM_VECTORS > 852
1450 .weak vector852, vector853, vector854, vector855
1451#endif
1452#if PPC_NUM_VECTORS > 856
1453 .weak vector856, vector857, vector858, vector859
1454#endif
1455#if PPC_NUM_VECTORS > 860
1456 .weak vector860, vector861, vector862, vector863
1457#endif
1458#if PPC_NUM_VECTORS > 864
1459 .weak vector864, vector865, vector866, vector867
1460#endif
1461#if PPC_NUM_VECTORS > 868
1462 .weak vector868, vector869, vector870, vector871
1463#endif
1464#if PPC_NUM_VECTORS > 872
1465 .weak vector872, vector873, vector874, vector875
1466#endif
1467#if PPC_NUM_VECTORS > 876
1468 .weak vector876, vector877, vector878, vector879
1469#endif
1470#if PPC_NUM_VECTORS > 880
1471 .weak vector880, vector881, vector882, vector883
1472#endif
1473#if PPC_NUM_VECTORS > 884
1474 .weak vector884, vector885, vector886, vector887
1475#endif
1476#if PPC_NUM_VECTORS > 888
1477 .weak vector888, vector889, vector890, vector891
1478#endif
1479#if PPC_NUM_VECTORS > 892
1480 .weak vector892, vector893, vector894, vector895
1481#endif
1482#if PPC_NUM_VECTORS > 896
1483 .weak vector896, vector897, vector898, vector899
1484#endif
1485#if PPC_NUM_VECTORS > 900
1486 .weak vector900, vector901, vector902, vector903
1487#endif
1488#if PPC_NUM_VECTORS > 904
1489 .weak vector904, vector905, vector906, vector907
1490#endif
1491#if PPC_NUM_VECTORS > 908
1492 .weak vector908, vector909, vector910, vector911
1493#endif
1494#if PPC_NUM_VECTORS > 912
1495 .weak vector912, vector913, vector914, vector915
1496#endif
1497#if PPC_NUM_VECTORS > 916
1498 .weak vector916, vector917, vector918, vector919
1499#endif
1500#if PPC_NUM_VECTORS > 920
1501 .weak vector920, vector921, vector922, vector923
1502#endif
1503#if PPC_NUM_VECTORS > 924
1504 .weak vector924, vector925, vector926, vector927
1505#endif
1506#if PPC_NUM_VECTORS > 928
1507 .weak vector928, vector929, vector930, vector931
1508#endif
1509#if PPC_NUM_VECTORS > 932
1510 .weak vector932, vector933, vector934, vector935
1511#endif
1512#if PPC_NUM_VECTORS > 936
1513 .weak vector936, vector937, vector938, vector939
1514#endif
1515#if PPC_NUM_VECTORS > 940
1516 .weak vector940, vector941, vector942, vector943
1517#endif
1518#if PPC_NUM_VECTORS > 944
1519 .weak vector944, vector945, vector946, vector947
1520#endif
1521#if PPC_NUM_VECTORS > 948
1522 .weak vector948, vector949, vector950, vector951
1523#endif
1524#if PPC_NUM_VECTORS > 952
1525 .weak vector952, vector953, vector954, vector955
1526#endif
1527#if PPC_NUM_VECTORS > 956
1528 .weak vector956, vector957, vector958, vector959
1529#endif
1530#if PPC_NUM_VECTORS > 960
1531 .weak vector960, vector961, vector962, vector963
1532#endif
1533#if PPC_NUM_VECTORS > 964
1534 .weak vector964, vector965, vector966, vector967
1535#endif
1536#if PPC_NUM_VECTORS > 968
1537 .weak vector968, vector969, vector970, vector971
1538#endif
1539#if PPC_NUM_VECTORS > 972
1540 .weak vector972, vector973, vector974, vector975
1541#endif
1542#if PPC_NUM_VECTORS > 976
1543 .weak vector976, vector977, vector978, vector979
1544#endif
1545#if PPC_NUM_VECTORS > 980
1546 .weak vector980, vector981, vector982, vector983
1547#endif
1548#if PPC_NUM_VECTORS > 984
1549 .weak vector984, vector985, vector986, vector987
1550#endif
1551#if PPC_NUM_VECTORS > 988
1552 .weak vector988, vector989, vector990, vector991
1553#endif
1554#if PPC_NUM_VECTORS > 992
1555 .weak vector992, vector993, vector994, vector995
1556#endif
1557#if PPC_NUM_VECTORS > 996
1558 .weak vector996, vector997, vector998, vector999
1559#endif
1560#if PPC_NUM_VECTORS > 1000
1561 .weak vector1000, vector1001, vector1002, vector1003
1562#endif
1563#if PPC_NUM_VECTORS > 1004
1564 .weak vector1004, vector1005, vector1006, vector1007
1565#endif
1566#if PPC_NUM_VECTORS > 1008
1567 .weak vector1008, vector1009, vector1010, vector1011
1568#endif
1569#if PPC_NUM_VECTORS > 1012
1570 .weak vector1012, vector1013, vector1014, vector1015
1571#endif
1572#if PPC_NUM_VECTORS > 1016
1573 .weak vector1016, vector1017, vector1018, vector1019
1574#endif
1575#if PPC_NUM_VECTORS > 1020
1576 .weak vector1020, vector1021, vector1022, vector1023
1577#endif
1578
1579vector0:
1580vector1:
1581vector2:
1582vector3:
1583vector4:
1584vector5:
1585vector6:
1586vector7:
1587vector8:
1588vector9:
1589vector10:
1590vector11:
1591vector12:
1592vector13:
1593vector14:
1594vector15:
1595vector16:
1596vector17:
1597vector18:
1598vector19:
1599vector20:
1600vector21:
1601vector22:
1602vector23:
1603vector24:
1604vector25:
1605vector26:
1606vector27:
1607vector28:
1608vector29:
1609vector30:
1610vector31:
1611vector32:
1612vector33:
1613vector34:
1614vector35:
1615vector36:
1616vector37:
1617vector38:
1618vector39:
1619vector40:
1620vector41:
1621vector42:
1622vector43:
1623vector44:
1624vector45:
1625vector46:
1626vector47:
1627vector48:
1628vector49:
1629vector50:
1630vector51:
1631vector52:
1632vector53:
1633vector54:
1634vector55:
1635vector56:
1636vector57:
1637vector58:
1638vector59:
1639vector60:
1640vector61:
1641vector62:
1642vector63:
1643vector64:
1644vector65:
1645vector66:
1646vector67:
1647vector68:
1648vector69:
1649vector70:
1650vector71:
1651vector72:
1652vector73:
1653vector74:
1654vector75:
1655vector76:
1656vector77:
1657vector78:
1658vector79:
1659vector80:
1660vector81:
1661vector82:
1662vector83:
1663vector84:
1664vector85:
1665vector86:
1666vector87:
1667vector88:
1668vector89:
1669vector90:
1670vector91:
1671vector92:
1672vector93:
1673vector94:
1674vector95:
1675vector96:
1676vector97:
1677vector98:
1678vector99:
1679vector100:
1680vector101:
1681vector102:
1682vector103:
1683vector104:
1684vector105:
1685vector106:
1686vector107:
1687vector108:
1688vector109:
1689vector110:
1690vector111:
1691vector112:
1692vector113:
1693vector114:
1694vector115:
1695vector116:
1696vector117:
1697vector118:
1698vector119:
1699vector120:
1700vector121:
1701vector122:
1702vector123:
1703vector124:
1704vector125:
1705vector126:
1706vector127:
1707vector128:
1708vector129:
1709vector130:
1710vector131:
1711vector132:
1712vector133:
1713vector134:
1714vector135:
1715vector136:
1716vector137:
1717vector138:
1718vector139:
1719vector140:
1720vector141:
1721vector142:
1722vector143:
1723vector144:
1724vector145:
1725vector146:
1726vector147:
1727vector148:
1728vector149:
1729vector150:
1730vector151:
1731vector152:
1732vector153:
1733vector154:
1734vector155:
1735vector156:
1736vector157:
1737vector158:
1738vector159:
1739vector160:
1740vector161:
1741vector162:
1742vector163:
1743vector164:
1744vector165:
1745vector166:
1746vector167:
1747vector168:
1748vector169:
1749vector170:
1750vector171:
1751vector172:
1752vector173:
1753vector174:
1754vector175:
1755vector176:
1756vector177:
1757vector178:
1758vector179:
1759vector180:
1760vector181:
1761vector182:
1762vector183:
1763vector184:
1764vector185:
1765vector186:
1766vector187:
1767vector188:
1768vector189:
1769vector190:
1770vector191:
1771vector192:
1772vector193:
1773vector194:
1774vector195:
1775vector196:
1776vector197:
1777vector198:
1778vector199:
1779vector200:
1780vector201:
1781vector202:
1782vector203:
1783vector204:
1784vector205:
1785vector206:
1786vector207:
1787vector208:
1788vector209:
1789vector210:
1790vector211:
1791vector212:
1792vector213:
1793vector214:
1794vector215:
1795vector216:
1796vector217:
1797vector218:
1798vector219:
1799vector220:
1800vector221:
1801vector222:
1802vector223:
1803vector224:
1804vector225:
1805vector226:
1806vector227:
1807vector228:
1808vector229:
1809vector230:
1810vector231:
1811vector232:
1812vector233:
1813vector234:
1814vector235:
1815vector236:
1816vector237:
1817vector238:
1818vector239:
1819vector240:
1820vector241:
1821vector242:
1822vector243:
1823vector244:
1824vector245:
1825vector246:
1826vector247:
1827vector248:
1828vector249:
1829vector250:
1830vector251:
1831vector252:
1832vector253:
1833vector254:
1834vector255:
1835vector256:
1836vector257:
1837vector258:
1838vector259:
1839vector260:
1840vector261:
1841vector262:
1842vector263:
1843vector264:
1844vector265:
1845vector266:
1846vector267:
1847vector268:
1848vector269:
1849vector270:
1850vector271:
1851vector272:
1852vector273:
1853vector274:
1854vector275:
1855vector276:
1856vector277:
1857vector278:
1858vector279:
1859vector280:
1860vector281:
1861vector282:
1862vector283:
1863vector284:
1864vector285:
1865vector286:
1866vector287:
1867vector288:
1868vector289:
1869vector290:
1870vector291:
1871vector292:
1872vector293:
1873vector294:
1874vector295:
1875vector296:
1876vector297:
1877vector298:
1878vector299:
1879vector300:
1880vector301:
1881vector302:
1882vector303:
1883vector304:
1884vector305:
1885vector306:
1886vector307:
1887vector308:
1888vector309:
1889vector310:
1890vector311:
1891vector312:
1892vector313:
1893vector314:
1894vector315:
1895vector316:
1896vector317:
1897vector318:
1898vector319:
1899vector320:
1900vector321:
1901vector322:
1902vector323:
1903vector324:
1904vector325:
1905vector326:
1906vector327:
1907vector328:
1908vector329:
1909vector330:
1910vector331:
1911vector332:
1912vector333:
1913vector334:
1914vector335:
1915vector336:
1916vector337:
1917vector338:
1918vector339:
1919vector340:
1920vector341:
1921vector342:
1922vector343:
1923vector344:
1924vector345:
1925vector346:
1926vector347:
1927vector348:
1928vector349:
1929vector350:
1930vector351:
1931vector352:
1932vector353:
1933vector354:
1934vector355:
1935vector356:
1936vector357:
1937vector358:
1938vector359:
1939vector360:
1940vector361:
1941vector362:
1942vector363:
1943vector364:
1944vector365:
1945vector366:
1946vector367:
1947vector368:
1948vector369:
1949vector370:
1950vector371:
1951vector372:
1952vector373:
1953vector374:
1954vector375:
1955vector376:
1956vector377:
1957vector378:
1958vector379:
1959vector380:
1960vector381:
1961vector382:
1962vector383:
1963vector384:
1964vector385:
1965vector386:
1966vector387:
1967vector388:
1968vector389:
1969vector390:
1970vector391:
1971vector392:
1972vector393:
1973vector394:
1974vector395:
1975vector396:
1976vector397:
1977vector398:
1978vector399:
1979vector400:
1980vector401:
1981vector402:
1982vector403:
1983vector404:
1984vector405:
1985vector406:
1986vector407:
1987vector408:
1988vector409:
1989vector410:
1990vector411:
1991vector412:
1992vector413:
1993vector414:
1994vector415:
1995vector416:
1996vector417:
1997vector418:
1998vector419:
1999vector420:
2000vector421:
2001vector422:
2002vector423:
2003vector424:
2004vector425:
2005vector426:
2006vector427:
2007vector428:
2008vector429:
2009vector430:
2010vector431:
2011vector432:
2012vector433:
2013vector434:
2014vector435:
2015vector436:
2016vector437:
2017vector438:
2018vector439:
2019vector440:
2020vector441:
2021vector442:
2022vector443:
2023vector444:
2024vector445:
2025vector446:
2026vector447:
2027vector448:
2028vector449:
2029vector450:
2030vector451:
2031vector452:
2032vector453:
2033vector454:
2034vector455:
2035vector456:
2036vector457:
2037vector458:
2038vector459:
2039vector460:
2040vector461:
2041vector462:
2042vector463:
2043vector464:
2044vector465:
2045vector466:
2046vector467:
2047vector468:
2048vector469:
2049vector470:
2050vector471:
2051vector472:
2052vector473:
2053vector474:
2054vector475:
2055vector476:
2056vector477:
2057vector478:
2058vector479:
2059vector480:
2060vector481:
2061vector482:
2062vector483:
2063vector484:
2064vector485:
2065vector486:
2066vector487:
2067vector488:
2068vector489:
2069vector490:
2070vector491:
2071vector492:
2072vector493:
2073vector494:
2074vector495:
2075vector496:
2076vector497:
2077vector498:
2078vector499:
2079vector500:
2080vector501:
2081vector502:
2082vector503:
2083vector504:
2084vector505:
2085vector506:
2086vector507:
2087vector508:
2088vector509:
2089vector510:
2090vector511:
2091vector512:
2092vector513:
2093vector514:
2094vector515:
2095vector516:
2096vector517:
2097vector518:
2098vector519:
2099vector520:
2100vector521:
2101vector522:
2102vector523:
2103vector524:
2104vector525:
2105vector526:
2106vector527:
2107vector528:
2108vector529:
2109vector530:
2110vector531:
2111vector532:
2112vector533:
2113vector534:
2114vector535:
2115vector536:
2116vector537:
2117vector538:
2118vector539:
2119vector540:
2120vector541:
2121vector542:
2122vector543:
2123vector544:
2124vector545:
2125vector546:
2126vector547:
2127vector548:
2128vector549:
2129vector550:
2130vector551:
2131vector552:
2132vector553:
2133vector554:
2134vector555:
2135vector556:
2136vector557:
2137vector558:
2138vector559:
2139vector560:
2140vector561:
2141vector562:
2142vector563:
2143vector564:
2144vector565:
2145vector566:
2146vector567:
2147vector568:
2148vector569:
2149vector570:
2150vector571:
2151vector572:
2152vector573:
2153vector574:
2154vector575:
2155vector576:
2156vector577:
2157vector578:
2158vector579:
2159vector580:
2160vector581:
2161vector582:
2162vector583:
2163vector584:
2164vector585:
2165vector586:
2166vector587:
2167vector588:
2168vector589:
2169vector590:
2170vector591:
2171vector592:
2172vector593:
2173vector594:
2174vector595:
2175vector596:
2176vector597:
2177vector598:
2178vector599:
2179vector600:
2180vector601:
2181vector602:
2182vector603:
2183vector604:
2184vector605:
2185vector606:
2186vector607:
2187vector608:
2188vector609:
2189vector610:
2190vector611:
2191vector612:
2192vector613:
2193vector614:
2194vector615:
2195vector616:
2196vector617:
2197vector618:
2198vector619:
2199vector620:
2200vector621:
2201vector622:
2202vector623:
2203vector624:
2204vector625:
2205vector626:
2206vector627:
2207vector628:
2208vector629:
2209vector630:
2210vector631:
2211vector632:
2212vector633:
2213vector634:
2214vector635:
2215vector636:
2216vector637:
2217vector638:
2218vector639:
2219vector640:
2220vector641:
2221vector642:
2222vector643:
2223vector644:
2224vector645:
2225vector646:
2226vector647:
2227vector648:
2228vector649:
2229vector650:
2230vector651:
2231vector652:
2232vector653:
2233vector654:
2234vector655:
2235vector656:
2236vector657:
2237vector658:
2238vector659:
2239vector660:
2240vector661:
2241vector662:
2242vector663:
2243vector664:
2244vector665:
2245vector666:
2246vector667:
2247vector668:
2248vector669:
2249vector670:
2250vector671:
2251vector672:
2252vector673:
2253vector674:
2254vector675:
2255vector676:
2256vector677:
2257vector678:
2258vector679:
2259vector680:
2260vector681:
2261vector682:
2262vector683:
2263vector684:
2264vector685:
2265vector686:
2266vector687:
2267vector688:
2268vector689:
2269vector690:
2270vector691:
2271vector692:
2272vector693:
2273vector694:
2274vector695:
2275vector696:
2276vector697:
2277vector698:
2278vector699:
2279vector700:
2280vector701:
2281vector702:
2282vector703:
2283vector704:
2284vector705:
2285vector706:
2286vector707:
2287vector708:
2288vector709:
2289vector710:
2290vector711:
2291vector712:
2292vector713:
2293vector714:
2294vector715:
2295vector716:
2296vector717:
2297vector718:
2298vector719:
2299vector720:
2300vector721:
2301vector722:
2302vector723:
2303vector724:
2304vector725:
2305vector726:
2306vector727:
2307vector728:
2308vector729:
2309vector730:
2310vector731:
2311vector732:
2312vector733:
2313vector734:
2314vector735:
2315vector736:
2316vector737:
2317vector738:
2318vector739:
2319vector740:
2320vector741:
2321vector742:
2322vector743:
2323vector744:
2324vector745:
2325vector746:
2326vector747:
2327vector748:
2328vector749:
2329vector750:
2330vector751:
2331vector752:
2332vector753:
2333vector754:
2334vector755:
2335vector756:
2336vector757:
2337vector758:
2338vector759:
2339vector760:
2340vector761:
2341vector762:
2342vector763:
2343vector764:
2344vector765:
2345vector766:
2346vector767:
2347vector768:
2348vector769:
2349vector770:
2350vector771:
2351vector772:
2352vector773:
2353vector774:
2354vector775:
2355vector776:
2356vector777:
2357vector778:
2358vector779:
2359vector780:
2360vector781:
2361vector782:
2362vector783:
2363vector784:
2364vector785:
2365vector786:
2366vector787:
2367vector788:
2368vector789:
2369vector790:
2370vector791:
2371vector792:
2372vector793:
2373vector794:
2374vector795:
2375vector796:
2376vector797:
2377vector798:
2378vector799:
2379vector800:
2380vector801:
2381vector802:
2382vector803:
2383vector804:
2384vector805:
2385vector806:
2386vector807:
2387vector808:
2388vector809:
2389vector810:
2390vector811:
2391vector812:
2392vector813:
2393vector814:
2394vector815:
2395vector816:
2396vector817:
2397vector818:
2398vector819:
2399vector820:
2400vector821:
2401vector822:
2402vector823:
2403vector824:
2404vector825:
2405vector826:
2406vector827:
2407vector828:
2408vector829:
2409vector830:
2410vector831:
2411vector832:
2412vector833:
2413vector834:
2414vector835:
2415vector836:
2416vector837:
2417vector838:
2418vector839:
2419vector840:
2420vector841:
2421vector842:
2422vector843:
2423vector844:
2424vector845:
2425vector846:
2426vector847:
2427vector848:
2428vector849:
2429vector850:
2430vector851:
2431vector852:
2432vector853:
2433vector854:
2434vector855:
2435vector856:
2436vector857:
2437vector858:
2438vector859:
2439vector860:
2440vector861:
2441vector862:
2442vector863:
2443vector864:
2444vector865:
2445vector866:
2446vector867:
2447vector868:
2448vector869:
2449vector870:
2450vector871:
2451vector872:
2452vector873:
2453vector874:
2454vector875:
2455vector876:
2456vector877:
2457vector878:
2458vector879:
2459vector880:
2460vector881:
2461vector882:
2462vector883:
2463vector884:
2464vector885:
2465vector886:
2466vector887:
2467vector888:
2468vector889:
2469vector890:
2470vector891:
2471vector892:
2472vector893:
2473vector894:
2474vector895:
2475vector896:
2476vector897:
2477vector898:
2478vector899:
2479vector900:
2480vector901:
2481vector902:
2482vector903:
2483vector904:
2484vector905:
2485vector906:
2486vector907:
2487vector908:
2488vector909:
2489vector910:
2490vector911:
2491vector912:
2492vector913:
2493vector914:
2494vector915:
2495vector916:
2496vector917:
2497vector918:
2498vector919:
2499vector920:
2500vector921:
2501vector922:
2502vector923:
2503vector924:
2504vector925:
2505vector926:
2506vector927:
2507vector928:
2508vector929:
2509vector930:
2510vector931:
2511vector932:
2512vector933:
2513vector934:
2514vector935:
2515vector936:
2516vector937:
2517vector938:
2518vector939:
2519vector940:
2520vector941:
2521vector942:
2522vector943:
2523vector944:
2524vector945:
2525vector946:
2526vector947:
2527vector948:
2528vector949:
2529vector950:
2530vector951:
2531vector952:
2532vector953:
2533vector954:
2534vector955:
2535vector956:
2536vector957:
2537vector958:
2538vector959:
2539vector960:
2540vector961:
2541vector962:
2542vector963:
2543vector964:
2544vector965:
2545vector966:
2546vector967:
2547vector968:
2548vector969:
2549vector970:
2550vector971:
2551vector972:
2552vector973:
2553vector974:
2554vector975:
2555vector976:
2556vector977:
2557vector978:
2558vector979:
2559vector980:
2560vector981:
2561vector982:
2562vector983:
2563vector984:
2564vector985:
2565vector986:
2566vector987:
2567vector988:
2568vector989:
2569vector990:
2570vector991:
2571vector992:
2572vector993:
2573vector994:
2574vector995:
2575vector996:
2576vector997:
2577vector998:
2578vector999:
2579vector1000:
2580vector1001:
2581vector1002:
2582vector1003:
2583vector1004:
2584vector1005:
2585vector1006:
2586vector1007:
2587vector1008:
2588vector1009:
2589vector1010:
2590vector1011:
2591vector1012:
2592vector1013:
2593vector1014:
2594vector1015:
2595vector1016:
2596vector1017:
2597vector1018:
2598vector1019:
2599vector1020:
2600vector1021:
2601vector1022:
2602vector1023:
2603 e_b _unhandled_irq
2604
2605 .weak _unhandled_irq
2606 .type _unhandled_irq, @function
2607_unhandled_irq:
2608 e_b _unhandled_irq
2609
2610#endif /* !defined(__DOXYGEN__) */
2611
2612/** @} */
diff --git a/lib/chibios/os/common/startup/e200/compilers/GCC/vectors.h b/lib/chibios/os/common/startup/e200/compilers/GCC/vectors.h
new file mode 100644
index 000000000..6a2063285
--- /dev/null
+++ b/lib/chibios/os/common/startup/e200/compilers/GCC/vectors.h
@@ -0,0 +1,78 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/**
18 * @file vectors.h
19 * @brief ISR vector module header.
20 *
21 * @addtogroup PPC_GCC_CORE
22 * @{
23 */
24
25#ifndef VECTORS_H
26#define VECTORS_H
27
28#include "ppcparams.h"
29
30/*===========================================================================*/
31/* Module constants. */
32/*===========================================================================*/
33
34/*===========================================================================*/
35/* Module pre-compile time settings. */
36/*===========================================================================*/
37
38/*===========================================================================*/
39/* Derived constants and error checks. */
40/*===========================================================================*/
41
42/*===========================================================================*/
43/* Module data structures and types. */
44/*===========================================================================*/
45
46/*===========================================================================*/
47/* Module macros. */
48/*===========================================================================*/
49
50/*===========================================================================*/
51/* External declarations. */
52/*===========================================================================*/
53
54/* The following code is not processed when the file is included from an
55 asm module.*/
56#if !defined(_FROM_ASM_)
57
58#if !defined(__DOXYGEN__)
59extern uint32_t _vectors[PPC_NUM_VECTORS];
60#endif
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65 void _unhandled_irq(void);
66#ifdef __cplusplus
67}
68#endif
69
70#endif /* !defined(_FROM_ASM_) */
71
72/*===========================================================================*/
73/* Module inline functions. */
74/*===========================================================================*/
75
76#endif /* VECTORS_H */
77
78/** @} */