On 08/22/24 at 09:33am, John Paul Adrian Glaubitz wrote: > Hi Baoquan, > > On Wed, 2024-01-24 at 13:12 +0800, Baoquan He wrote: > > By splitting CRASH_RESERVE and VMCORE_INFO out from CRASH_CORE, cleaning > > up the dependency of FA_DMUMP on CRASH_DUMP, and moving crash codes from > > kexec_core.c to crash_core.c, now we can rearrange CRASH_DUMP to > > depend on KEXEC_CORE, and make CRASH_DUMP select CRASH_RESERVE and > > VMCORE_INFO. > > > > KEXEC_CORE won't select CRASH_RESERVE and VMCORE_INFO any more because > > KEXEC_CORE enables codes which allocate control pages, copy > > kexec/kdump segments, and prepare for switching. These codes are shared > > by both kexec reboot and crash dumping. > > > > Doing this makes codes and the corresponding config items more > > logical (the right item depends on or is selected by the left item). > > > > PROC_KCORE -----------> VMCORE_INFO > > > > |----------> VMCORE_INFO > > FA_DUMP----| > > |----------> CRASH_RESERVE > > > > ---->VMCORE_INFO > > / > > |---->CRASH_RESERVE > > KEXEC --| /| > > |--> KEXEC_CORE--> CRASH_DUMP-->/-|---->PROC_VMCORE > > KEXEC_FILE --| \ | > > \---->CRASH_HOTPLUG > > > > KEXEC --| > > |--> KEXEC_CORE--> kexec reboot > > KEXEC_FILE --| > > > > Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> > > --- > > kernel/Kconfig.kexec | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/kernel/Kconfig.kexec b/kernel/Kconfig.kexec > > index 8faf27043432..6c34e63c88ff 100644 > > --- a/kernel/Kconfig.kexec > > +++ b/kernel/Kconfig.kexec > > @@ -9,8 +9,6 @@ config VMCORE_INFO > > bool > > > > config KEXEC_CORE > > - select VMCORE_INFO > > - select CRASH_RESERVE > > bool > > > > config KEXEC_ELF > > @@ -99,8 +97,11 @@ config KEXEC_JUMP > > > > config CRASH_DUMP > > bool "kernel crash dumps" > > + default y > > depends on ARCH_SUPPORTS_CRASH_DUMP > > - select KEXEC_CORE > > + depends on KEXEC_CORE > > + select VMCORE_INFO > > + select CRASH_RESERVE > > help > > Generate crash dump after being started by kexec. > > This should be normally only set in special crash dump kernels > > The change to enable CONFIG_CRASH_DUMP by default apparently broke the boot > on 32-bit Power Macintosh systems which fail after GRUB with: > > "Error: You can't boot a kdump kernel from OF!" > > We may have to turn this off for 32-bit Power Macintosh systems. > > See this thread on debian-powerpc ML: https://lists.debian.org/debian-powerpc/2024/07/msg00001.html If so, fix need be made. We may need change in ARCH_SUPPORTS_CRASH_DUMP of ppc, can you or anyone post a patch? I don't know how to identify 32-bit Power Macintosh. arch/powerpc/Kconfig: === config ARCH_SUPPORTS_CRASH_DUMP def_bool PPC64 || PPC_BOOK3S_32 || PPC_85xx || (44x && !SMP) config ARCH_SELECTS_CRASH_DUMP def_bool y depends on CRASH_DUMP select RELOCATABLE if PPC64 || 44x || PPC_85xx ...... config PHYSICAL_START hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL default "0x02000000" if PPC_BOOK3S && CRASH_DUMP && !NONSTATIC_KERNEL default "0x00000000"