mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 14:04:54 +02:00
Revert "Revert "x86/mm: Identify the end of the kernel area to be reserved""
This reverts commit307cefb8d9which was a revert ofc603a309ccfrom 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: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Iae2155c02cd5d6a7981e0151e22f024dc6d4f86b
This commit is contained in:
parent
7db4b737f6
commit
f750a9e5b2
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user