kexec: Move ELF fields to struct kimage
authorLakshmi Ramasubramanian <nramas@linux.microsoft.com>
Sun, 21 Feb 2021 17:49:18 +0000 (09:49 -0800)
committerRob Herring <robh@kernel.org>
Mon, 8 Mar 2021 19:06:28 +0000 (12:06 -0700)
ELF related fields elf_headers, elf_headers_sz, and elf_load_addr are
defined in architecture specific 'struct kimage_arch' for x86, powerpc,
and arm64.  The name of these fields are different in these
architectures that makes it hard to have a common code for setting up
the device tree for kexec system call.

Move the ELF fields to 'struct kimage' defined in include/linux/kexec.h
so common code can use it.

Suggested-by: Rob Herring <robh@kernel.org>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Lakshmi Ramasubramanian <nramas@linux.microsoft.com>
Reviewed-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210221174930.27324-2-nramas@linux.microsoft.com
include/linux/kexec.h

index 8a7aa1d..0bfab39 100644 (file)
@@ -305,6 +305,11 @@ struct kimage {
        /* Virtual address of IMA measurement buffer for kexec syscall */
        void *ima_buffer;
 #endif
+
+       /* Core ELF header buffer */
+       void *elf_headers;
+       unsigned long elf_headers_sz;
+       unsigned long elf_load_addr;
 };
 
 /* kexec interface functions */