Re: [PATCH] MIPS: kexec: Add crashkernel=YM handling

From: Thomas Bogendoerfer
Date: Mon Sep 21 2020 - 17:53:12 EST


On Sat, Sep 19, 2020 at 09:55:46AM +0800, Youling Tang wrote:
> When the kernel crashkernel parameter is specified with just a size,
> we are supposed to allocate a region from RAM to store the crashkernel.
> However, MIPS merely reserves physical address zero with no checking
> that there is even RAM there.
>
> Fix this by lifting similar code from x86, importing it to MIPS with the
> MIPS specific parameters added. In the absence of any platform specific
> information, we allocate the crashkernel region from the first 512MB of
> physical memory (limited to CKSEG0 or KSEG0 address range).
>
> When X is not specified, crash_base defaults to 0 (crashkernel=YM@XM).
>
> E.g. without this patch:
>
> The environment as follows:
> [ 0.000000] MIPS: machine is loongson,loongson64c-4core-ls7a
> ...
> [ 0.000000] Kernel command line: root=/dev/sda2 crashkernel=96M ...
>
> The warning as follows:
> [ 0.000000] Invalid memory region reserved for crash kernel
>
> And the iomem as follows:
> 00200000-0effffff : System RAM
> 00200000-00b47f87 : Kernel code
> 00b47f88-00dfffff : Kernel data
> 00e60000-01f73c7f : Kernel bss
> 1a000000-1bffffff : pci@1a000000
> ...
>
> With this patch:
>
> After increasing crash_base <= 0 handling.
>
> And the iomem as follows:
> 00200000-0effffff : System RAM
> 00200000-00b47f87 : Kernel code
> 00b47f88-00dfffff : Kernel data
> 00e60000-01f73c7f : Kernel bss
> 04000000-09ffffff : Crash kernel
> 1a000000-1bffffff : pci@1a000000
> ...
>
> Signed-off-by: Youling Tang <tangyouling@xxxxxxxxxxx>
> ---
> arch/mips/kernel/setup.c | 24 +++++++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)

applied to mips-next.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]