On 12/11/23 at 09:25am, Geert Uytterhoeven wrote: > Hi Baoquan, > > On Fri, Dec 8, 2023 at 8:43 AM Baoquan He <bhe@xxxxxxxxxx> wrote: > > Forgot adding kexec to CC, add it now. > > > > On 12/08/23 at 03:30pm, Baoquan He wrote: > > > The select of KEXEC for CRASH_DUMP in kernel/Kconfig.kexec will be > > > dropped, then compiling errors will be triggered if below config > > > items are set: > > > > > > === > > > CONFIG_CRASH_CORE=y > > > CONFIG_KEXEC_CORE=y > > > CONFIG_CRASH_DUMP=y > > > === > > > > > > E.g on mips, below link error are seen: > > > -------------------------------------------------------------------- > > > mipsel-linux-ld: kernel/kexec_core.o: in function `kimage_free': > > > kernel/kexec_core.c:(.text+0x2200): undefined reference to `machine_kexec_cleanup' > > > mipsel-linux-ld: kernel/kexec_core.o: in function `__crash_kexec': > > > kernel/kexec_core.c:(.text+0x2480): undefined reference to `machine_crash_shutdown' > > > mipsel-linux-ld: kernel/kexec_core.c:(.text+0x2488): undefined reference to `machine_kexec' > > > mipsel-linux-ld: kernel/kexec_core.o: in function `kernel_kexec': > > > kernel/kexec_core.c:(.text+0x29b8): undefined reference to `machine_shutdown' > > > mipsel-linux-ld: kernel/kexec_core.c:(.text+0x29c0): undefined reference to `machine_kexec' > > > -------------------------------------------------------------------- > > > > > > Here, change the incorrect dependency of building kexec_core related object > > > files, and the ifdeffery on architectures from CONFIG_KEXEC to > > > CONFIG_KEXEC_CORE. > > > > > > Testing: > > > ======== > > > Passed on mips and loognarch with the LKP reproducer. > > > > > > Baoquan He (5): > > > loongarch, kexec: change dependency of object files > > > m68k, kexec: fix the incorrect ifdeffery and build dependency of > > > CONFIG_KEXEC > > > mips, kexec: fix the incorrect ifdeffery and dependency of > > > CONFIG_KEXEC > > > sh, kexec: fix the incorrect ifdeffery and dependency of CONFIG_KEXEC > > > x86, kexec: fix the wrong ifdeffery CONFIG_KEXEC > > I understand this series is v3 of "[PATCH v2] kexec_core: change > dependency of object files"? As this series does not contain a > changelog, can you please summarize what was changed? > Thanks! Oh, sorry for the confusion. You are right, I should have taken this as v3 and posted to avoid confusion. I add below change log for this series, not sure if it's clearer than before. E.g for m68k, the <asm/kexec.h> is included in <linux/kexec.h>. The old ifdeffery CONFIG_KEXEC will cause those definitions in asm/kexec.h unseen if CONFIG_KEXEC is unset. See KEXEC_SOURCE_MEMORY_LIMIT, it's needed in kernel/kexec_core.c. Changelog: ------------ v2->v3: - Change the incorrect ifdeffery CONFIG_KEXEC in arch. Since select of KEXEC for CRASH_DUMP in kernel/Kconfig.kexec is dropped, people can set below config items dependently of CONFIG_KEXEC. Then those KEXEC_CORE or CRASH_CORE related codes compiling will report error. === CONFIG_CRASH_CORE=y CONFIG_KEXEC_CORE=y CONFIG_CRASH_DUMP=y === - Change the incorrect ifdeffery CONFIG_KEXEC in get_cmdline_acpi_rsdp() of x86 because kexec_file_load needs that too. v1->v2: - V1 only includes fix on loongarch. Add m68k, mips, sh fix in v2 too.