[PATCH 1/3] MIPS: Crash kernel should be able to see old memories
Jinyang He
hejinyang at loongson.cn
Tue Sep 22 23:02:20 EDT 2020
On 09/23/2020 10:30 AM, Huacai Chen wrote:
> Kexec-tools use mem=X at Y to pass usable memories to crash kernel, but in
> commit a94e4f24ec836c8984f83959 ("MIPS: init: Drop boot_mem_map") all
> BIOS passed memories are removed by early_parse_mem(). I think this is
> reasonable for a normal kernel but not for a crash kernel, because a
> crash kernel should be able to see all old memories, even though it is
> not supposed to use them.
>
> Fixes: a94e4f24ec836c8984f83959 ("MIPS: init: Drop boot_mem_map")
> Signed-off-by: Huacai Chen <chenhc at lemote.com>
> ---
> arch/mips/kernel/setup.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
> index 4c04a86..e2804a2 100644
> --- a/arch/mips/kernel/setup.c
> +++ b/arch/mips/kernel/setup.c
> @@ -392,8 +392,10 @@ static int __init early_parse_mem(char *p)
> */
> if (usermem == 0) {
> usermem = 1;
> +#ifndef CONFIG_CRASH_DUMP
> memblock_remove(memblock_start_of_DRAM(),
> memblock_end_of_DRAM() - memblock_start_of_DRAM());
> +#endif
Hi, Huacai,
For this patch, I knew something what had happened. "mem=" parsing
works wrong for Loongson64. You can referenced the follow patch:
https://patchwork.kernel.org/patch/11789555/
memblock_add() calls memblock_add_range(,,, MAX_NUMNODES,)
For Loongson64 enabling NUMA, we need memblock_add_node(). (Or
using memblock_set_node() after memblock_add())
Besides, "mem=" may be useless for kdump. Youling had submitted a patch
about removing "mem=" serveral days ago.
For Loongson64 platform, you can try crashkernel=SIZE at 38M after fixed
"mem=".
38M means 40M - 2M, 2M is needed because old firmware compatibility.
Thanks,
- Jinyang.
> }
> start = 0;
> size = memparse(p, &p);
More information about the kexec
mailing list