Merge tag 'pinctrl-v4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[sfrench/cifs-2.6.git] / arch / alpha / kernel / vmlinux.lds.S
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <asm-generic/vmlinux.lds.h>
3 #include <asm/thread_info.h>
4 #include <asm/cache.h>
5 #include <asm/page.h>
6 #include <asm/setup.h>
7
8 OUTPUT_FORMAT("elf64-alpha")
9 OUTPUT_ARCH(alpha)
10 ENTRY(__start)
11 PHDRS { kernel PT_LOAD; note PT_NOTE; }
12 jiffies = jiffies_64;
13 SECTIONS
14 {
15 #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
16         . = 0xfffffc0000310000;
17 #else
18         . = 0xfffffc0001010000;
19 #endif
20
21         _text = .;      /* Text and read-only data */
22         .text : {
23                 HEAD_TEXT
24                 TEXT_TEXT
25                 SCHED_TEXT
26                 CPUIDLE_TEXT
27                 LOCK_TEXT
28                 *(.fixup)
29                 *(.gnu.warning)
30         } :kernel
31         swapper_pg_dir = SWAPPER_PGD;
32         _etext = .;     /* End of text section */
33
34         NOTES :kernel :note
35         .dummy : {
36                 *(.dummy)
37         } :kernel
38
39         RODATA
40         EXCEPTION_TABLE(16)
41
42         /* Will be freed after init */
43         __init_begin = ALIGN(PAGE_SIZE);
44         INIT_TEXT_SECTION(PAGE_SIZE)
45         INIT_DATA_SECTION(16)
46         PERCPU_SECTION(L1_CACHE_BYTES)
47         /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page
48            needed for the THREAD_SIZE aligned init_task gets freed after init */
49         . = ALIGN(THREAD_SIZE);
50         __init_end = .;
51         /* Freed after init ends here */
52
53         _sdata = .;     /* Start of rw data section */
54         _data = .;
55         RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
56
57         .got : {
58                 *(.got)
59         }
60         .sdata : {
61                 *(.sdata)
62         }
63         _edata = .;     /* End of data section */
64
65         BSS_SECTION(0, 0, 0)
66         _end = .;
67
68         .mdebug 0 : {
69                 *(.mdebug)
70         }
71         .note 0 : {
72                 *(.note)
73         }
74
75         STABS_DEBUG
76         DWARF_DEBUG
77
78         DISCARDS
79 }