]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - arch/m68knommu/kernel/vmlinux.lds.S
[PATCH] m68knommu: remove fixed ROM region setups from linker script
[mirror_ubuntu-bionic-kernel.git] / arch / m68knommu / kernel / vmlinux.lds.S
1 /*
2 * vmlinux.lds.S -- master linker script for m68knommu arch
3 *
4 * (C) Copyright 2002-2006, Greg Ungerer <gerg@snapgear.com>
5 *
6 * This linker script is equiped to build either ROM loaded or RAM
7 * run kernels.
8 */
9
10 #include <linux/config.h>
11 #include <asm-generic/vmlinux.lds.h>
12
13 #if defined(CONFIG_RAMKERNEL)
14 #define RAM_START CONFIG_KERNELBASE
15 #define RAM_LENGTH (CONFIG_RAMBASE + CONFIG_RAMSIZE - CONFIG_KERNELBASE)
16 #define TEXT ram
17 #define DATA ram
18 #define INIT ram
19 #define BSS ram
20 #endif
21 #if defined(CONFIG_ROMKERNEL) || defined(CONFIG_HIMEMKERNEL)
22 #define RAM_START CONFIG_RAMBASE
23 #define RAM_LENGTH CONFIG_RAMSIZE
24 #define ROMVEC_START CONFIG_ROMVEC
25 #define ROMVEC_LENGTH CONFIG_ROMVECSIZE
26 #define ROM_START CONFIG_ROMSTART
27 #define ROM_LENGTH CONFIG_ROMSIZE
28 #define TEXT rom
29 #define DATA ram
30 #define INIT ram
31 #define BSS ram
32 #endif
33
34 #ifndef DATA_ADDR
35 #define DATA_ADDR
36 #endif
37
38
39 OUTPUT_ARCH(m68k)
40 ENTRY(_start)
41
42 MEMORY {
43 ram : ORIGIN = RAM_START, LENGTH = RAM_LENGTH
44 #ifdef ROM_START
45 romvec : ORIGIN = ROMVEC_START, LENGTH = ROMVEC_LENGTH
46 rom : ORIGIN = ROM_START, LENGTH = ROM_LENGTH
47 #endif
48 }
49
50 jiffies = jiffies_64 + 4;
51
52 SECTIONS {
53
54 #ifdef ROMVEC_START
55 . = ROMVEC_START ;
56 .romvec : {
57 __rom_start = . ;
58 _romvec = .;
59 *(.data.initvect)
60 } > romvec
61 #endif
62
63 .text : {
64 _stext = . ;
65 *(.text)
66 SCHED_TEXT
67 *(.text.lock)
68
69 . = ALIGN(16); /* Exception table */
70 __start___ex_table = .;
71 *(__ex_table)
72 __stop___ex_table = .;
73
74 *(.rodata) *(.rodata.*)
75 *(__vermagic) /* Kernel version magic */
76 *(.rodata1)
77 *(.rodata.str1.1)
78
79 /* Kernel symbol table: Normal symbols */
80 . = ALIGN(4);
81 __start___ksymtab = .;
82 *(__ksymtab)
83 __stop___ksymtab = .;
84
85 /* Kernel symbol table: GPL-only symbols */
86 __start___ksymtab_gpl = .;
87 *(__ksymtab_gpl)
88 __stop___ksymtab_gpl = .;
89
90 /* Kernel symbol table: GPL-future symbols */
91 __start___ksymtab_gpl_future = .;
92 *(__ksymtab_gpl_future)
93 __stop___ksymtab_gpl_future = .;
94
95 /* Kernel symbol table: Normal symbols */
96 __start___kcrctab = .;
97 *(__kcrctab)
98 __stop___kcrctab = .;
99
100 /* Kernel symbol table: GPL-only symbols */
101 __start___kcrctab_gpl = .;
102 *(__kcrctab_gpl)
103 __stop___kcrctab_gpl = .;
104
105 /* Kernel symbol table: GPL-future symbols */
106 __start___kcrctab_gpl_future = .;
107 *(__kcrctab_gpl_future)
108 __stop___kcrctab_gpl_future = .;
109
110 /* Kernel symbol table: strings */
111 *(__ksymtab_strings)
112
113 /* Built-in module parameters */
114 . = ALIGN(4) ;
115 __start___param = .;
116 *(__param)
117 __stop___param = .;
118
119 . = ALIGN(4) ;
120 _etext = . ;
121 } > TEXT
122
123 .data DATA_ADDR : {
124 . = ALIGN(4);
125 _sdata = . ;
126 *(.data)
127 . = ALIGN(8192) ;
128 *(.data.init_task)
129 _edata = . ;
130 } > DATA
131
132 .init : {
133 . = ALIGN(4096);
134 __init_begin = .;
135 _sinittext = .;
136 *(.init.text)
137 _einittext = .;
138 *(.init.data)
139 . = ALIGN(16);
140 __setup_start = .;
141 *(.init.setup)
142 __setup_end = .;
143 __initcall_start = .;
144 *(.initcall1.init)
145 *(.initcall2.init)
146 *(.initcall3.init)
147 *(.initcall4.init)
148 *(.initcall5.init)
149 *(.initcall6.init)
150 *(.initcall7.init)
151 __initcall_end = .;
152 __con_initcall_start = .;
153 *(.con_initcall.init)
154 __con_initcall_end = .;
155 __security_initcall_start = .;
156 *(.security_initcall.init)
157 __security_initcall_end = .;
158 . = ALIGN(4);
159 __initramfs_start = .;
160 *(.init.ramfs)
161 __initramfs_end = .;
162 . = ALIGN(4096);
163 __init_end = .;
164 } > INIT
165
166 /DISCARD/ : {
167 *(.exit.text)
168 *(.exit.data)
169 *(.exitcall.exit)
170 }
171
172 .bss : {
173 . = ALIGN(4);
174 _sbss = . ;
175 *(.bss)
176 *(COMMON)
177 . = ALIGN(4) ;
178 _ebss = . ;
179 } > BSS
180
181 }
182