arm64: kexec: remove cpu-reset.h
authorPasha Tatashin <pasha.tatashin@soleen.com>
Thu, 30 Sep 2021 14:31:12 +0000 (14:31 +0000)
committerWill Deacon <will@kernel.org>
Fri, 1 Oct 2021 12:31:00 +0000 (13:31 +0100)
This header contains only cpu_soft_restart() which is never used directly
anymore. So, remove this header, and rename the helper to be
cpu_soft_restart().

Suggested-by: James Morse <james.morse@arm.com>
Signed-off-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210930143113.1502553-15-pasha.tatashin@soleen.com
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/kexec.h
arch/arm64/kernel/cpu-reset.S
arch/arm64/kernel/cpu-reset.h [deleted file]
arch/arm64/kernel/machine_kexec.c

index dca6dedc3b2561d5adc946324c8475792e202614..9839bfc163d714799bb85d53b31095e9439bb79b 100644 (file)
@@ -90,6 +90,12 @@ static inline void crash_prepare_suspend(void) {}
 static inline void crash_post_resume(void) {}
 #endif
 
+#if defined(CONFIG_KEXEC_CORE)
+void cpu_soft_restart(unsigned long el2_switch, unsigned long entry,
+                     unsigned long arg0, unsigned long arg1,
+                     unsigned long arg2);
+#endif
+
 #define ARCH_HAS_KIMAGE_ARCH
 
 struct kimage_arch {
index d47ff63a5b66491bcde9200abfadac370395fa05..48a8af97faa9ab32eb9d29374bb7ca88288fe75f 100644 (file)
@@ -16,8 +16,7 @@
 .pushsection    .idmap.text, "awx"
 
 /*
- * __cpu_soft_restart(el2_switch, entry, arg0, arg1, arg2) - Helper for
- * cpu_soft_restart.
+ * cpu_soft_restart(el2_switch, entry, arg0, arg1, arg2)
  *
  * @el2_switch: Flag to indicate a switch to EL2 is needed.
  * @entry: Location to jump to for soft reset.
@@ -29,7 +28,7 @@
  * branch to what would be the reset vector. It must be executed with the
  * flat identity mapping.
  */
-SYM_CODE_START(__cpu_soft_restart)
+SYM_CODE_START(cpu_soft_restart)
        mov_q   x12, INIT_SCTLR_EL1_MMU_OFF
        pre_disable_mmu_workaround
        /*
@@ -48,6 +47,6 @@ SYM_CODE_START(__cpu_soft_restart)
        mov     x1, x3                          // arg1
        mov     x2, x4                          // arg2
        br      x8
-SYM_CODE_END(__cpu_soft_restart)
+SYM_CODE_END(cpu_soft_restart)
 
 .popsection
diff --git a/arch/arm64/kernel/cpu-reset.h b/arch/arm64/kernel/cpu-reset.h
deleted file mode 100644 (file)
index 296abba..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * CPU reset routines
- *
- * Copyright (C) 2015 Huawei Futurewei Technologies.
- */
-
-#ifndef _ARM64_CPU_RESET_H
-#define _ARM64_CPU_RESET_H
-
-#include <asm/virt.h>
-
-void __cpu_soft_restart(unsigned long el2_switch, unsigned long entry,
-       unsigned long arg0, unsigned long arg1, unsigned long arg2);
-
-static inline void __noreturn __nocfi cpu_soft_restart(unsigned long entry,
-                                                      unsigned long arg0,
-                                                      unsigned long arg1,
-                                                      unsigned long arg2)
-{
-       typeof(__cpu_soft_restart) *restart;
-
-       restart = (void *)__pa_symbol(function_nocfi(__cpu_soft_restart));
-
-       cpu_install_idmap();
-       restart(0, entry, arg0, arg1, arg2);
-       unreachable();
-}
-
-#endif
index 559d47a3c59c10d4d2d444cd785877a087a84e52..1038494135c8cef847829ebcf43b6fa58d596770 100644 (file)
@@ -24,8 +24,6 @@
 #include <asm/sections.h>
 #include <asm/trans_pgd.h>
 
-#include "cpu-reset.h"
-
 /**
  * kexec_image_info - For debugging output.
  */
@@ -201,10 +199,10 @@ void machine_kexec(struct kimage *kimage)
         * In kexec_file case, the kernel starts directly without purgatory.
         */
        if (kimage->head & IND_DONE) {
-               typeof(__cpu_soft_restart) *restart;
+               typeof(cpu_soft_restart) *restart;
 
                cpu_install_idmap();
-               restart = (void *)__pa_symbol(function_nocfi(__cpu_soft_restart));
+               restart = (void *)__pa_symbol(function_nocfi(cpu_soft_restart));
                restart(is_hyp_nvhe(), kimage->start, kimage->arch.dtb_mem,
                        0, 0);
        } else {