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