aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/vmlinux.lds.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/kernel/vmlinux.lds.S')
-rw-r--r--arch/i386/kernel/vmlinux.lds.S23
1 files changed, 22 insertions, 1 deletions
diff --git a/arch/i386/kernel/vmlinux.lds.S b/arch/i386/kernel/vmlinux.lds.S
index 4710195b6b74..8831303a473f 100644
--- a/arch/i386/kernel/vmlinux.lds.S
+++ b/arch/i386/kernel/vmlinux.lds.S
@@ -7,6 +7,7 @@
7#include <asm-generic/vmlinux.lds.h> 7#include <asm-generic/vmlinux.lds.h>
8#include <asm/thread_info.h> 8#include <asm/thread_info.h>
9#include <asm/page.h> 9#include <asm/page.h>
10#include <asm/cache.h>
10 11
11OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") 12OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
12OUTPUT_ARCH(i386) 13OUTPUT_ARCH(i386)
@@ -68,6 +69,26 @@ SECTIONS
68 *(.data.init_task) 69 *(.data.init_task)
69 } 70 }
70 71
72 /* might get freed after init */
73 . = ALIGN(4096);
74 __smp_alt_begin = .;
75 __smp_alt_instructions = .;
76 .smp_altinstructions : AT(ADDR(.smp_altinstructions) - LOAD_OFFSET) {
77 *(.smp_altinstructions)
78 }
79 __smp_alt_instructions_end = .;
80 . = ALIGN(4);
81 __smp_locks = .;
82 .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
83 *(.smp_locks)
84 }
85 __smp_locks_end = .;
86 .smp_altinstr_replacement : AT(ADDR(.smp_altinstr_replacement) - LOAD_OFFSET) {
87 *(.smp_altinstr_replacement)
88 }
89 . = ALIGN(4096);
90 __smp_alt_end = .;
91
71 /* will be freed after init */ 92 /* will be freed after init */
72 . = ALIGN(4096); /* Init code and data */ 93 . = ALIGN(4096); /* Init code and data */
73 __init_begin = .; 94 __init_begin = .;
@@ -115,7 +136,7 @@ SECTIONS
115 __initramfs_start = .; 136 __initramfs_start = .;
116 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { *(.init.ramfs) } 137 .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) { *(.init.ramfs) }
117 __initramfs_end = .; 138 __initramfs_end = .;
118 . = ALIGN(32); 139 . = ALIGN(L1_CACHE_BYTES);
119 __per_cpu_start = .; 140 __per_cpu_start = .;
120 .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { *(.data.percpu) } 141 .data.percpu : AT(ADDR(.data.percpu) - LOAD_OFFSET) { *(.data.percpu) }
121 __per_cpu_end = .; 142 __per_cpu_end = .;