diff options
Diffstat (limited to 'arch/xtensa/kernel/vmlinux.lds.S')
-rw-r--r-- | arch/xtensa/kernel/vmlinux.lds.S | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S index ab6cdbd5eb68..a36c104c3a52 100644 --- a/arch/xtensa/kernel/vmlinux.lds.S +++ b/arch/xtensa/kernel/vmlinux.lds.S | |||
@@ -16,19 +16,17 @@ | |||
16 | 16 | ||
17 | #include <asm-generic/vmlinux.lds.h> | 17 | #include <asm-generic/vmlinux.lds.h> |
18 | 18 | ||
19 | #define _NOCLANGUAGE | 19 | #include <asm/variant/core.h> |
20 | #include <xtensa/config/core.h> | ||
21 | #include <xtensa/config/system.h> | ||
22 | OUTPUT_ARCH(xtensa) | 20 | OUTPUT_ARCH(xtensa) |
23 | ENTRY(_start) | 21 | ENTRY(_start) |
24 | 22 | ||
25 | #if XCHAL_MEMORY_ORDER == XTHAL_BIGENDIAN | 23 | #ifdef __XTENSA_EB__ |
26 | jiffies = jiffies_64 + 4; | 24 | jiffies = jiffies_64 + 4; |
27 | #else | 25 | #else |
28 | jiffies = jiffies_64; | 26 | jiffies = jiffies_64; |
29 | #endif | 27 | #endif |
30 | 28 | ||
31 | #define KERNELOFFSET 0x1000 | 29 | #define KERNELOFFSET 0xd0001000 |
32 | 30 | ||
33 | /* Note: In the following macros, it would be nice to specify only the | 31 | /* Note: In the following macros, it would be nice to specify only the |
34 | vector name and section kind and construct "sym" and "section" using | 32 | vector name and section kind and construct "sym" and "section" using |
@@ -75,7 +73,7 @@ jiffies = jiffies_64; | |||
75 | 73 | ||
76 | SECTIONS | 74 | SECTIONS |
77 | { | 75 | { |
78 | . = XCHAL_KSEG_CACHED_VADDR + KERNELOFFSET; | 76 | . = KERNELOFFSET; |
79 | /* .text section */ | 77 | /* .text section */ |
80 | 78 | ||
81 | _text = .; | 79 | _text = .; |
@@ -159,7 +157,7 @@ SECTIONS | |||
159 | 157 | ||
160 | /* Initialization code and data: */ | 158 | /* Initialization code and data: */ |
161 | 159 | ||
162 | . = ALIGN(1<<XCHAL_MMU_MIN_PTE_PAGE_SIZE); | 160 | . = ALIGN(1 << 12); |
163 | __init_begin = .; | 161 | __init_begin = .; |
164 | .init.text : { | 162 | .init.text : { |
165 | _sinittext = .; | 163 | _sinittext = .; |
@@ -184,13 +182,7 @@ SECTIONS | |||
184 | 182 | ||
185 | __initcall_start = .; | 183 | __initcall_start = .; |
186 | .initcall.init : { | 184 | .initcall.init : { |
187 | *(.initcall1.init) | 185 | INITCALLS |
188 | *(.initcall2.init) | ||
189 | *(.initcall3.init) | ||
190 | *(.initcall4.init) | ||
191 | *(.initcall5.init) | ||
192 | *(.initcall6.init) | ||
193 | *(.initcall7.init) | ||
194 | } | 186 | } |
195 | __initcall_end = .; | 187 | __initcall_end = .; |
196 | 188 | ||
@@ -229,32 +221,32 @@ SECTIONS | |||
229 | .dummy) | 221 | .dummy) |
230 | SECTION_VECTOR (_DebugInterruptVector_literal, | 222 | SECTION_VECTOR (_DebugInterruptVector_literal, |
231 | .DebugInterruptVector.literal, | 223 | .DebugInterruptVector.literal, |
232 | XCHAL_INTLEVEL_VECTOR_VADDR(XCHAL_DEBUGLEVEL) - 4, | 224 | XCHAL_DEBUG_VECTOR_VADDR - 4, |
233 | SIZEOF(.WindowVectors.text), | 225 | SIZEOF(.WindowVectors.text), |
234 | .WindowVectors.text) | 226 | .WindowVectors.text) |
235 | SECTION_VECTOR (_DebugInterruptVector_text, | 227 | SECTION_VECTOR (_DebugInterruptVector_text, |
236 | .DebugInterruptVector.text, | 228 | .DebugInterruptVector.text, |
237 | XCHAL_INTLEVEL_VECTOR_VADDR(XCHAL_DEBUGLEVEL), | 229 | XCHAL_DEBUG_VECTOR_VADDR, |
238 | 4, | 230 | 4, |
239 | .DebugInterruptVector.literal) | 231 | .DebugInterruptVector.literal) |
240 | SECTION_VECTOR (_KernelExceptionVector_literal, | 232 | SECTION_VECTOR (_KernelExceptionVector_literal, |
241 | .KernelExceptionVector.literal, | 233 | .KernelExceptionVector.literal, |
242 | XCHAL_KERNELEXC_VECTOR_VADDR - 4, | 234 | XCHAL_KERNEL_VECTOR_VADDR - 4, |
243 | SIZEOF(.DebugInterruptVector.text), | 235 | SIZEOF(.DebugInterruptVector.text), |
244 | .DebugInterruptVector.text) | 236 | .DebugInterruptVector.text) |
245 | SECTION_VECTOR (_KernelExceptionVector_text, | 237 | SECTION_VECTOR (_KernelExceptionVector_text, |
246 | .KernelExceptionVector.text, | 238 | .KernelExceptionVector.text, |
247 | XCHAL_KERNELEXC_VECTOR_VADDR, | 239 | XCHAL_KERNEL_VECTOR_VADDR, |
248 | 4, | 240 | 4, |
249 | .KernelExceptionVector.literal) | 241 | .KernelExceptionVector.literal) |
250 | SECTION_VECTOR (_UserExceptionVector_literal, | 242 | SECTION_VECTOR (_UserExceptionVector_literal, |
251 | .UserExceptionVector.literal, | 243 | .UserExceptionVector.literal, |
252 | XCHAL_USEREXC_VECTOR_VADDR - 4, | 244 | XCHAL_USER_VECTOR_VADDR - 4, |
253 | SIZEOF(.KernelExceptionVector.text), | 245 | SIZEOF(.KernelExceptionVector.text), |
254 | .KernelExceptionVector.text) | 246 | .KernelExceptionVector.text) |
255 | SECTION_VECTOR (_UserExceptionVector_text, | 247 | SECTION_VECTOR (_UserExceptionVector_text, |
256 | .UserExceptionVector.text, | 248 | .UserExceptionVector.text, |
257 | XCHAL_USEREXC_VECTOR_VADDR, | 249 | XCHAL_USER_VECTOR_VADDR, |
258 | 4, | 250 | 4, |
259 | .UserExceptionVector.literal) | 251 | .UserExceptionVector.literal) |
260 | SECTION_VECTOR (_DoubleExceptionVector_literal, | 252 | SECTION_VECTOR (_DoubleExceptionVector_literal, |
@@ -269,7 +261,7 @@ SECTIONS | |||
269 | .DoubleExceptionVector.literal) | 261 | .DoubleExceptionVector.literal) |
270 | 262 | ||
271 | . = (LOADADDR( .DoubleExceptionVector.text ) + SIZEOF( .DoubleExceptionVector.text ) + 3) & ~ 3; | 263 | . = (LOADADDR( .DoubleExceptionVector.text ) + SIZEOF( .DoubleExceptionVector.text ) + 3) & ~ 3; |
272 | . = ALIGN(1<<XCHAL_MMU_MIN_PTE_PAGE_SIZE); | 264 | . = ALIGN(1 << 12); |
273 | 265 | ||
274 | __init_end = .; | 266 | __init_end = .; |
275 | 267 | ||