Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/mn10300/kernel/vmlinux.lds.S
10817 views
1
/* MN10300 Main kernel linker script
2
*
3
* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4
* Written by David Howells ([email protected])
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public Licence
8
* as published by the Free Software Foundation; either version
9
* 2 of the Licence, or (at your option) any later version.
10
*/
11
#define __VMLINUX_LDS__
12
#include <asm-generic/vmlinux.lds.h>
13
#include <asm/thread_info.h>
14
#include <asm/page.h>
15
16
OUTPUT_FORMAT("elf32-am33lin", "elf32-am33lin", "elf32-am33lin")
17
OUTPUT_ARCH(mn10300)
18
ENTRY(_start)
19
jiffies = jiffies_64;
20
#ifndef CONFIG_MN10300_CURRENT_IN_E2
21
current = __current;
22
#endif
23
SECTIONS
24
{
25
. = CONFIG_KERNEL_TEXT_ADDRESS;
26
/* read-only */
27
_stext = .;
28
_text = .; /* Text and read-only data */
29
.text : {
30
HEAD_TEXT
31
TEXT_TEXT
32
SCHED_TEXT
33
LOCK_TEXT
34
KPROBES_TEXT
35
*(.fixup)
36
*(.gnu.warning)
37
} = 0xcb
38
39
_etext = .; /* End of text section */
40
41
EXCEPTION_TABLE(16)
42
BUG_TABLE
43
44
RO_DATA(PAGE_SIZE)
45
46
/* writeable */
47
_sdata = .; /* Start of rw data section */
48
RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE)
49
_edata = .;
50
51
/* might get freed after init */
52
. = ALIGN(PAGE_SIZE);
53
.smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
54
__smp_locks = .;
55
*(.smp_locks)
56
__smp_locks_end = .;
57
}
58
59
/* will be freed after init */
60
. = ALIGN(PAGE_SIZE); /* Init code and data */
61
__init_begin = .;
62
INIT_TEXT_SECTION(PAGE_SIZE)
63
INIT_DATA_SECTION(16)
64
. = ALIGN(4);
65
__alt_instructions = .;
66
.altinstructions : { *(.altinstructions) }
67
__alt_instructions_end = .;
68
.altinstr_replacement : { *(.altinstr_replacement) }
69
/* .exit.text is discard at runtime, not link time, to deal with references
70
from .altinstructions and .eh_frame */
71
.exit.text : { EXIT_TEXT; }
72
.exit.data : { EXIT_DATA; }
73
74
PERCPU_SECTION(32)
75
. = ALIGN(PAGE_SIZE);
76
__init_end = .;
77
/* freed after init ends here */
78
79
BSS_SECTION(0, PAGE_SIZE, 4)
80
81
_end = . ;
82
83
/* This is where the kernel creates the early boot page tables */
84
. = ALIGN(PAGE_SIZE);
85
pg0 = .;
86
87
STABS_DEBUG
88
89
DWARF_DEBUG
90
91
/* Sections to be discarded */
92
DISCARDS
93
}
94
95