diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-05 05:35:33 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-12-05 05:35:33 -0500 |
commit | 0719dc341389882cc834ed18fc9b7fc6006b2b85 (patch) | |
tree | 794480ac62c07ea8cc4e69c2cb3d2b83bb7f36b7 /arch/arm/kernel | |
parent | e28edb723e64200554194da17617ee6e82de6690 (diff) | |
parent | 677f4f64e4b2336682f0e15c69b206ade6f6b131 (diff) |
Merge branch 'devel-stable' into devel
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/head-nommu.S | 2 | ||||
-rw-r--r-- | arch/arm/kernel/head.S | 2 | ||||
-rw-r--r-- | arch/arm/kernel/vmlinux.lds.S | 85 |
3 files changed, 28 insertions, 61 deletions
diff --git a/arch/arm/kernel/head-nommu.S b/arch/arm/kernel/head-nommu.S index e5dfc2895e24..573b803dc6bf 100644 --- a/arch/arm/kernel/head-nommu.S +++ b/arch/arm/kernel/head-nommu.S | |||
@@ -32,7 +32,7 @@ | |||
32 | * numbers for r1. | 32 | * numbers for r1. |
33 | * | 33 | * |
34 | */ | 34 | */ |
35 | .section ".text.head", "ax" | 35 | __HEAD |
36 | ENTRY(stext) | 36 | ENTRY(stext) |
37 | setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode | 37 | setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode |
38 | @ and irqs disabled | 38 | @ and irqs disabled |
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 38ccbe1d3b2c..eb62bf947212 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S | |||
@@ -74,7 +74,7 @@ | |||
74 | * crap here - that's what the boot loader (or in extreme, well justified | 74 | * crap here - that's what the boot loader (or in extreme, well justified |
75 | * circumstances, zImage) is for. | 75 | * circumstances, zImage) is for. |
76 | */ | 76 | */ |
77 | .section ".text.head", "ax" | 77 | __HEAD |
78 | ENTRY(stext) | 78 | ENTRY(stext) |
79 | setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode | 79 | setmode PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode |
80 | @ and irqs disabled | 80 | @ and irqs disabled |
diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index aecf87dfbaec..71151bd87a36 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S | |||
@@ -24,13 +24,11 @@ SECTIONS | |||
24 | #else | 24 | #else |
25 | . = PAGE_OFFSET + TEXT_OFFSET; | 25 | . = PAGE_OFFSET + TEXT_OFFSET; |
26 | #endif | 26 | #endif |
27 | .text.head : { | ||
28 | _stext = .; | ||
29 | _sinittext = .; | ||
30 | *(.text.head) | ||
31 | } | ||
32 | 27 | ||
33 | .init : { /* Init code and data */ | 28 | .init : { /* Init code and data */ |
29 | _stext = .; | ||
30 | _sinittext = .; | ||
31 | HEAD_TEXT | ||
34 | INIT_TEXT | 32 | INIT_TEXT |
35 | _einittext = .; | 33 | _einittext = .; |
36 | __proc_info_begin = .; | 34 | __proc_info_begin = .; |
@@ -42,43 +40,31 @@ SECTIONS | |||
42 | __tagtable_begin = .; | 40 | __tagtable_begin = .; |
43 | *(.taglist.init) | 41 | *(.taglist.init) |
44 | __tagtable_end = .; | 42 | __tagtable_end = .; |
45 | . = ALIGN(16); | 43 | |
46 | __setup_start = .; | 44 | INIT_SETUP(16) |
47 | *(.init.setup) | 45 | |
48 | __setup_end = .; | ||
49 | __early_begin = .; | 46 | __early_begin = .; |
50 | *(.early_param.init) | 47 | *(.early_param.init) |
51 | __early_end = .; | 48 | __early_end = .; |
52 | __initcall_start = .; | 49 | |
53 | INITCALLS | 50 | INIT_CALLS |
54 | __initcall_end = .; | 51 | CON_INITCALL |
55 | __con_initcall_start = .; | 52 | SECURITY_INITCALL |
56 | *(.con_initcall.init) | 53 | INIT_RAM_FS |
57 | __con_initcall_end = .; | 54 | |
58 | __security_initcall_start = .; | ||
59 | *(.security_initcall.init) | ||
60 | __security_initcall_end = .; | ||
61 | #ifdef CONFIG_BLK_DEV_INITRD | ||
62 | . = ALIGN(32); | ||
63 | __initramfs_start = .; | ||
64 | usr/built-in.o(.init.ramfs) | ||
65 | __initramfs_end = .; | ||
66 | #endif | ||
67 | . = ALIGN(PAGE_SIZE); | ||
68 | __per_cpu_load = .; | ||
69 | __per_cpu_start = .; | ||
70 | *(.data.percpu.page_aligned) | ||
71 | *(.data.percpu) | ||
72 | *(.data.percpu.shared_aligned) | ||
73 | __per_cpu_end = .; | ||
74 | #ifndef CONFIG_XIP_KERNEL | 55 | #ifndef CONFIG_XIP_KERNEL |
75 | __init_begin = _stext; | 56 | __init_begin = _stext; |
76 | INIT_DATA | 57 | INIT_DATA |
77 | . = ALIGN(PAGE_SIZE); | ||
78 | __init_end = .; | ||
79 | #endif | 58 | #endif |
80 | } | 59 | } |
81 | 60 | ||
61 | PERCPU(PAGE_SIZE) | ||
62 | |||
63 | #ifndef CONFIG_XIP_KERNEL | ||
64 | . = ALIGN(PAGE_SIZE); | ||
65 | __init_end = .; | ||
66 | #endif | ||
67 | |||
82 | /DISCARD/ : { /* Exit code and data */ | 68 | /DISCARD/ : { /* Exit code and data */ |
83 | EXIT_TEXT | 69 | EXIT_TEXT |
84 | EXIT_DATA | 70 | EXIT_DATA |
@@ -157,7 +143,7 @@ SECTIONS | |||
157 | * first, the init task union, aligned | 143 | * first, the init task union, aligned |
158 | * to an 8192 byte boundary. | 144 | * to an 8192 byte boundary. |
159 | */ | 145 | */ |
160 | *(.data.init_task) | 146 | INIT_TASK_DATA(THREAD_SIZE) |
161 | 147 | ||
162 | #ifdef CONFIG_XIP_KERNEL | 148 | #ifdef CONFIG_XIP_KERNEL |
163 | . = ALIGN(PAGE_SIZE); | 149 | . = ALIGN(PAGE_SIZE); |
@@ -167,17 +153,8 @@ SECTIONS | |||
167 | __init_end = .; | 153 | __init_end = .; |
168 | #endif | 154 | #endif |
169 | 155 | ||
170 | . = ALIGN(PAGE_SIZE); | 156 | NOSAVE_DATA |
171 | __nosave_begin = .; | 157 | CACHELINE_ALIGNED_DATA(32) |
172 | *(.data.nosave) | ||
173 | . = ALIGN(PAGE_SIZE); | ||
174 | __nosave_end = .; | ||
175 | |||
176 | /* | ||
177 | * then the cacheline aligned data | ||
178 | */ | ||
179 | . = ALIGN(32); | ||
180 | *(.data.cacheline_aligned) | ||
181 | 158 | ||
182 | /* | 159 | /* |
183 | * The exception fixup table (might need resorting at runtime) | 160 | * The exception fixup table (might need resorting at runtime) |
@@ -256,20 +233,10 @@ SECTIONS | |||
256 | } | 233 | } |
257 | #endif | 234 | #endif |
258 | 235 | ||
259 | .bss : { | 236 | BSS_SECTION(0, 0, 0) |
260 | __bss_start = .; /* BSS */ | 237 | _end = .; |
261 | *(.bss) | 238 | |
262 | *(COMMON) | 239 | STABS_DEBUG |
263 | __bss_stop = .; | ||
264 | _end = .; | ||
265 | } | ||
266 | /* Stabs debugging sections. */ | ||
267 | .stab 0 : { *(.stab) } | ||
268 | .stabstr 0 : { *(.stabstr) } | ||
269 | .stab.excl 0 : { *(.stab.excl) } | ||
270 | .stab.exclstr 0 : { *(.stab.exclstr) } | ||
271 | .stab.index 0 : { *(.stab.index) } | ||
272 | .stab.indexstr 0 : { *(.stab.indexstr) } | ||
273 | .comment 0 : { *(.comment) } | 240 | .comment 0 : { *(.comment) } |
274 | } | 241 | } |
275 | 242 | ||