Merge tag 'linux-kselftest-next-6.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / arch / m68k / kernel / vmlinux-nommu.lds
CommitLineData
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
24OUTPUT_ARCH(m68k)
25ENTRY(_start)
26
1da177e4
LT
27jiffies = jiffies_64 + 4;
28
29SECTIONS {
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