aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/vmlinux.lds.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-08-14 01:41:02 -0400
committerTejun Heo <tj@kernel.org>2009-08-14 01:45:31 -0400
commit384be2b18a5f9475eab9ca2bdfa95cc1a04ef59c (patch)
tree04c93f391a1b65c8bf8d7ba8643c07d26c26590a /include/asm-generic/vmlinux.lds.h
parenta76761b621bcd8336065c4fe3a74f046858bc34c (diff)
parent142d44b0dd6741a64a7bdbe029110e7c1dcf1d23 (diff)
Merge branch 'percpu-for-linus' into percpu-for-next
Conflicts: arch/sparc/kernel/smp_64.c arch/x86/kernel/cpu/perf_counter.c arch/x86/kernel/setup_percpu.c drivers/cpufreq/cpufreq_ondemand.c mm/percpu.c Conflicts in core and arch percpu codes are mostly from commit ed78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many num_possible_cpus() with nr_cpu_ids. As for-next branch has moved all the first chunk allocators into mm/percpu.c, the changes are moved from arch code to mm/percpu.c. Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
-rw-r--r--include/asm-generic/vmlinux.lds.h31
1 files changed, 15 insertions, 16 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index ab8ea9b7741e..a43223af98b6 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -30,9 +30,7 @@
30 * EXCEPTION_TABLE(...) 30 * EXCEPTION_TABLE(...)
31 * NOTES 31 * NOTES
32 * 32 *
33 * __bss_start = .; 33 * BSS_SECTION(0, 0, 0)
34 * BSS_SECTION(0, 0)
35 * __bss_stop = .;
36 * _end = .; 34 * _end = .;
37 * 35 *
38 * STABS_DEBUG 36 * STABS_DEBUG
@@ -188,7 +186,7 @@
188 . = ALIGN(align); \ 186 . = ALIGN(align); \
189 *(.data.cacheline_aligned) 187 *(.data.cacheline_aligned)
190 188
191#define INIT_TASK(align) \ 189#define INIT_TASK_DATA(align) \
192 . = ALIGN(align); \ 190 . = ALIGN(align); \
193 *(.data.init_task) 191 *(.data.init_task)
194 192
@@ -431,10 +429,10 @@
431/* 429/*
432 * Init task 430 * Init task
433 */ 431 */
434#define INIT_TASK_DATA(align) \ 432#define INIT_TASK_DATA_SECTION(align) \
435 . = ALIGN(align); \ 433 . = ALIGN(align); \
436 .data.init_task : { \ 434 .data.init_task : { \
437 INIT_TASK \ 435 INIT_TASK_DATA(align) \
438 } 436 }
439 437
440#ifdef CONFIG_CONSTRUCTORS 438#ifdef CONFIG_CONSTRUCTORS
@@ -486,7 +484,8 @@
486 * bss (Block Started by Symbol) - uninitialized data 484 * bss (Block Started by Symbol) - uninitialized data
487 * zeroed during startup 485 * zeroed during startup
488 */ 486 */
489#define SBSS \ 487#define SBSS(sbss_align) \
488 . = ALIGN(sbss_align); \
490 .sbss : AT(ADDR(.sbss) - LOAD_OFFSET) { \ 489 .sbss : AT(ADDR(.sbss) - LOAD_OFFSET) { \
491 *(.sbss) \ 490 *(.sbss) \
492 *(.scommon) \ 491 *(.scommon) \
@@ -495,12 +494,10 @@
495#define BSS(bss_align) \ 494#define BSS(bss_align) \
496 . = ALIGN(bss_align); \ 495 . = ALIGN(bss_align); \
497 .bss : AT(ADDR(.bss) - LOAD_OFFSET) { \ 496 .bss : AT(ADDR(.bss) - LOAD_OFFSET) { \
498 VMLINUX_SYMBOL(__bss_start) = .; \
499 *(.bss.page_aligned) \ 497 *(.bss.page_aligned) \
500 *(.dynbss) \ 498 *(.dynbss) \
501 *(.bss) \ 499 *(.bss) \
502 *(COMMON) \ 500 *(COMMON) \
503 VMLINUX_SYMBOL(__bss_stop) = .; \
504 } 501 }
505 502
506/* 503/*
@@ -719,15 +716,15 @@
719 * matches the requirment of PAGE_ALIGNED_DATA. 716 * matches the requirment of PAGE_ALIGNED_DATA.
720 * 717 *
721 * use 0 as page_align if page_aligned data is not used */ 718 * use 0 as page_align if page_aligned data is not used */
722#define RW_DATA_SECTION(cacheline, nosave, pagealigned, inittask) \ 719#define RW_DATA_SECTION(cacheline, pagealigned, inittask) \
723 . = ALIGN(PAGE_SIZE); \ 720 . = ALIGN(PAGE_SIZE); \
724 .data : AT(ADDR(.data) - LOAD_OFFSET) { \ 721 .data : AT(ADDR(.data) - LOAD_OFFSET) { \
725 INIT_TASK(inittask) \ 722 INIT_TASK_DATA(inittask) \
726 CACHELINE_ALIGNED_DATA(cacheline) \ 723 CACHELINE_ALIGNED_DATA(cacheline) \
727 READ_MOSTLY_DATA(cacheline) \ 724 READ_MOSTLY_DATA(cacheline) \
728 DATA_DATA \ 725 DATA_DATA \
729 CONSTRUCTORS \ 726 CONSTRUCTORS \
730 NOSAVE_DATA(nosave) \ 727 NOSAVE_DATA \
731 PAGE_ALIGNED_DATA(pagealigned) \ 728 PAGE_ALIGNED_DATA(pagealigned) \
732 } 729 }
733 730
@@ -749,8 +746,10 @@
749 INIT_RAM_FS \ 746 INIT_RAM_FS \
750 } 747 }
751 748
752#define BSS_SECTION(sbss_align, bss_align) \ 749#define BSS_SECTION(sbss_align, bss_align, stop_align) \
753 SBSS \ 750 . = ALIGN(sbss_align); \
751 VMLINUX_SYMBOL(__bss_start) = .; \
752 SBSS(sbss_align) \
754 BSS(bss_align) \ 753 BSS(bss_align) \
755 . = ALIGN(4); 754 . = ALIGN(stop_align); \
756 755 VMLINUX_SYMBOL(__bss_stop) = .;