[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