From: Pavel Tatashin <pasha.tatashin@soleen.com>
To: pasha.tatashin@soleen.com, jmorris@namei.org, sashal@kernel.org,
ebiederm@xmission.com, kexec@lists.infradead.org,
linux-kernel@vger.kernel.org, corbet@lwn.net,
catalin.marinas@arm.com, will@kernel.org,
linux-arm-kernel@lists.infradead.org, maz@kernel.org,
james.morse@arm.com, vladimir.murzin@arm.com,
matthias.bgg@gmail.com, linux-mm@kvack.org, mark.rutland@arm.com,
steve.capper@arm.com, rfontana@redhat.com, tglx@linutronix.de,
selindag@gmail.com, tyhicks@linux.microsoft.com,
kernelfans@gmail.com
Subject: [PATCH v13 17/18] arm64: kexec: Remove cpu-reset.h
Date: Thu, 8 Apr 2021 00:05:36 -0400 [thread overview]
Message-ID: <20210408040537.2703241-18-pasha.tatashin@soleen.com> (raw)
In-Reply-To: <20210408040537.2703241-1-pasha.tatashin@soleen.com>
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: Pavel Tatashin <pasha.tatashin@soleen.com>
---
arch/arm64/include/asm/kexec.h | 6 ++++++
arch/arm64/kernel/cpu-reset.S | 7 +++----
arch/arm64/kernel/cpu-reset.h | 30 ------------------------------
arch/arm64/kernel/machine_kexec.c | 6 ++----
4 files changed, 11 insertions(+), 38 deletions(-)
delete mode 100644 arch/arm64/kernel/cpu-reset.h
diff --git a/arch/arm64/include/asm/kexec.h b/arch/arm64/include/asm/kexec.h
index 5fc87b51f8a9..ee71ae3b93ed 100644
--- a/arch/arm64/include/asm/kexec.h
+++ b/arch/arm64/include/asm/kexec.h
@@ -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 {
diff --git a/arch/arm64/kernel/cpu-reset.S b/arch/arm64/kernel/cpu-reset.S
index 37721eb6f9a1..5d47d6c92634 100644
--- a/arch/arm64/kernel/cpu-reset.S
+++ b/arch/arm64/kernel/cpu-reset.S
@@ -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)
/* Clear sctlr_el1 flags. */
mrs x12, sctlr_el1
mov_q x13, SCTLR_ELx_FLAGS
@@ -51,6 +50,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
index f6d95512fec6..000000000000
--- a/arch/arm64/kernel/cpu-reset.h
+++ /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 cpu_soft_restart(unsigned long entry,
- unsigned long arg0,
- unsigned long arg1,
- unsigned long arg2)
-{
- typeof(__cpu_soft_restart) *restart;
-
- restart = (void *)__pa_symbol(__cpu_soft_restart);
-
- cpu_install_idmap();
- restart(0, entry, arg0, arg1, arg2);
- unreachable();
-}
-
-#endif
diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c
index a1c9bee0cddd..ef7ba93f2bd6 100644
--- a/arch/arm64/kernel/machine_kexec.c
+++ b/arch/arm64/kernel/machine_kexec.c
@@ -23,8 +23,6 @@
#include <asm/sections.h>
#include <asm/trans_pgd.h>
-#include "cpu-reset.h"
-
/**
* kexec_image_info - For debugging output.
*/
@@ -197,10 +195,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(__cpu_soft_restart);
+ restart = (void *)__pa_symbol(cpu_soft_restart);
restart(is_hyp_callable(), kimage->start, kimage->arch.dtb_mem,
0, 0);
} else {
--
2.25.1
next prev parent reply other threads:[~2021-04-08 4:06 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-08 4:05 [PATCH v13 00/18] arm64: MMU enabled kexec relocation Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 01/18] arm64: hyp-stub: Check the size of the HYP stub's vectors Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 02/18] arm64: hyp-stub: Move invalid vector entries into the vectors Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 03/18] arm64: hyp-stub: Move el1_sync " Pavel Tatashin
2021-04-08 10:24 ` Marc Zyngier
2021-04-08 14:45 ` Pavel Tatashin
2021-04-08 15:01 ` Marc Zyngier
2021-04-08 16:28 ` Pavel Tatashin
2021-04-26 18:10 ` Pavel Tatashin
2021-04-26 18:11 ` Pavel Tatashin
2021-04-26 18:24 ` Marc Zyngier
2021-04-08 4:05 ` [PATCH v13 04/18] arm64: kernel: add helper for booted at EL2 and not VHE Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 05/18] arm64: trans_pgd: hibernate: Add trans_pgd_copy_el2_vectors Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 06/18] arm64: hibernate: abstract ttrb0 setup function Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 07/18] arm64: kexec: flush image and lists during kexec load time Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 08/18] arm64: kexec: skip relocation code for inplace kexec Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 09/18] arm64: kexec: Use dcache ops macros instead of open-coding Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 10/18] arm64: kexec: pass kimage as the only argument to relocation function Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 11/18] arm64: kexec: kexec may require EL2 vectors Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 12/18] arm64: kexec: relocate in EL1 mode Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 13/18] arm64: kexec: use ld script for relocation function Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 14/18] arm64: kexec: install a copy of the linear-map Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 15/18] arm64: kexec: keep MMU enabled during kexec relocation Pavel Tatashin
2021-04-08 4:05 ` [PATCH v13 16/18] arm64: kexec: remove the pre-kexec PoC maintenance Pavel Tatashin
2021-04-08 4:05 ` Pavel Tatashin [this message]
2021-04-08 4:05 ` [PATCH v13 18/18] arm64/mm: remove useless trans_pgd_map_page() Pavel Tatashin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210408040537.2703241-18-pasha.tatashin@soleen.com \
--to=pasha.tatashin@soleen.com \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=ebiederm@xmission.com \
--cc=james.morse@arm.com \
--cc=jmorris@namei.org \
--cc=kernelfans@gmail.com \
--cc=kexec@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mark.rutland@arm.com \
--cc=matthias.bgg@gmail.com \
--cc=maz@kernel.org \
--cc=rfontana@redhat.com \
--cc=sashal@kernel.org \
--cc=selindag@gmail.com \
--cc=steve.capper@arm.com \
--cc=tglx@linutronix.de \
--cc=tyhicks@linux.microsoft.com \
--cc=vladimir.murzin@arm.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).