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@0x88000000 // ok > 13) crashkernel=256M@0x78000000 // ok > 14) crashkernel=512M@0x78000000 // ok > > Signed-off-by: Jinjie Ruan <ruanjinjie@xxxxxxxxxx> > --- > 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@xxxxxxxxxx> By the way, you may need respost the parsed crashkernel value limitation checking patch for arm32 and i386. _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec