2 * vmlinux.lds.S -- master linker script for m68knommu arch
4 * (C) Copyright 2002-2006, Greg Ungerer <gerg@snapgear.com>
6 * This linker script is equipped to build either ROM loaded or RAM
10 #include <asm-generic/vmlinux.lds.h>
12 #include <asm/thread_info.h>
14 #if defined(CONFIG_RAMKERNEL)
15 #define RAM_START CONFIG_KERNELBASE
16 #define RAM_LENGTH (CONFIG_RAMBASE + CONFIG_RAMSIZE - CONFIG_KERNELBASE)
22 #if defined(CONFIG_ROMKERNEL) || defined(CONFIG_HIMEMKERNEL)
23 #define RAM_START CONFIG_RAMBASE
24 #define RAM_LENGTH CONFIG_RAMSIZE
25 #define ROMVEC_START CONFIG_ROMVEC
26 #define ROMVEC_LENGTH CONFIG_ROMVECSIZE
27 #define ROM_START CONFIG_ROMSTART
28 #define ROM_LENGTH CONFIG_ROMSIZE
44 ram : ORIGIN = RAM_START, LENGTH = RAM_LENGTH
46 romvec : ORIGIN = ROMVEC_START, LENGTH = ROMVEC_LENGTH
47 rom : ORIGIN = ROM_START, LENGTH = ROM_LENGTH
51 jiffies = jiffies_64 + 4;
73 . = ALIGN(16); /* Exception table */
74 __start___ex_table = .;
76 __stop___ex_table = .;
78 *(.rodata) *(.rodata.*)
79 *(__vermagic) /* Kernel version magic */
83 /* Kernel symbol table: Normal symbols */
85 __start___ksymtab = .;
89 /* Kernel symbol table: GPL-only symbols */
90 __start___ksymtab_gpl = .;
91 *(SORT(___ksymtab_gpl+*))
92 __stop___ksymtab_gpl = .;
94 /* Kernel symbol table: Normal unused symbols */
95 __start___ksymtab_unused = .;
96 *(SORT(___ksymtab_unused+*))
97 __stop___ksymtab_unused = .;
99 /* Kernel symbol table: GPL-only unused symbols */
100 __start___ksymtab_unused_gpl = .;
101 *(SORT(___ksymtab_unused_gpl+*))
102 __stop___ksymtab_unused_gpl = .;
104 /* Kernel symbol table: GPL-future symbols */
105 __start___ksymtab_gpl_future = .;
106 *(SORT(___ksymtab_gpl_future+*))
107 __stop___ksymtab_gpl_future = .;
109 /* Kernel symbol table: Normal symbols */
110 __start___kcrctab = .;
111 *(SORT(___kcrctab+*))
112 __stop___kcrctab = .;
114 /* Kernel symbol table: GPL-only symbols */
115 __start___kcrctab_gpl = .;
116 *(SORT(___kcrctab_gpl+*))
117 __stop___kcrctab_gpl = .;
119 /* Kernel symbol table: Normal unused symbols */
120 __start___kcrctab_unused = .;
121 *(SORT(___kcrctab_unused+*))
122 __stop___kcrctab_unused = .;
124 /* Kernel symbol table: GPL-only unused symbols */
125 __start___kcrctab_unused_gpl = .;
126 *(SORT(___kcrctab_unused_gpl+*))
127 __stop___kcrctab_unused_gpl = .;
129 /* Kernel symbol table: GPL-future symbols */
130 __start___kcrctab_gpl_future = .;
131 *(SORT(___kcrctab_gpl_future+*))
132 __stop___kcrctab_gpl_future = .;
134 /* Kernel symbol table: strings */
137 /* Built-in module parameters */
143 /* Built-in module versions */
145 __start___modver = .;
157 CACHELINE_ALIGNED_DATA(32)
158 PAGE_ALIGNED_DATA(PAGE_SIZE)
159 *(.data..shared_aligned)
160 INIT_TASK_DATA(THREAD_SIZE)
165 . = ALIGN(PAGE_SIZE);
168 INIT_TEXT_SECTION(PAGE_SIZE) > INIT
169 INIT_DATA_SECTION(16) > INIT
171 . = ALIGN(PAGE_SIZE);