arm64: kexec: make dtb_mem always enabled
authorPavel Tatashin <pasha.tatashin@soleen.com>
Mon, 25 Jan 2021 19:19:06 +0000 (14:19 -0500)
committerWill Deacon <will@kernel.org>
Wed, 27 Jan 2021 15:41:11 +0000 (15:41 +0000)
Currently, dtb_mem is enabled only when CONFIG_KEXEC_FILE is
enabled. This adds ugly ifdefs to c files.

Always enabled dtb_mem, when it is not used, it is NULL.
Change the dtb_mem to phys_addr_t, as it is a physical address.

Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
Reviewed-by: James Morse <james.morse@arm.com>
Link: https://lore.kernel.org/r/20210125191923.1060122-2-pasha.tatashin@soleen.com
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/kexec.h
arch/arm64/kernel/machine_kexec.c

index d24b527..61530ec 100644 (file)
@@ -90,18 +90,18 @@ static inline void crash_prepare_suspend(void) {}
 static inline void crash_post_resume(void) {}
 #endif
 
-#ifdef CONFIG_KEXEC_FILE
 #define ARCH_HAS_KIMAGE_ARCH
 
 struct kimage_arch {
        void *dtb;
-       unsigned long dtb_mem;
+       phys_addr_t dtb_mem;
        /* Core ELF header buffer */
        void *elf_headers;
        unsigned long elf_headers_mem;
        unsigned long elf_headers_sz;
 };
 
+#ifdef CONFIG_KEXEC_FILE
 extern const struct kexec_file_ops kexec_image_ops;
 
 struct kimage;
index a0b144c..8096a6a 100644 (file)
@@ -204,11 +204,7 @@ void machine_kexec(struct kimage *kimage)
         * In kexec_file case, the kernel starts directly without purgatory.
         */
        cpu_soft_restart(reboot_code_buffer_phys, kimage->head, kimage->start,
-#ifdef CONFIG_KEXEC_FILE
-                                               kimage->arch.dtb_mem);
-#else
-                                               0);
-#endif
+                        kimage->arch.dtb_mem);
 
        BUG(); /* Should never get here. */
 }