]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - arch/mn10300/kernel/vmlinux.lds.S
nmi_backtrace: generate one-line reports for idle cpus
[mirror_ubuntu-hirsute-kernel.git] / arch / mn10300 / kernel / vmlinux.lds.S
1 /* MN10300 Main kernel linker script
2 *
3 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com)
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 CPUIDLE_TEXT
34 LOCK_TEXT
35 KPROBES_TEXT
36 *(.fixup)
37 *(.gnu.warning)
38 } = 0xcb
39
40 _etext = .; /* End of text section */
41
42 EXCEPTION_TABLE(16)
43 BUG_TABLE
44
45 RO_DATA(PAGE_SIZE)
46
47 /* writeable */
48 _sdata = .; /* Start of rw data section */
49 RW_DATA_SECTION(32, PAGE_SIZE, THREAD_SIZE)
50 _edata = .;
51
52 /* might get freed after init */
53 . = ALIGN(PAGE_SIZE);
54 .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
55 __smp_locks = .;
56 *(.smp_locks)
57 __smp_locks_end = .;
58 }
59
60 /* will be freed after init */
61 . = ALIGN(PAGE_SIZE); /* Init code and data */
62 __init_begin = .;
63 INIT_TEXT_SECTION(PAGE_SIZE)
64 INIT_DATA_SECTION(16)
65 . = ALIGN(4);
66 __alt_instructions = .;
67 .altinstructions : { *(.altinstructions) }
68 __alt_instructions_end = .;
69 .altinstr_replacement : { *(.altinstr_replacement) }
70 /* .exit.text is discard at runtime, not link time, to deal with references
71 from .altinstructions and .eh_frame */
72 .exit.text : { EXIT_TEXT; }
73 .exit.data : { EXIT_DATA; }
74
75 PERCPU_SECTION(32)
76 . = ALIGN(PAGE_SIZE);
77 __init_end = .;
78 /* freed after init ends here */
79
80 BSS_SECTION(0, PAGE_SIZE, 4)
81
82 _end = . ;
83
84 /* This is where the kernel creates the early boot page tables */
85 . = ALIGN(PAGE_SIZE);
86 pg0 = .;
87
88 STABS_DEBUG
89
90 DWARF_DEBUG
91
92 /* Sections to be discarded */
93 DISCARDS
94 }