lkml.org 
[lkml]   [2021]   [May]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 17/18] arm64: kexec: Remove cpu-reset.h
    Date
    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 dca6dedc3b25..9839bfc163d7 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 d47ff63a5b66..48a8af97faa9 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)
    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
    index 296abbac7192..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 __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
    diff --git a/arch/arm64/kernel/machine_kexec.c b/arch/arm64/kernel/machine_kexec.c
    index afbde4bb1829..16996b568fd3 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(function_nocfi(__cpu_soft_restart));
    + restart = (void *)__pa_symbol(function_nocfi(cpu_soft_restart));
    restart(is_hyp_callable(), kimage->start, kimage->arch.dtb_mem,
    0, 0);
    } else {
    --
    2.25.1
    \
     
     \ /
      Last update: 2021-05-27 17:08    [W:2.431 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site