lkml.org 
[lkml]   [2021]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v16 08/11] x86, arm64: Add ARCH_WANT_RESERVE_CRASH_KERNEL config
    Date
    From: Chen Zhou <chenzhou10@huawei.com>

    We make the functions reserve_crashkernel[_low]() as generic for
    x86 and arm64. Since reserve_crashkernel[_low]() implementations
    are quite similar on other architectures as well, we can have more
    users of this later.

    So have CONFIG_ARCH_WANT_RESERVE_CRASH_KERNEL in arch/Kconfig and
    select this by X86 and ARM64.

    Suggested-by: Mike Rapoport <rppt@kernel.org>
    Signed-off-by: Chen Zhou <chenzhou10@huawei.com>
    Acked-by: Baoquan He <bhe@redhat.com>
    ---
    arch/Kconfig | 3 +++
    arch/arm64/Kconfig | 1 +
    arch/x86/Kconfig | 2 ++
    kernel/crash_core.c | 7 ++-----
    4 files changed, 8 insertions(+), 5 deletions(-)

    diff --git a/arch/Kconfig b/arch/Kconfig
    index 26b8ed11639da46..19256aa924c3b2c 100644
    --- a/arch/Kconfig
    +++ b/arch/Kconfig
    @@ -24,6 +24,9 @@ config KEXEC_ELF
    config HAVE_IMA_KEXEC
    bool

    +config ARCH_WANT_RESERVE_CRASH_KERNEL
    + bool
    +
    config SET_FS
    bool

    diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
    index c4207cf9bb17ffb..4b99efa36da3793 100644
    --- a/arch/arm64/Kconfig
    +++ b/arch/arm64/Kconfig
    @@ -95,6 +95,7 @@ config ARM64
    select ARCH_WANT_FRAME_POINTERS
    select ARCH_WANT_HUGE_PMD_SHARE if ARM64_4K_PAGES || (ARM64_16K_PAGES && !ARM64_VA_BITS_36)
    select ARCH_WANT_LD_ORPHAN_WARN
    + select ARCH_WANT_RESERVE_CRASH_KERNEL if KEXEC_CORE
    select ARCH_WANTS_NO_INSTR
    select ARCH_HAS_UBSAN_SANITIZE_ALL
    select ARM_AMBA
    diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
    index 7399327d1eff79d..528034b4276ecf8 100644
    --- a/arch/x86/Kconfig
    +++ b/arch/x86/Kconfig
    @@ -12,6 +12,7 @@ config X86_32
    depends on !64BIT
    # Options that are inherently 32-bit kernel only:
    select ARCH_WANT_IPC_PARSE_VERSION
    + select ARCH_WANT_RESERVE_CRASH_KERNEL if KEXEC_CORE
    select CLKSRC_I8253
    select CLONE_BACKWARDS
    select GENERIC_VDSO_32
    @@ -28,6 +29,7 @@ config X86_64
    select ARCH_HAS_GIGANTIC_PAGE
    select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
    select ARCH_USE_CMPXCHG_LOCKREF
    + select ARCH_WANT_RESERVE_CRASH_KERNEL if KEXEC_CORE
    select HAVE_ARCH_SOFT_DIRTY
    select MODULES_USE_ELF_RELA
    select NEED_DMA_MAP_STATE
    diff --git a/kernel/crash_core.c b/kernel/crash_core.c
    index 4dc2643fcbccf99..b23cfc0ca8905fd 100644
    --- a/kernel/crash_core.c
    +++ b/kernel/crash_core.c
    @@ -321,9 +321,7 @@ int __init parse_crashkernel_low(char *cmdline,
    * --------- Crashkernel reservation ------------------------------
    */

    -#ifdef CONFIG_KEXEC_CORE
    -
    -#if defined(CONFIG_X86) || defined(CONFIG_ARM64)
    +#ifdef CONFIG_ARCH_WANT_RESERVE_CRASH_KERNEL
    static int __init reserve_crashkernel_low(void)
    {
    #ifdef CONFIG_64BIT
    @@ -451,8 +449,7 @@ void __init reserve_crashkernel(void)
    crashk_res.start = crash_base;
    crashk_res.end = crash_base + crash_size - 1;
    }
    -#endif
    -#endif /* CONFIG_KEXEC_CORE */
    +#endif /* CONFIG_ARCH_WANT_RESERVE_CRASH_KERNEL */

    Elf_Word *append_elf_note(Elf_Word *buf, char *name, unsigned int type,
    void *data, size_t data_len)
    --
    2.25.1
    \
     
     \ /
      Last update: 2021-11-23 13:50    [W:2.594 / U:0.116 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site