diff options
Diffstat (limited to 'arch/xtensa/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/xtensa/kernel/vmlinux.lds.S | 68 |
1 files changed, 65 insertions, 3 deletions
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S index 255154f820b7..14695240536d 100644 --- a/arch/xtensa/kernel/vmlinux.lds.S +++ b/arch/xtensa/kernel/vmlinux.lds.S | |||
@@ -7,7 +7,7 @@ | |||
7 | * License. See the file "COPYING" in the main directory of this archive | 7 | * License. See the file "COPYING" in the main directory of this archive |
8 | * for more details. | 8 | * for more details. |
9 | * | 9 | * |
10 | * Copyright (C) 2001 - 2005 Tensilica Inc. | 10 | * Copyright (C) 2001 - 2008 Tensilica Inc. |
11 | * | 11 | * |
12 | * Chris Zankel <chris@zankel.net> | 12 | * Chris Zankel <chris@zankel.net> |
13 | * Marc Gauthier <marc@tensilica.com, marc@alumni.uwaterloo.ca> | 13 | * Marc Gauthier <marc@tensilica.com, marc@alumni.uwaterloo.ca> |
@@ -134,6 +134,26 @@ SECTIONS | |||
134 | 134 | ||
135 | RELOCATE_ENTRY(_WindowVectors_text, | 135 | RELOCATE_ENTRY(_WindowVectors_text, |
136 | .WindowVectors.text); | 136 | .WindowVectors.text); |
137 | #if XCHAL_EXCM_LEVEL >= 2 | ||
138 | RELOCATE_ENTRY(_Level2InterruptVector_text, | ||
139 | .Level2InterruptVector.text); | ||
140 | #endif | ||
141 | #if XCHAL_EXCM_LEVEL >= 3 | ||
142 | RELOCATE_ENTRY(_Level3InterruptVector_text, | ||
143 | .Level3InterruptVector.text); | ||
144 | #endif | ||
145 | #if XCHAL_EXCM_LEVEL >= 4 | ||
146 | RELOCATE_ENTRY(_Level4InterruptVector_text, | ||
147 | .Level4InterruptVector.text); | ||
148 | #endif | ||
149 | #if XCHAL_EXCM_LEVEL >= 5 | ||
150 | RELOCATE_ENTRY(_Level5InterruptVector_text, | ||
151 | .Level5InterruptVector.text); | ||
152 | #endif | ||
153 | #if XCHAL_EXCM_LEVEL >= 6 | ||
154 | RELOCATE_ENTRY(_Level6InterruptVector_text, | ||
155 | .Level6InterruptVector.text); | ||
156 | #endif | ||
137 | RELOCATE_ENTRY(_KernelExceptionVector_text, | 157 | RELOCATE_ENTRY(_KernelExceptionVector_text, |
138 | .KernelExceptionVector.text); | 158 | .KernelExceptionVector.text); |
139 | RELOCATE_ENTRY(_UserExceptionVector_text, | 159 | RELOCATE_ENTRY(_UserExceptionVector_text, |
@@ -177,11 +197,53 @@ SECTIONS | |||
177 | XCHAL_DEBUG_VECTOR_VADDR, | 197 | XCHAL_DEBUG_VECTOR_VADDR, |
178 | 4, | 198 | 4, |
179 | .DebugInterruptVector.literal) | 199 | .DebugInterruptVector.literal) |
200 | #undef LAST | ||
201 | #define LAST .DebugInterruptVector.text | ||
202 | #if XCHAL_EXCM_LEVEL >= 2 | ||
203 | SECTION_VECTOR (_Level2InterruptVector_text, | ||
204 | .Level2InterruptVector.text, | ||
205 | XCHAL_INTLEVEL2_VECTOR_VADDR, | ||
206 | SIZEOF(LAST), LAST) | ||
207 | # undef LAST | ||
208 | # define LAST .Level2InterruptVector.text | ||
209 | #endif | ||
210 | #if XCHAL_EXCM_LEVEL >= 3 | ||
211 | SECTION_VECTOR (_Level3InterruptVector_text, | ||
212 | .Level3InterruptVector.text, | ||
213 | XCHAL_INTLEVEL3_VECTOR_VADDR, | ||
214 | SIZEOF(LAST), LAST) | ||
215 | # undef LAST | ||
216 | # define LAST .Level3InterruptVector.text | ||
217 | #endif | ||
218 | #if XCHAL_EXCM_LEVEL >= 4 | ||
219 | SECTION_VECTOR (_Level4InterruptVector_text, | ||
220 | .Level4InterruptVector.text, | ||
221 | XCHAL_INTLEVEL4_VECTOR_VADDR, | ||
222 | SIZEOF(LAST), LAST) | ||
223 | # undef LAST | ||
224 | # define LAST .Level4InterruptVector.text | ||
225 | #endif | ||
226 | #if XCHAL_EXCM_LEVEL >= 5 | ||
227 | SECTION_VECTOR (_Level5InterruptVector_text, | ||
228 | .Level5InterruptVector.text, | ||
229 | XCHAL_INTLEVEL5_VECTOR_VADDR, | ||
230 | SIZEOF(LAST), LAST) | ||
231 | # undef LAST | ||
232 | # define LAST .Level5InterruptVector.text | ||
233 | #endif | ||
234 | #if XCHAL_EXCM_LEVEL >= 6 | ||
235 | SECTION_VECTOR (_Level6InterruptVector_text, | ||
236 | .Level6InterruptVector.text, | ||
237 | XCHAL_INTLEVEL6_VECTOR_VADDR, | ||
238 | SIZEOF(LAST), LAST) | ||
239 | # undef LAST | ||
240 | # define LAST .Level6InterruptVector.text | ||
241 | #endif | ||
180 | SECTION_VECTOR (_KernelExceptionVector_literal, | 242 | SECTION_VECTOR (_KernelExceptionVector_literal, |
181 | .KernelExceptionVector.literal, | 243 | .KernelExceptionVector.literal, |
182 | XCHAL_KERNEL_VECTOR_VADDR - 4, | 244 | XCHAL_KERNEL_VECTOR_VADDR - 4, |
183 | SIZEOF(.DebugInterruptVector.text), | 245 | SIZEOF(LAST), LAST) |
184 | .DebugInterruptVector.text) | 246 | #undef LAST |
185 | SECTION_VECTOR (_KernelExceptionVector_text, | 247 | SECTION_VECTOR (_KernelExceptionVector_text, |
186 | .KernelExceptionVector.text, | 248 | .KernelExceptionVector.text, |
187 | XCHAL_KERNEL_VECTOR_VADDR, | 249 | XCHAL_KERNEL_VECTOR_VADDR, |