Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4 LT |
2 | /* |
3 | * vmlinux.lds.S -- master linker script for m68knommu arch | |
4 | * | |
f84f52a5 | 5 | * (C) Copyright 2002-2012, Greg Ungerer <gerg@snapgear.com> |
1da177e4 | 6 | * |
25985edc | 7 | * This linker script is equipped to build either ROM loaded or RAM |
1c952af5 | 8 | * run kernels. |
1da177e4 LT |
9 | */ |
10 | ||
1da177e4 | 11 | #if defined(CONFIG_RAMKERNEL) |
f84f52a5 | 12 | #define KTEXT_ADDR CONFIG_KERNELBASE |
1da177e4 | 13 | #endif |
f84f52a5 GU |
14 | #if defined(CONFIG_ROMKERNEL) |
15 | #define KTEXT_ADDR CONFIG_ROMSTART | |
16 | #define KDATA_ADDR CONFIG_KERNELBASE | |
17 | #define LOAD_OFFSET KDATA_ADDR + (ADDR(.text) + SIZEOF(.text)) | |
1da177e4 LT |
18 | #endif |
19 | ||
f84f52a5 GU |
20 | #include <asm/page.h> |
21 | #include <asm/thread_info.h> | |
22 | #include <asm-generic/vmlinux.lds.h> | |
1da177e4 LT |
23 | |
24 | OUTPUT_ARCH(m68k) | |
25 | ENTRY(_start) | |
26 | ||
1da177e4 LT |
27 | jiffies = jiffies_64 + 4; |
28 | ||
29 | SECTIONS { | |
30 | ||
f84f52a5 GU |
31 | #ifdef CONFIG_ROMVEC |
32 | . = CONFIG_ROMVEC; | |
1da177e4 | 33 | .romvec : { |
f84f52a5 | 34 | __rom_start = .; |
1da177e4 | 35 | _romvec = .; |
f84f52a5 | 36 | *(.romvec) |
2c31c341 | 37 | *(.data..initvect) |
f84f52a5 | 38 | } |
1da177e4 LT |
39 | #endif |
40 | ||
f84f52a5 GU |
41 | . = KTEXT_ADDR; |
42 | ||
43 | _text = .; | |
44 | _stext = .; | |
1da177e4 | 45 | .text : { |
9b0e7410 | 46 | HEAD_TEXT |
7664709b | 47 | TEXT_TEXT |
969de098 GU |
48 | IRQENTRY_TEXT |
49 | SOFTIRQENTRY_TEXT | |
1da177e4 | 50 | SCHED_TEXT |
779125c2 | 51 | LOCK_TEXT |
ed865e31 | 52 | *(.fixup) |
f84f52a5 GU |
53 | . = ALIGN(16); |
54 | } | |
55 | _etext = .; | |
56 | ||
57 | #ifdef KDATA_ADDR | |
58 | . = KDATA_ADDR; | |
59 | #endif | |
60 | ||
61 | _sdata = .; | |
93240b32 | 62 | RO_DATA(PAGE_SIZE) |
c9174047 | 63 | RW_DATA(16, PAGE_SIZE, THREAD_SIZE) |
f84f52a5 | 64 | _edata = .; |
1da177e4 | 65 | |
f84f52a5 | 66 | EXCEPTION_TABLE(16) |
1da177e4 | 67 | |
f84f52a5 GU |
68 | . = ALIGN(PAGE_SIZE); |
69 | __init_begin = .; | |
70 | INIT_TEXT_SECTION(PAGE_SIZE) | |
71 | INIT_DATA_SECTION(16) | |
72 | PERCPU_SECTION(16) | |
ed865e31 GU |
73 | .m68k_fixup : { |
74 | __start_fixup = .; | |
75 | *(.m68k_fixup) | |
76 | __stop_fixup = .; | |
f84f52a5 | 77 | } |
53749f73 | 78 | .init.data : { |
f4bed4fb | 79 | . = ALIGN(PAGE_SIZE); |
1da177e4 | 80 | __init_end = .; |
f84f52a5 GU |
81 | } |
82 | ||
670d3965 | 83 | BSS_SECTION(4, 0, 4) |
f84f52a5 GU |
84 | |
85 | _end = .; | |
86 | ||
87 | STABS_DEBUG | |
428ec5f9 | 88 | ELF_DETAILS |
1da177e4 | 89 | |
f84f52a5 | 90 | /* Sections to be discarded */ |
023bf6f1 | 91 | DISCARDS |
1da177e4 LT |
92 | } |
93 |