Re: [PATCH v13 6/8] arm64: kdump: reimplement crashkernel=X
From: Baoquan He <hidden>
Date: 2020-11-11 13:57:04
Also in:
kexec, linux-doc, lkml
On 11/11/20 at 09:27pm, chenzhou wrote:
Hi Baoquan,
...
quoted
quoted
#ifdef CONFIG_CRASH_DUMP static int __init early_init_dt_scan_elfcorehdr(unsigned long node,diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c index 1c0f3e02f731..c55cee290bbb 100644 --- a/arch/arm64/mm/mmu.c +++ b/arch/arm64/mm/mmu.c@@ -488,6 +488,10 @@ static void __init map_mem(pgd_t *pgdp) */ memblock_mark_nomap(kernel_start, kernel_end - kernel_start); #ifdef CONFIG_KEXEC_CORE + if (crashk_low_res.end) + memblock_mark_nomap(crashk_low_res.start, + resource_size(&crashk_low_res)); + if (crashk_res.end) memblock_mark_nomap(crashk_res.start, resource_size(&crashk_res));diff --git a/kernel/crash_core.c b/kernel/crash_core.c index d39892bdb9ae..cdef7d8c91a6 100644 --- a/kernel/crash_core.c +++ b/kernel/crash_core.c@@ -321,7 +321,7 @@ int __init parse_crashkernel_low(char *cmdline, int __init reserve_crashkernel_low(void) { -#ifdef CONFIG_X86_64 +#if defined(CONFIG_X86_64) || defined(CONFIG_ARM64)Not very sure if a CONFIG_64BIT checking is better.If doing like this, there may be some compiling errors for other 64-bit kernel, such as mips.quoted
quoted
unsigned long long base, low_base = 0, low_size = 0; unsigned long low_mem_limit; int ret;@@ -362,12 +362,14 @@ int __init reserve_crashkernel_low(void) crashk_low_res.start = low_base; crashk_low_res.end = low_base + low_size - 1; +#ifdef CONFIG_X86_64 insert_resource(&iomem_resource, &crashk_low_res); +#endif #endif return 0; } -#ifdef CONFIG_X86 +#if defined(CONFIG_X86) || defined(CONFIG_ARM64)Should we make this weak default so that we can remove the ARCH config?The same as above, some arch may not support kdump, in that case, compiling errors occur.
OK, not sure if other people have better idea, oterwise, we can leave with it. Thanks for telling. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel