> > +struct kern_reloc_arg { > > + unsigned long head; > > + unsigned long entry_addr; > > + unsigned long kern_arg0; > > + unsigned long kern_arg1; > > + unsigned long kern_arg2; > > + unsigned long kern_arg3; > > ... at least one of these should by phys_addr_t! OK, changed them to phys_addr_t > > While the sizes are the same on arm64, this reminds the reader what kind of address this > is, and lets the compiler warn you if you make a mistake. OK > > > > +}; > > > diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c > > index 214685760e1c..900394907fd8 100644 > > --- a/arch/arm64/kernel/asm-offsets.c > > +++ b/arch/arm64/kernel/asm-offsets.c > > @@ -23,6 +23,7 @@ > > #include <asm/suspend.h> > > #include <linux/kbuild.h> > > #include <linux/arm-smccc.h> > > +#include <linux/kexec.h> > > > > int main(void) > > { > > @@ -126,6 +127,14 @@ int main(void) > > #ifdef CONFIG_ARM_SDE_INTERFACE > > DEFINE(SDEI_EVENT_INTREGS, offsetof(struct sdei_registered_event, interrupted_regs)); > > DEFINE(SDEI_EVENT_PRIORITY, offsetof(struct sdei_registered_event, priority)); > > +#endif > > +#ifdef CONFIG_KEXEC_CORE > > + DEFINE(KRELOC_HEAD, offsetof(struct kern_reloc_arg, head)); > > + DEFINE(KRELOC_ENTRY_ADDR, offsetof(struct kern_reloc_arg, entry_addr)); > > + DEFINE(KRELOC_KERN_ARG0, offsetof(struct kern_reloc_arg, kern_arg0)); > > + DEFINE(KRELOC_KERN_ARG1, offsetof(struct kern_reloc_arg, kern_arg1)); > > + DEFINE(KRELOC_KERN_ARG2, offsetof(struct kern_reloc_arg, kern_arg2)); > > + DEFINE(KRELOC_KERN_ARG3, offsetof(struct kern_reloc_arg, kern_arg3)); > > Please use kexec as the prefix. The kernel also applies relocations during early boot. > These are global values, and in isolation doesn't imply kexec. OK > > .align 3 /* To keep the 64-bit values below naturally aligned. */ > > - > > .Lcopy_end: > > .org KEXEC_CONTROL_PAGE_SIZE > > > > My eyes! > > Please don't make unnecessary changes. Its hard enough to read the assembly, moving > whitespace, comments and re-allocating the register guarantees that no-one can work out > what is happening. > > If something needs cleaning up to make the change obvious, it needs doing as a previous > patch. Mechanical changes are fairly easy to review. > Functional changes behind a whirlwind of mechanical changes will cause the reviewer to > give up. Sure, I have split this patch into several patches, and moved clean-ups into separate patches. Thank you, Pasha