Commit 7a2512fa authored by Pasha Tatashin's avatar Pasha Tatashin Committed by Will Deacon

arm64: kexec: remove cpu-reset.h

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: default avatarJames Morse <james.morse@arm.com>
Signed-off-by: default avatarPasha Tatashin <pasha.tatashin@soleen.com>
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210930143113.1502553-15-pasha.tatashin@soleen.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
parent 939f1b95
...@@ -90,6 +90,12 @@ static inline void crash_prepare_suspend(void) {} ...@@ -90,6 +90,12 @@ static inline void crash_prepare_suspend(void) {}
static inline void crash_post_resume(void) {} static inline void crash_post_resume(void) {}
#endif #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 #define ARCH_HAS_KIMAGE_ARCH
struct kimage_arch { struct kimage_arch {
......
...@@ -16,8 +16,7 @@ ...@@ -16,8 +16,7 @@
.pushsection .idmap.text, "awx" .pushsection .idmap.text, "awx"
/* /*
* __cpu_soft_restart(el2_switch, entry, arg0, arg1, arg2) - Helper for * cpu_soft_restart(el2_switch, entry, arg0, arg1, arg2)
* cpu_soft_restart.
* *
* @el2_switch: Flag to indicate a switch to EL2 is needed. * @el2_switch: Flag to indicate a switch to EL2 is needed.
* @entry: Location to jump to for soft reset. * @entry: Location to jump to for soft reset.
...@@ -29,7 +28,7 @@ ...@@ -29,7 +28,7 @@
* branch to what would be the reset vector. It must be executed with the * branch to what would be the reset vector. It must be executed with the
* flat identity mapping. * flat identity mapping.
*/ */
SYM_CODE_START(__cpu_soft_restart) SYM_CODE_START(cpu_soft_restart)
mov_q x12, INIT_SCTLR_EL1_MMU_OFF mov_q x12, INIT_SCTLR_EL1_MMU_OFF
pre_disable_mmu_workaround pre_disable_mmu_workaround
/* /*
...@@ -48,6 +47,6 @@ SYM_CODE_START(__cpu_soft_restart) ...@@ -48,6 +47,6 @@ SYM_CODE_START(__cpu_soft_restart)
mov x1, x3 // arg1 mov x1, x3 // arg1
mov x2, x4 // arg2 mov x2, x4 // arg2
br x8 br x8
SYM_CODE_END(__cpu_soft_restart) SYM_CODE_END(cpu_soft_restart)
.popsection .popsection
/* 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
...@@ -24,8 +24,6 @@ ...@@ -24,8 +24,6 @@
#include <asm/sections.h> #include <asm/sections.h>
#include <asm/trans_pgd.h> #include <asm/trans_pgd.h>
#include "cpu-reset.h"
/** /**
* kexec_image_info - For debugging output. * kexec_image_info - For debugging output.
*/ */
...@@ -201,10 +199,10 @@ void machine_kexec(struct kimage *kimage) ...@@ -201,10 +199,10 @@ void machine_kexec(struct kimage *kimage)
* In kexec_file case, the kernel starts directly without purgatory. * In kexec_file case, the kernel starts directly without purgatory.
*/ */
if (kimage->head & IND_DONE) { if (kimage->head & IND_DONE) {
typeof(__cpu_soft_restart) *restart; typeof(cpu_soft_restart) *restart;
cpu_install_idmap(); 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, restart(is_hyp_nvhe(), kimage->start, kimage->arch.dtb_mem,
0, 0); 0, 0);
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment