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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 ]



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux