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