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