kexec: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
Subsystems (7)
cover kexec: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
Replace the conditional compilation using "#ifdef CONFIG_KEXEC_CORE" by a check for "IS_ENABLED(CONFIG_BLK_DEV_INITRD)", to simplify the code and increase compile coverage.
I only modifies x86, arm, arm64 and riscv, other arch are not touched. If the idea is accepted, I will modify all architectures code.
Jisheng Zhang (5):
kexec: make crashk_res, crashk_low_res and crash_notes symbols always
visible
riscv: mm: init: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef x86/setup: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
arm64: mm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
arm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
arch/arm/kernel/setup.c | 7 +++---- arch/arm64/mm/init.c | 9 +++------ arch/riscv/mm/init.c | 6 ++---- arch/x86/kernel/setup.c | 10 +++------- include/linux/kexec.h | 12 ++++++------ 5 files changed, 17 insertions(+), 27 deletions(-)
Signature · 7 lines
2.34.1 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
RFC PATCH 1/5 kexec: make crashk_res, crashk_low_res and crash_notes symbols always visible
Make the forward declarations of crashk_res, crashk_low_res and crash_notes always visible. Code referring to these symbols can then just check for IS_ENABLED(CONFIG_KEXEC_CORE), instead of requiring conditional compilation using an #ifdef, thus preparing to increase compile coverage and simplify the code.
--- include/linux/kexec.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
include/linux/kexec.h +6 -6
@@ -20,6 +20,12 @@#include <uapi/linux/kexec.h> +/* Location of a reserved region to hold the crash kernel. +*/ +extern struct resource crashk_res; +extern struct resource crashk_low_res; +extern note_buf_t __percpu *crash_notes; +#ifdef CONFIG_KEXEC_CORE #include <linux/list.h> #include <linux/compat.h>
@@ -350,12 +356,6 @@ extern int kexec_load_disabled;#define KEXEC_FILE_FLAGS (KEXEC_FILE_UNLOAD | KEXEC_FILE_ON_CRASH | \ KEXEC_FILE_NO_INITRAMFS) -/* Location of a reserved region to hold the crash kernel. -*/ -extern struct resource crashk_res; -extern struct resource crashk_low_res; -extern note_buf_t __percpu *crash_notes; -/* flag to track if kexec reboot is in progress */ extern bool kexec_in_progress;
Signature · 7 lines
2.34.1 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
RFC PATCH 2/5 riscv: mm: init: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
In reply to Jisheng ZhangReplace the conditional compilation using "#ifdef CONFIG_KEXEC_CORE" by a check for "IS_ENABLED(CONFIG_BLK_DEV_INITRD)", to simplify the code and increase compile coverage.
--- arch/riscv/mm/init.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
arch/riscv/mm/init.c +2 -4
@@ -755,7 +755,6 @@ static inline void setup_vm_final(void) }#endif /* CONFIG_MMU */ -#ifdef CONFIG_KEXEC_CORE /* * reserve_crashkernel() - reserves memory for crash kernel *
@@ -772,6 +771,8 @@ static void __init reserve_crashkernel(void)int ret =0 ; +if (!IS_ENABLED (CONFIG_KEXEC_CORE )) +return ;/* * Don't reserve a region for a crash kernel on a crash kernel * since it doesn't make much sense and we have limited memory
@@ -812,7 +813,6 @@ static void __init reserve_crashkernel(void) crashk_res.start = crash_base; crashk_res.end = crash_base + crash_size -1 ; } -#endif /* CONFIG_KEXEC_CORE */ void __init paging_init (void ) {
@@ -826,9 +826,7 @@ void __init misc_mem_init(void)arch_numa_init ();sparse_init ();zone_sizes_init (); -#ifdef CONFIG_KEXEC_CORE reserve_crashkernel (); -#endif memblock_dump_all (); }
Signature · 7 lines
2.34.1 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
RFC PATCH 3/5 x86/setup: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
In reply to Jisheng ZhangReplace the conditional compilation using "#ifdef CONFIG_KEXEC_CORE" by a check for "IS_ENABLED(CONFIG_BLK_DEV_INITRD)", to simplify the code and increase compile coverage.
--- arch/x86/kernel/setup.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)
arch/x86/kernel/setup.c +3 -7
@@ -390,8 +390,6 @@ static void __init memblock_x86_reserve_range_setup_data(void)* --------- Crashkernel reservation ------------------------------ */ -#ifdef CONFIG_KEXEC_CORE -/* 16M alignment for crash kernel regions */ #define CRASH_ALIGN SZ_16M
@@ -469,6 +467,9 @@ static void __init reserve_crashkernel(void)bool high = false;int ret; +if (!IS_ENABLED (CONFIG_KEXEC_CORE )) +return ; + total_mem =memblock_phys_mem_size ();/* crashkernel=XM */
@@ -534,11 +535,6 @@ static void __init reserve_crashkernel(void) crashk_res.end = crash_base + crash_size -1 ;insert_resource (&iomem_resource, &crashk_res); } -#else -static void __init reserve_crashkernel (void ) -{ -} -#endif static struct resource standard_io_resources[] = { { .name ="dma1" , .start =0x00 , .end =0x1f ,
Signature · 7 lines
2.34.1 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
RFC PATCH 4/5 arm64: mm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
In reply to Jisheng ZhangReplace the conditional compilation using "#ifdef CONFIG_KEXEC_CORE" by a check for "IS_ENABLED(CONFIG_BLK_DEV_INITRD)", to simplify the code and increase compile coverage.
--- arch/arm64/mm/init.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
arch/arm64/mm/init.c +3 -6
@@ -64,7 +64,6 @@ EXPORT_SYMBOL(memstart_addr);*/ phys_addr_t arm64_dma_phys_limit__ro_after_init ; -#ifdef CONFIG_KEXEC_CORE /* * reserve_crashkernel() - reserves memory for crash kernel *
@@ -78,6 +77,9 @@ static void __init reserve_crashkernel(void)unsigned long long crash_max = arm64_dma_phys_limit;int ret; +if (!IS_ENABLED (CONFIG_KEXEC_CORE )) +return ; + ret =parse_crashkernel (boot_command_line,memblock_phys_mem_size (), &crash_size, &crash_base);/* no crashkernel= or invalid value specified */
@@ -110,11 +112,6 @@ static void __init reserve_crashkernel(void) crashk_res.start = crash_base; crashk_res.end = crash_base + crash_size -1 ; } -#else -static void __init reserve_crashkernel (void ) -{ -} -#endif /* CONFIG_KEXEC_CORE */ /* * Return the maximum physical address for a zone accessible by the given bits
Signature · 7 lines
2.34.1 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
Re: [RFC PATCH 4/5] arm64: mm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
Quoted 5 lines · Jisheng Zhang
Replace the conditional compilation using "#ifdef
CONFIG_KEXEC_CORE" by a check for "IS_ENABLED(CONFIG_BLK_DEV_INITRD)", to simplify the code and increase compile coverage.Signed-off-by Jisheng Zhang <[email protected]>
As long as it still compiles:
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec
RFC PATCH 5/5 arm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
In reply to Jisheng ZhangReplace the conditional compilation using "#ifdef CONFIG_KEXEC_CORE" by a check for "IS_ENABLED(CONFIG_BLK_DEV_INITRD)", to simplify the code and increase compile coverage.
--- arch/arm/kernel/setup.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
arch/arm/kernel/setup.c +3 -4
@@ -973,7 +973,6 @@ static int __init init_machine_late(void) }late_initcall (init_machine_late); -#ifdef CONFIG_KEXEC /* * The crash region must be aligned to 128MB to avoid * zImage relocating below the reserved region.
@@ -1001,6 +1000,9 @@ static void __init reserve_crashkernel(void)unsigned long long total_mem;int ret; +if (!IS_ENABLED (CONFIG_KEXEC_CORE )) +return ; + total_mem =get_total_mem (); ret =parse_crashkernel (boot_command_line, total_mem, &crash_size, &crash_base);
@@ -1056,9 +1058,6 @@ static void __init reserve_crashkernel(void)insert_resource (&iomem_resource, &crashk_boot_res); } } -#else -static inline void reserve_crashkernel (void ) {} -#endif /* CONFIG_KEXEC */ void __init hyp_mode_check (void ) {
Signature · 7 lines
2.34.1 _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
Re: [RFC PATCH 5/5] arm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
Quoted 5 lines · Jisheng Zhang
Replace the conditional compilation using "#ifdef
CONFIG_KEXEC_CORE" by a check for "IS_ENABLED(CONFIG_BLK_DEV_INITRD)", to simplify the code and increase compile coverage.Signed-off-by Jisheng Zhang <[email protected]>
Signature · 7 lines
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last! _______________________________________________ kexec mailing list [email protected] http://lists.infradead.org/mailman/listinfo/kexec
Re: [RFC PATCH 5/5] arm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
In reply to Jisheng ZhangHi Jisheng,
Quoted 2 lines · Jisheng Zhang
Replace the conditional compilation using "#ifdef
CONFIG_KEXEC_CORE" by a check for "IS_ENABLED(CONFIG_BLK_DEV_INITRD)", to simplify the
The patch looks fine, but I think you mean IS_ENABLED(CONFIG_KEXEC_CORE) here, not CONFIG_BLK_DEV_INITRD.
/Emil
Quoted 43 lines
code and increase compile coverage.
Signed-off-by Jisheng Zhang <[email protected]>--- arch/arm/kernel/setup.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)arch/arm/kernel/setup.c +3
-5@@ -973,7 +973,6 @@ static int __init init_machine_late(void) }late_initcall (init_machine_late); -#ifdef CONFIG_KEXEC /* * The crash region must be aligned to 128MB to avoid * zImage relocating below the reserved region. @@ -1001,6 +1000,9 @@ static void __init reserve_crashkernel(void)unsigned long long total_mem;int ret; +if (!IS_ENABLED (CONFIG_KEXEC_CORE )) +return ; + total_mem =get_total_mem (); ret =parse_crashkernel (boot_command_line, total_mem, &crash_size, &crash_base);@@ -1056,9 +1058,6 @@ static void __init reserve_crashkernel(void)insert_resource (&iomem_resource, &crashk_boot_res); } } -#else -static inline void reserve_crashkernel (void ) {} -#endif /* CONFIG_KEXEC */ void __init hyp_mode_check (void ) { --2.34.1
Quoted 4 lines
_______________________________________________
linux-riscv mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-riscv
_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec