diff options
author | Tim Abbott <tabbott@ksplice.com> | 2009-09-24 10:36:23 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-24 20:16:22 -0400 |
commit | 4a5e35135d1ffcf14ebb2bb3c730b92c18ae9657 (patch) | |
tree | 318b2fda0411fe28984bf9b1ac7a68570e53e0d6 /arch/blackfin/kernel | |
parent | 4295f8b318b424be0f87c9fd9aa1eb35c9585faf (diff) |
blackfin: Cleanup linker script using new linker script macros.
Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Bryan Wu <cooloney@kernel.org>
Cc: uclinux-dist-devel@blackfin.uclinux.org
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r-- | arch/blackfin/kernel/vmlinux.lds.S | 56 |
1 files changed, 6 insertions, 50 deletions
diff --git a/arch/blackfin/kernel/vmlinux.lds.S b/arch/blackfin/kernel/vmlinux.lds.S index 21ac7c26079e..ffd90fbbc8f9 100644 --- a/arch/blackfin/kernel/vmlinux.lds.S +++ b/arch/blackfin/kernel/vmlinux.lds.S | |||
@@ -96,8 +96,7 @@ SECTIONS | |||
96 | { | 96 | { |
97 | __sdata = .; | 97 | __sdata = .; |
98 | /* This gets done first, so the glob doesn't suck it in */ | 98 | /* This gets done first, so the glob doesn't suck it in */ |
99 | . = ALIGN(32); | 99 | CACHELINE_ALIGNED_DATA(32) |
100 | *(.data.cacheline_aligned) | ||
101 | 100 | ||
102 | #if !L1_DATA_A_LENGTH | 101 | #if !L1_DATA_A_LENGTH |
103 | . = ALIGN(32); | 102 | . = ALIGN(32); |
@@ -116,12 +115,7 @@ SECTIONS | |||
116 | DATA_DATA | 115 | DATA_DATA |
117 | CONSTRUCTORS | 116 | CONSTRUCTORS |
118 | 117 | ||
119 | /* make sure the init_task is aligned to the | 118 | INIT_TASK_DATA(THREAD_SIZE) |
120 | * kernel thread size so we can locate the kernel | ||
121 | * stack properly and quickly. | ||
122 | */ | ||
123 | . = ALIGN(THREAD_SIZE); | ||
124 | *(.init_task.data) | ||
125 | 119 | ||
126 | __edata = .; | 120 | __edata = .; |
127 | } | 121 | } |
@@ -134,39 +128,10 @@ SECTIONS | |||
134 | . = ALIGN(PAGE_SIZE); | 128 | . = ALIGN(PAGE_SIZE); |
135 | ___init_begin = .; | 129 | ___init_begin = .; |
136 | 130 | ||
137 | .init.text : | 131 | INIT_TEXT_SECTION(PAGE_SIZE) |
138 | { | 132 | . = ALIGN(16); |
139 | . = ALIGN(PAGE_SIZE); | 133 | INIT_DATA_SECTION(16) |
140 | __sinittext = .; | ||
141 | INIT_TEXT | ||
142 | __einittext = .; | ||
143 | } | ||
144 | .init.data : | ||
145 | { | ||
146 | . = ALIGN(16); | ||
147 | INIT_DATA | ||
148 | } | ||
149 | .init.setup : | ||
150 | { | ||
151 | . = ALIGN(16); | ||
152 | ___setup_start = .; | ||
153 | *(.init.setup) | ||
154 | ___setup_end = .; | ||
155 | } | ||
156 | .initcall.init : | ||
157 | { | ||
158 | ___initcall_start = .; | ||
159 | INITCALLS | ||
160 | ___initcall_end = .; | ||
161 | } | ||
162 | .con_initcall.init : | ||
163 | { | ||
164 | ___con_initcall_start = .; | ||
165 | *(.con_initcall.init) | ||
166 | ___con_initcall_end = .; | ||
167 | } | ||
168 | PERCPU(4) | 134 | PERCPU(4) |
169 | SECURITY_INIT | ||
170 | 135 | ||
171 | /* we have to discard exit text and such at runtime, not link time, to | 136 | /* we have to discard exit text and such at runtime, not link time, to |
172 | * handle embedded cross-section references (alt instructions, bug | 137 | * handle embedded cross-section references (alt instructions, bug |
@@ -181,18 +146,9 @@ SECTIONS | |||
181 | EXIT_DATA | 146 | EXIT_DATA |
182 | } | 147 | } |
183 | 148 | ||
184 | .init.ramfs : | ||
185 | { | ||
186 | . = ALIGN(4); | ||
187 | ___initramfs_start = .; | ||
188 | *(.init.ramfs) | ||
189 | . = ALIGN(4); | ||
190 | ___initramfs_end = .; | ||
191 | } | ||
192 | |||
193 | __l1_lma_start = .; | 149 | __l1_lma_start = .; |
194 | 150 | ||
195 | .text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs)) | 151 | .text_l1 L1_CODE_START : AT(LOADADDR(.exit.data) + SIZEOF(.exit.data)) |
196 | { | 152 | { |
197 | . = ALIGN(4); | 153 | . = ALIGN(4); |
198 | __stext_l1 = .; | 154 | __stext_l1 = .; |