On 08/13/25 at 07:24pm, Brian Mak wrote: > On Aug 12, 2025, at 8:54 PM, Dave Young <dyo...@redhat.com> wrote: > > > Hi, The #ifdef CONFIG_* which can be replaced by #if defined(), but I > > do not have a strong opinion. other than that do you have kexec-tools > > patch ready? It would be better to provide a link so that people can > > try and test it. > > Hi Dave, > > Thanks for looking at this! The #ifdef CONFIG_* is used, as it matches > the style of other ifdefs in this file. I'd like to keep it as-is for > consistency. > > I do have a prototype kexec-tools patch ready for testing. The changes > can be found at this repo: > > https://github.com/makb-juniper/kexec-tools.git > > I've also placed the diff below.
Thanks, I will apply your patch and take a test. Usually, Andrew will merge kexec/kdump patch if the patch is OK to him. I will add comment if I have concern. Otherwise, I don't want Andrew to bother to add my ACK. > > diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h > index 9b17578..8419b23 100644 > --- a/kexec/kexec-syscall.h > +++ b/kexec/kexec-syscall.h > @@ -124,6 +124,8 @@ static inline long kexec_file_load(int kernel_fd, int > initrd_fd, > #define KEXEC_FILE_ON_CRASH 0x00000002 > #define KEXEC_FILE_NO_INITRAMFS 0x00000004 > #define KEXEC_FILE_DEBUG 0x00000008 > +#define KEXEC_FILE_NO_CMA 0x00000010 > +#define KEXEC_FILE_FORCE_DTB 0x00000020 > > /* These values match the ELF architecture values. > * Unless there is a good reason that should continue to be the case. > diff --git a/kexec/kexec.c b/kexec/kexec.c > index 6bf12d7..0e13b6b 100644 > --- a/kexec/kexec.c > +++ b/kexec/kexec.c > @@ -1102,6 +1102,7 @@ void usage(void) > " --hotplug Do in-kernel update of kexec segments on > CPU/Memory\n" > " hot add/remove events, avoiding the need > to reload\n" > " kdump kernel on online/offline events.\n" > + " --force-dtb Carry over the current boot's device tree > blob (x86 only).\n" > " -d, --debug Enable debugging to help spot a > failure.\n" > " -S, --status Return 1 if the type (by default crash) > is loaded,\n" > " 0 if not.\n" > @@ -1640,6 +1641,9 @@ int main(int argc, char *argv[]) > case OPT_HOTPLUG: > do_hotplug = 1; > break; > + case OPT_FORCE_DTB: > + kexec_file_flags |= KEXEC_FILE_FORCE_DTB; > + break; > default: > break; > } > diff --git a/kexec/kexec.h b/kexec/kexec.h > index a2e19c4..2235aa2 100644 > --- a/kexec/kexec.h > +++ b/kexec/kexec.h > @@ -235,7 +235,8 @@ extern int file_types; > #define OPT_LOAD_LIVE_UPDATE 263 > #define OPT_EXEC_LIVE_UPDATE 264 > #define OPT_HOTPLUG 265 > -#define OPT_MAX 266 > +#define OPT_FORCE_DTB 266 > +#define OPT_MAX 267 > #define KEXEC_OPTIONS \ > { "help", 0, 0, OPT_HELP }, \ > { "version", 0, 0, OPT_VERSION }, \ > @@ -263,6 +264,7 @@ extern int file_types; > { "status", 0, 0, OPT_STATUS }, \ > { "print-ckr-size", 0, 0, OPT_PRINT_CKR_SIZE }, \ > { "hotplug", 0, 0, OPT_HOTPLUG }, \ > + { "force-dtb", 0, 0, OPT_FORCE_DTB }, \ > > #define KEXEC_OPT_STR "h?vdfixyluet:pscaS" > > > base-commit: daa29443819d3045338792b5ba950ed90e79d7a5 > -- > 2.25.1 >