[PATCH v4 3/3] ARM: Use generic interface to simplify crashkernel reservation
Jinjie Ruan
ruanjinjie at huawei.com
Sun Jul 21 18:52:02 PDT 2024
On 2024/7/22 9:38, Baoquan He wrote:
> On 07/19/24 at 05:57pm, Jinjie Ruan wrote:
>> Currently, x86, arm64, riscv and loongarch has been switched to generic
>> crashkernel reservation, which is also ready for 32bit system.
>> So with the help of function parse_crashkernel() and generic
>> reserve_crashkernel_generic(), arm32 crashkernel reservation can also
>> be simplified by steps:
>>
>> 1) Add a new header file <asm/crash_reserve.h>, and define CRASH_ALIGN,
>> CRASH_ADDR_LOW_MAX, CRASH_ADDR_HIGH_MAX in it;
>>
>> 2) Add arch_reserve_crashkernel() to call parse_crashkernel() and
>> reserve_crashkernel_generic();
>>
>> 3) Add ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION Kconfig in
>> arch/arm/Kconfig.
>>
>> The old reserve_crashkernel() can be removed.
>>
>> Following test cases have been performed as expected on QEMU vexpress-a9
>> (1GB system memory):
>>
>> 1) crashkernel=4G,high // invalid
>> 2) crashkernel=1G,high // invalid
>> 3) crashkernel=1G,high crashkernel=0M,low // invalid
>> 4) crashkernel=256M,high // invalid
>> 5) crashkernel=256M,low // invalid
>> 6) crashkernel=256M crashkernel=256M,high // high is ignored, ok
>> 7) crashkernel=256M crashkernel=256M,low // low is ignored, ok
>> 8) crashkernel=256M,high crashkernel=256M,low // invalid
>> 9) crashkernel=256M,high crashkernel=4G,low // invalid
>> 10) crashkernel=256M // ok
>> 11) crashkernel=512M // ok
>> 12) crashkernel=256M at 0x88000000 // ok
>> 13) crashkernel=256M at 0x78000000 // ok
>> 14) crashkernel=512M at 0x78000000 // ok
>>
>> Signed-off-by: Jinjie Ruan <ruanjinjie at huawei.com>
>> ---
>> v4:
>> - Remove the Tested-by as suggested.
>> v3:
>> - Update the commit message.
>> ---
>> arch/arm/Kconfig | 3 ++
>> arch/arm/include/asm/crash_reserve.h | 24 +++++++++++
>> arch/arm/kernel/setup.c | 63 ++++------------------------
>> 3 files changed, 36 insertions(+), 54 deletions(-)
>> create mode 100644 arch/arm/include/asm/crash_reserve.h
>
> LGTM,
>
> Acked-by: Baoquan He <bhe at redhat.com>
>
> By the way, you may need respost the parsed crashkernel value limitation
> checking patch for arm32 and i386.
Thank you for the kind reminder. I'll rebase and resend it later.
>
>
More information about the kexec
mailing list