From: Dave Kleikamp Date: Thu, 11 Sep 2014 16:15:22 +0000 (-0700) Subject: reserve memory for elfcorehdr X-Git-Tag: v4.1.12-92~147^2~3^2~4 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=420896c7cbc75200a0ae46812ea8476db6f6f525;p=users%2Fjedix%2Flinux-maple.git reserve memory for elfcorehdr Signed-off-by: Dave Kleikamp --- diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index 834bbe981e0cb..97900c2c3fd92 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -285,6 +286,21 @@ static void __init move_shim_initrd(void) {} static void kexec_unmap_shim(void) {} #endif /* CONFIG_KEXEC */ +#ifdef CONFIG_CRASH_DUMP +static void __init sparc64_reserve_elfcorehdr(void) +{ + unsigned long elfcorehdr_size; + + if (is_kdump_kernel()) { + elfcorehdr_size = sparc_crash_base + sparc_crash_size - + elfcorehdr_addr; + memblock_reserve(elfcorehdr_addr, elfcorehdr_size); + } +} +#else +static void __init sparc64_reserve_elfcorehdr(void) {} +#endif /* CONFIG_CRASH_DUMP */ + #ifdef CONFIG_DEBUG_DCFLUSH atomic_t dcpage_flushes = ATOMIC_INIT(0); #ifdef CONFIG_SMP @@ -2344,6 +2360,7 @@ void __init paging_init(void) memblock_add(sparc_crash_base, sparc_crash_size); memblock_reserve(kern_base, kern_size); + sparc64_reserve_elfcorehdr(); find_ramdisk(phys_base);