aboutsummaryrefslogtreecommitdiffstats
path: root/arch/xtensa/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/xtensa/kernel/vmlinux.lds.S')
-rw-r--r--arch/xtensa/kernel/vmlinux.lds.S68
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,