vmlinux.lds.S (ffb1e76f4f32d2b8ea4189df0484980370476395) vmlinux.lds.S (19a046f07ce5a5c34ebb6432192d98cfdb38444f)
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * ld script to make ARM Linux kernel
4 * taken from the i386 version by Russell King
5 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
6 */
7
8#include <asm/hyp_image.h>

--- 49 unchanged lines hidden (view full) ---

58#endif
59
60#define RO_EXCEPTION_TABLE_ALIGN 8
61#define RUNTIME_DISCARD_EXIT
62
63#include <asm-generic/vmlinux.lds.h>
64#include <asm/cache.h>
65#include <asm/kernel-pgtable.h>
1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * ld script to make ARM Linux kernel
4 * taken from the i386 version by Russell King
5 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
6 */
7
8#include <asm/hyp_image.h>

--- 49 unchanged lines hidden (view full) ---

58#endif
59
60#define RO_EXCEPTION_TABLE_ALIGN 8
61#define RUNTIME_DISCARD_EXIT
62
63#include <asm-generic/vmlinux.lds.h>
64#include <asm/cache.h>
65#include <asm/kernel-pgtable.h>
66#include <asm/kexec.h>
66#include <asm/memory.h>
67#include <asm/page.h>
68
69#include "image.h"
70
71OUTPUT_ARCH(aarch64)
72ENTRY(_text)
73

--- 21 unchanged lines hidden (view full) ---

95 . = ALIGN(SZ_4K); \
96 __hibernate_exit_text_start = .; \
97 *(.hibernate_exit.text) \
98 __hibernate_exit_text_end = .;
99#else
100#define HIBERNATE_TEXT
101#endif
102
67#include <asm/memory.h>
68#include <asm/page.h>
69
70#include "image.h"
71
72OUTPUT_ARCH(aarch64)
73ENTRY(_text)
74

--- 21 unchanged lines hidden (view full) ---

96 . = ALIGN(SZ_4K); \
97 __hibernate_exit_text_start = .; \
98 *(.hibernate_exit.text) \
99 __hibernate_exit_text_end = .;
100#else
101#define HIBERNATE_TEXT
102#endif
103
104#ifdef CONFIG_KEXEC_CORE
105#define KEXEC_TEXT \
106 . = ALIGN(SZ_4K); \
107 __relocate_new_kernel_start = .; \
108 *(.kexec_relocate.text) \
109 __relocate_new_kernel_end = .;
110#else
111#define KEXEC_TEXT
112#endif
113
103#ifdef CONFIG_UNMAP_KERNEL_AT_EL0
104#define TRAMP_TEXT \
105 . = ALIGN(PAGE_SIZE); \
106 __entry_tramp_text_start = .; \
107 *(.entry.tramp.text) \
108 . = ALIGN(PAGE_SIZE); \
109 __entry_tramp_text_end = .;
110#else

--- 44 unchanged lines hidden (view full) ---

155 TEXT_TEXT
156 SCHED_TEXT
157 CPUIDLE_TEXT
158 LOCK_TEXT
159 KPROBES_TEXT
160 HYPERVISOR_TEXT
161 IDMAP_TEXT
162 HIBERNATE_TEXT
114#ifdef CONFIG_UNMAP_KERNEL_AT_EL0
115#define TRAMP_TEXT \
116 . = ALIGN(PAGE_SIZE); \
117 __entry_tramp_text_start = .; \
118 *(.entry.tramp.text) \
119 . = ALIGN(PAGE_SIZE); \
120 __entry_tramp_text_end = .;
121#else

--- 44 unchanged lines hidden (view full) ---

166 TEXT_TEXT
167 SCHED_TEXT
168 CPUIDLE_TEXT
169 LOCK_TEXT
170 KPROBES_TEXT
171 HYPERVISOR_TEXT
172 IDMAP_TEXT
173 HIBERNATE_TEXT
174 KEXEC_TEXT
163 TRAMP_TEXT
164 *(.fixup)
165 *(.gnu.warning)
166 . = ALIGN(16);
167 *(.got) /* Global offset table */
168 }
169
170 /*

--- 172 unchanged lines hidden (view full) ---

343
344ASSERT(swapper_pg_dir - reserved_pg_dir == RESERVED_SWAPPER_OFFSET,
345 "RESERVED_SWAPPER_OFFSET is wrong!")
346
347#ifdef CONFIG_UNMAP_KERNEL_AT_EL0
348ASSERT(swapper_pg_dir - tramp_pg_dir == TRAMP_SWAPPER_OFFSET,
349 "TRAMP_SWAPPER_OFFSET is wrong!")
350#endif
175 TRAMP_TEXT
176 *(.fixup)
177 *(.gnu.warning)
178 . = ALIGN(16);
179 *(.got) /* Global offset table */
180 }
181
182 /*

--- 172 unchanged lines hidden (view full) ---

355
356ASSERT(swapper_pg_dir - reserved_pg_dir == RESERVED_SWAPPER_OFFSET,
357 "RESERVED_SWAPPER_OFFSET is wrong!")
358
359#ifdef CONFIG_UNMAP_KERNEL_AT_EL0
360ASSERT(swapper_pg_dir - tramp_pg_dir == TRAMP_SWAPPER_OFFSET,
361 "TRAMP_SWAPPER_OFFSET is wrong!")
362#endif
363
364#ifdef CONFIG_KEXEC_CORE
365/* kexec relocation code should fit into one KEXEC_CONTROL_PAGE_SIZE */
366ASSERT(__relocate_new_kernel_end - (__relocate_new_kernel_start & ~(SZ_4K - 1))
367 <= SZ_4K, "kexec relocation code is too big or misaligned")
368ASSERT(KEXEC_CONTROL_PAGE_SIZE >= SZ_4K, "KEXEC_CONTROL_PAGE_SIZE is broken")
369#endif