Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f750a9e5 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Revert "Revert "x86/mm: Identify the end of the kernel area to be reserved""



This reverts commit 307cefb8 which was a
revert of c603a309 from upstream.

Yes, this breaks the build when using the gold linker for x86, but
upstream has now blacklisted that linker so trying to work around this
by reverting random patches is not going to be a viable solution.

So revert this commit, and deal with the fallout in the build system by
fixing the build infra properly.

Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
Change-Id: Iae2155c02cd5d6a7981e0151e22f024dc6d4f86b
parent 7db4b737
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -13,4 +13,6 @@ extern char __end_rodata_aligned[];
extern char __end_rodata_hpage_align[];
#endif

extern char __end_of_kernel_reserve[];

#endif	/* _ASM_X86_SECTIONS_H */
+7 −1
Original line number Diff line number Diff line
@@ -836,8 +836,14 @@ dump_kernel_offset(struct notifier_block *self, unsigned long v, void *p)

void __init setup_arch(char **cmdline_p)
{
	/*
	 * Reserve the memory occupied by the kernel between _text and
	 * __end_of_kernel_reserve symbols. Any kernel sections after the
	 * __end_of_kernel_reserve symbol must be explicitly reserved with a
	 * separate memblock_reserve() or they will be discarded.
	 */
	memblock_reserve(__pa_symbol(_text),
			 (unsigned long)__bss_stop - (unsigned long)_text);
			 (unsigned long)__end_of_kernel_reserve - (unsigned long)_text);

	/*
	 * Make sure page 0 is always reserved because on systems with
+8 −1
Original line number Diff line number Diff line
@@ -368,6 +368,14 @@ SECTIONS
		__bss_stop = .;
	}

	/*
	 * The memory occupied from _text to here, __end_of_kernel_reserve, is
	 * automatically reserved in setup_arch(). Anything after here must be
	 * explicitly reserved using memblock_reserve() or it will be discarded
	 * and treated as available memory.
	 */
	__end_of_kernel_reserve = .;

	. = ALIGN(PAGE_SIZE);
	.brk : AT(ADDR(.brk) - LOAD_OFFSET) {
		__brk_base = .;
@@ -407,7 +415,6 @@ SECTIONS
	STABS_DEBUG
	DWARF_DEBUG

	/* Sections to be discarded */
	DISCARDS
	/DISCARD/ : {
		*(.eh_frame)