diff options
author | Dave Young <dyoung@redhat.com> | 2015-09-09 18:38:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-10 16:29:01 -0400 |
commit | 2965faa5e03d1e71e9ff9aa143fff39e0a77543a (patch) | |
tree | 78b12008d7078a9cd40e157d5b18b795b14d5d9c /arch | |
parent | a43cac0d9dc2073ff2245a171429ddbe1accece7 (diff) |
kexec: split kexec_load syscall from kexec core code
There are two kexec load syscalls, kexec_load another and kexec_file_load.
kexec_file_load has been splited as kernel/kexec_file.c. In this patch I
split kexec_load syscall code to kernel/kexec.c.
And add a new kconfig option KEXEC_CORE, so we can disable kexec_load and
use kexec_file_load only, or vice verse.
The original requirement is from Ted Ts'o, he want kexec kernel signature
being checked with CONFIG_KEXEC_VERIFY_SIG enabled. But kexec-tools use
kexec_load syscall can bypass the checking.
Vivek Goyal proposed to create a common kconfig option so user can compile
in only one syscall for loading kexec kernel. KEXEC/KEXEC_FILE selects
KEXEC_CORE so that old config files still work.
Because there's general code need CONFIG_KEXEC_CORE, so I updated all the
architecture Kconfig with a new option KEXEC_CORE, and let KEXEC selects
KEXEC_CORE in arch Kconfig. Also updated general kernel code with to
kexec_load syscall.
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: Dave Young <dyoung@redhat.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
Cc: Petr Tesarik <ptesarik@suse.cz>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Josh Boyer <jwboyer@fedoraproject.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/Kconfig | 1 | ||||
-rw-r--r-- | arch/ia64/Kconfig | 1 | ||||
-rw-r--r-- | arch/m68k/Kconfig | 1 | ||||
-rw-r--r-- | arch/mips/Kconfig | 1 | ||||
-rw-r--r-- | arch/powerpc/Kconfig | 1 | ||||
-rw-r--r-- | arch/s390/Kconfig | 1 | ||||
-rw-r--r-- | arch/sh/Kconfig | 1 | ||||
-rw-r--r-- | arch/tile/Kconfig | 1 | ||||
-rw-r--r-- | arch/x86/Kconfig | 3 | ||||
-rw-r--r-- | arch/x86/boot/header.S | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/kdebug.h | 2 | ||||
-rw-r--r-- | arch/x86/kernel/Makefile | 4 | ||||
-rw-r--r-- | arch/x86/kernel/kvmclock.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/reboot.c | 4 | ||||
-rw-r--r-- | arch/x86/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/vmlinux.lds.S | 2 | ||||
-rw-r--r-- | arch/x86/kvm/vmx.c | 8 | ||||
-rw-r--r-- | arch/x86/platform/efi/efi.c | 4 | ||||
-rw-r--r-- | arch/x86/platform/uv/uv_nmi.c | 6 |
20 files changed, 32 insertions, 20 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index 8f3564930580..4e949e58b192 100644 --- a/arch/Kconfig +++ b/arch/Kconfig | |||
@@ -2,6 +2,9 @@ | |||
2 | # General architecture dependent options | 2 | # General architecture dependent options |
3 | # | 3 | # |
4 | 4 | ||
5 | config KEXEC_CORE | ||
6 | bool | ||
7 | |||
5 | config OPROFILE | 8 | config OPROFILE |
6 | tristate "OProfile system profiling" | 9 | tristate "OProfile system profiling" |
7 | depends on PROFILING | 10 | depends on PROFILING |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0d1b717e1eca..72ad724c67ae 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -2020,6 +2020,7 @@ config KEXEC | |||
2020 | bool "Kexec system call (EXPERIMENTAL)" | 2020 | bool "Kexec system call (EXPERIMENTAL)" |
2021 | depends on (!SMP || PM_SLEEP_SMP) | 2021 | depends on (!SMP || PM_SLEEP_SMP) |
2022 | depends on !CPU_V7M | 2022 | depends on !CPU_V7M |
2023 | select KEXEC_CORE | ||
2023 | help | 2024 | help |
2024 | kexec is a system call that implements the ability to shutdown your | 2025 | kexec is a system call that implements the ability to shutdown your |
2025 | current kernel, and to start another kernel. It is like a reboot | 2026 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 42a91a7aa2b0..eb0249e37981 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -518,6 +518,7 @@ source "drivers/sn/Kconfig" | |||
518 | config KEXEC | 518 | config KEXEC |
519 | bool "kexec system call" | 519 | bool "kexec system call" |
520 | depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) | 520 | depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) |
521 | select KEXEC_CORE | ||
521 | help | 522 | help |
522 | kexec is a system call that implements the ability to shutdown your | 523 | kexec is a system call that implements the ability to shutdown your |
523 | current kernel, and to start another kernel. It is like a reboot | 524 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 2dd8f63bfbbb..498b567f007b 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig | |||
@@ -95,6 +95,7 @@ config MMU_SUN3 | |||
95 | config KEXEC | 95 | config KEXEC |
96 | bool "kexec system call" | 96 | bool "kexec system call" |
97 | depends on M68KCLASSIC | 97 | depends on M68KCLASSIC |
98 | select KEXEC_CORE | ||
98 | help | 99 | help |
99 | kexec is a system call that implements the ability to shutdown your | 100 | kexec is a system call that implements the ability to shutdown your |
100 | current kernel, and to start another kernel. It is like a reboot | 101 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 752acca8de1f..e3aa5b0b4ef1 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -2597,6 +2597,7 @@ source "kernel/Kconfig.preempt" | |||
2597 | 2597 | ||
2598 | config KEXEC | 2598 | config KEXEC |
2599 | bool "Kexec system call" | 2599 | bool "Kexec system call" |
2600 | select KEXEC_CORE | ||
2600 | help | 2601 | help |
2601 | kexec is a system call that implements the ability to shutdown your | 2602 | kexec is a system call that implements the ability to shutdown your |
2602 | current kernel, and to start another kernel. It is like a reboot | 2603 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index b447918b9e2c..9a7057ec2154 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -420,6 +420,7 @@ config PPC64_SUPPORTS_MEMORY_FAILURE | |||
420 | config KEXEC | 420 | config KEXEC |
421 | bool "kexec system call" | 421 | bool "kexec system call" |
422 | depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) | 422 | depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP)) |
423 | select KEXEC_CORE | ||
423 | help | 424 | help |
424 | kexec is a system call that implements the ability to shutdown your | 425 | kexec is a system call that implements the ability to shutdown your |
425 | current kernel, and to start another kernel. It is like a reboot | 426 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 4827870f7a6d..1d57000b1b24 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -48,6 +48,7 @@ config ARCH_SUPPORTS_DEBUG_PAGEALLOC | |||
48 | 48 | ||
49 | config KEXEC | 49 | config KEXEC |
50 | def_bool y | 50 | def_bool y |
51 | select KEXEC_CORE | ||
51 | 52 | ||
52 | config AUDIT_ARCH | 53 | config AUDIT_ARCH |
53 | def_bool y | 54 | def_bool y |
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 50057fed819d..d514df7e04dd 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -602,6 +602,7 @@ source kernel/Kconfig.hz | |||
602 | config KEXEC | 602 | config KEXEC |
603 | bool "kexec system call (EXPERIMENTAL)" | 603 | bool "kexec system call (EXPERIMENTAL)" |
604 | depends on SUPERH32 && MMU | 604 | depends on SUPERH32 && MMU |
605 | select KEXEC_CORE | ||
605 | help | 606 | help |
606 | kexec is a system call that implements the ability to shutdown your | 607 | kexec is a system call that implements the ability to shutdown your |
607 | current kernel, and to start another kernel. It is like a reboot | 608 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig index 2ba12d761723..106c21bd7f44 100644 --- a/arch/tile/Kconfig +++ b/arch/tile/Kconfig | |||
@@ -205,6 +205,7 @@ source "kernel/Kconfig.hz" | |||
205 | 205 | ||
206 | config KEXEC | 206 | config KEXEC |
207 | bool "kexec system call" | 207 | bool "kexec system call" |
208 | select KEXEC_CORE | ||
208 | ---help--- | 209 | ---help--- |
209 | kexec is a system call that implements the ability to shutdown your | 210 | kexec is a system call that implements the ability to shutdown your |
210 | current kernel, and to start another kernel. It is like a reboot | 211 | current kernel, and to start another kernel. It is like a reboot |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index cc0d73eac047..7aef2d52daa0 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -1754,6 +1754,7 @@ source kernel/Kconfig.hz | |||
1754 | 1754 | ||
1755 | config KEXEC | 1755 | config KEXEC |
1756 | bool "kexec system call" | 1756 | bool "kexec system call" |
1757 | select KEXEC_CORE | ||
1757 | ---help--- | 1758 | ---help--- |
1758 | kexec is a system call that implements the ability to shutdown your | 1759 | kexec is a system call that implements the ability to shutdown your |
1759 | current kernel, and to start another kernel. It is like a reboot | 1760 | current kernel, and to start another kernel. It is like a reboot |
@@ -1770,8 +1771,8 @@ config KEXEC | |||
1770 | 1771 | ||
1771 | config KEXEC_FILE | 1772 | config KEXEC_FILE |
1772 | bool "kexec file based system call" | 1773 | bool "kexec file based system call" |
1774 | select KEXEC_CORE | ||
1773 | select BUILD_BIN2C | 1775 | select BUILD_BIN2C |
1774 | depends on KEXEC | ||
1775 | depends on X86_64 | 1776 | depends on X86_64 |
1776 | depends on CRYPTO=y | 1777 | depends on CRYPTO=y |
1777 | depends on CRYPTO_SHA256=y | 1778 | depends on CRYPTO_SHA256=y |
diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S index 16ef02596db2..2d6b309c8e9a 100644 --- a/arch/x86/boot/header.S +++ b/arch/x86/boot/header.S | |||
@@ -414,7 +414,7 @@ xloadflags: | |||
414 | # define XLF23 0 | 414 | # define XLF23 0 |
415 | #endif | 415 | #endif |
416 | 416 | ||
417 | #if defined(CONFIG_X86_64) && defined(CONFIG_EFI) && defined(CONFIG_KEXEC) | 417 | #if defined(CONFIG_X86_64) && defined(CONFIG_EFI) && defined(CONFIG_KEXEC_CORE) |
418 | # define XLF4 XLF_EFI_KEXEC | 418 | # define XLF4 XLF_EFI_KEXEC |
419 | #else | 419 | #else |
420 | # define XLF4 0 | 420 | # define XLF4 0 |
diff --git a/arch/x86/include/asm/kdebug.h b/arch/x86/include/asm/kdebug.h index 32ce71375b21..b130d59406fb 100644 --- a/arch/x86/include/asm/kdebug.h +++ b/arch/x86/include/asm/kdebug.h | |||
@@ -29,7 +29,7 @@ extern void show_trace(struct task_struct *t, struct pt_regs *regs, | |||
29 | extern void __show_regs(struct pt_regs *regs, int all); | 29 | extern void __show_regs(struct pt_regs *regs, int all); |
30 | extern unsigned long oops_begin(void); | 30 | extern unsigned long oops_begin(void); |
31 | extern void oops_end(unsigned long, struct pt_regs *, int signr); | 31 | extern void oops_end(unsigned long, struct pt_regs *, int signr); |
32 | #ifdef CONFIG_KEXEC | 32 | #ifdef CONFIG_KEXEC_CORE |
33 | extern int in_crash_kexec; | 33 | extern int in_crash_kexec; |
34 | #else | 34 | #else |
35 | /* no crash dump is ever in progress if no crash kernel can be kexec'd */ | 35 | /* no crash dump is ever in progress if no crash kernel can be kexec'd */ |
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index 9ffdf25e5b86..b1b78ffe01d0 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile | |||
@@ -71,8 +71,8 @@ obj-$(CONFIG_LIVEPATCH) += livepatch.o | |||
71 | obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o | 71 | obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o |
72 | obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o | 72 | obj-$(CONFIG_FTRACE_SYSCALLS) += ftrace.o |
73 | obj-$(CONFIG_X86_TSC) += trace_clock.o | 73 | obj-$(CONFIG_X86_TSC) += trace_clock.o |
74 | obj-$(CONFIG_KEXEC) += machine_kexec_$(BITS).o | 74 | obj-$(CONFIG_KEXEC_CORE) += machine_kexec_$(BITS).o |
75 | obj-$(CONFIG_KEXEC) += relocate_kernel_$(BITS).o crash.o | 75 | obj-$(CONFIG_KEXEC_CORE) += relocate_kernel_$(BITS).o crash.o |
76 | obj-$(CONFIG_KEXEC_FILE) += kexec-bzimage64.o | 76 | obj-$(CONFIG_KEXEC_FILE) += kexec-bzimage64.o |
77 | obj-$(CONFIG_CRASH_DUMP) += crash_dump_$(BITS).o | 77 | obj-$(CONFIG_CRASH_DUMP) += crash_dump_$(BITS).o |
78 | obj-y += kprobes/ | 78 | obj-y += kprobes/ |
diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c index 49487b488061..2c7aafa70702 100644 --- a/arch/x86/kernel/kvmclock.c +++ b/arch/x86/kernel/kvmclock.c | |||
@@ -200,7 +200,7 @@ static void kvm_setup_secondary_clock(void) | |||
200 | * kind of shutdown from our side, we unregister the clock by writting anything | 200 | * kind of shutdown from our side, we unregister the clock by writting anything |
201 | * that does not have the 'enable' bit set in the msr | 201 | * that does not have the 'enable' bit set in the msr |
202 | */ | 202 | */ |
203 | #ifdef CONFIG_KEXEC | 203 | #ifdef CONFIG_KEXEC_CORE |
204 | static void kvm_crash_shutdown(struct pt_regs *regs) | 204 | static void kvm_crash_shutdown(struct pt_regs *regs) |
205 | { | 205 | { |
206 | native_write_msr(msr_kvm_system_time, 0, 0); | 206 | native_write_msr(msr_kvm_system_time, 0, 0); |
@@ -259,7 +259,7 @@ void __init kvmclock_init(void) | |||
259 | x86_platform.save_sched_clock_state = kvm_save_sched_clock_state; | 259 | x86_platform.save_sched_clock_state = kvm_save_sched_clock_state; |
260 | x86_platform.restore_sched_clock_state = kvm_restore_sched_clock_state; | 260 | x86_platform.restore_sched_clock_state = kvm_restore_sched_clock_state; |
261 | machine_ops.shutdown = kvm_shutdown; | 261 | machine_ops.shutdown = kvm_shutdown; |
262 | #ifdef CONFIG_KEXEC | 262 | #ifdef CONFIG_KEXEC_CORE |
263 | machine_ops.crash_shutdown = kvm_crash_shutdown; | 263 | machine_ops.crash_shutdown = kvm_crash_shutdown; |
264 | #endif | 264 | #endif |
265 | kvm_get_preset_lpj(); | 265 | kvm_get_preset_lpj(); |
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c index 86db4bcd7ce5..02693dd9a079 100644 --- a/arch/x86/kernel/reboot.c +++ b/arch/x86/kernel/reboot.c | |||
@@ -673,7 +673,7 @@ struct machine_ops machine_ops = { | |||
673 | .emergency_restart = native_machine_emergency_restart, | 673 | .emergency_restart = native_machine_emergency_restart, |
674 | .restart = native_machine_restart, | 674 | .restart = native_machine_restart, |
675 | .halt = native_machine_halt, | 675 | .halt = native_machine_halt, |
676 | #ifdef CONFIG_KEXEC | 676 | #ifdef CONFIG_KEXEC_CORE |
677 | .crash_shutdown = native_machine_crash_shutdown, | 677 | .crash_shutdown = native_machine_crash_shutdown, |
678 | #endif | 678 | #endif |
679 | }; | 679 | }; |
@@ -703,7 +703,7 @@ void machine_halt(void) | |||
703 | machine_ops.halt(); | 703 | machine_ops.halt(); |
704 | } | 704 | } |
705 | 705 | ||
706 | #ifdef CONFIG_KEXEC | 706 | #ifdef CONFIG_KEXEC_CORE |
707 | void machine_crash_shutdown(struct pt_regs *regs) | 707 | void machine_crash_shutdown(struct pt_regs *regs) |
708 | { | 708 | { |
709 | machine_ops.crash_shutdown(regs); | 709 | machine_ops.crash_shutdown(regs); |
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index baadbf90a7c5..fdb7f2a2d328 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -478,7 +478,7 @@ static void __init memblock_x86_reserve_range_setup_data(void) | |||
478 | * --------- Crashkernel reservation ------------------------------ | 478 | * --------- Crashkernel reservation ------------------------------ |
479 | */ | 479 | */ |
480 | 480 | ||
481 | #ifdef CONFIG_KEXEC | 481 | #ifdef CONFIG_KEXEC_CORE |
482 | 482 | ||
483 | /* | 483 | /* |
484 | * Keep the crash kernel below this limit. On 32 bits earlier kernels | 484 | * Keep the crash kernel below this limit. On 32 bits earlier kernels |
diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S index 00bf300fd846..74e4bf11f562 100644 --- a/arch/x86/kernel/vmlinux.lds.S +++ b/arch/x86/kernel/vmlinux.lds.S | |||
@@ -364,7 +364,7 @@ INIT_PER_CPU(irq_stack_union); | |||
364 | 364 | ||
365 | #endif /* CONFIG_X86_32 */ | 365 | #endif /* CONFIG_X86_32 */ |
366 | 366 | ||
367 | #ifdef CONFIG_KEXEC | 367 | #ifdef CONFIG_KEXEC_CORE |
368 | #include <asm/kexec.h> | 368 | #include <asm/kexec.h> |
369 | 369 | ||
370 | . = ASSERT(kexec_control_code_size <= KEXEC_CONTROL_CODE_MAX_SIZE, | 370 | . = ASSERT(kexec_control_code_size <= KEXEC_CONTROL_CODE_MAX_SIZE, |
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 148ea2016022..d01986832afc 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -1264,7 +1264,7 @@ static void vmcs_load(struct vmcs *vmcs) | |||
1264 | vmcs, phys_addr); | 1264 | vmcs, phys_addr); |
1265 | } | 1265 | } |
1266 | 1266 | ||
1267 | #ifdef CONFIG_KEXEC | 1267 | #ifdef CONFIG_KEXEC_CORE |
1268 | /* | 1268 | /* |
1269 | * This bitmap is used to indicate whether the vmclear | 1269 | * This bitmap is used to indicate whether the vmclear |
1270 | * operation is enabled on all cpus. All disabled by | 1270 | * operation is enabled on all cpus. All disabled by |
@@ -1302,7 +1302,7 @@ static void crash_vmclear_local_loaded_vmcss(void) | |||
1302 | #else | 1302 | #else |
1303 | static inline void crash_enable_local_vmclear(int cpu) { } | 1303 | static inline void crash_enable_local_vmclear(int cpu) { } |
1304 | static inline void crash_disable_local_vmclear(int cpu) { } | 1304 | static inline void crash_disable_local_vmclear(int cpu) { } |
1305 | #endif /* CONFIG_KEXEC */ | 1305 | #endif /* CONFIG_KEXEC_CORE */ |
1306 | 1306 | ||
1307 | static void __loaded_vmcs_clear(void *arg) | 1307 | static void __loaded_vmcs_clear(void *arg) |
1308 | { | 1308 | { |
@@ -10411,7 +10411,7 @@ static int __init vmx_init(void) | |||
10411 | if (r) | 10411 | if (r) |
10412 | return r; | 10412 | return r; |
10413 | 10413 | ||
10414 | #ifdef CONFIG_KEXEC | 10414 | #ifdef CONFIG_KEXEC_CORE |
10415 | rcu_assign_pointer(crash_vmclear_loaded_vmcss, | 10415 | rcu_assign_pointer(crash_vmclear_loaded_vmcss, |
10416 | crash_vmclear_local_loaded_vmcss); | 10416 | crash_vmclear_local_loaded_vmcss); |
10417 | #endif | 10417 | #endif |
@@ -10421,7 +10421,7 @@ static int __init vmx_init(void) | |||
10421 | 10421 | ||
10422 | static void __exit vmx_exit(void) | 10422 | static void __exit vmx_exit(void) |
10423 | { | 10423 | { |
10424 | #ifdef CONFIG_KEXEC | 10424 | #ifdef CONFIG_KEXEC_CORE |
10425 | RCU_INIT_POINTER(crash_vmclear_loaded_vmcss, NULL); | 10425 | RCU_INIT_POINTER(crash_vmclear_loaded_vmcss, NULL); |
10426 | synchronize_rcu(); | 10426 | synchronize_rcu(); |
10427 | #endif | 10427 | #endif |
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c index e4308fe6afe8..1db84c0758b7 100644 --- a/arch/x86/platform/efi/efi.c +++ b/arch/x86/platform/efi/efi.c | |||
@@ -650,7 +650,7 @@ static void __init get_systab_virt_addr(efi_memory_desc_t *md) | |||
650 | 650 | ||
651 | static void __init save_runtime_map(void) | 651 | static void __init save_runtime_map(void) |
652 | { | 652 | { |
653 | #ifdef CONFIG_KEXEC | 653 | #ifdef CONFIG_KEXEC_CORE |
654 | efi_memory_desc_t *md; | 654 | efi_memory_desc_t *md; |
655 | void *tmp, *p, *q = NULL; | 655 | void *tmp, *p, *q = NULL; |
656 | int count = 0; | 656 | int count = 0; |
@@ -748,7 +748,7 @@ static void * __init efi_map_regions(int *count, int *pg_shift) | |||
748 | 748 | ||
749 | static void __init kexec_enter_virtual_mode(void) | 749 | static void __init kexec_enter_virtual_mode(void) |
750 | { | 750 | { |
751 | #ifdef CONFIG_KEXEC | 751 | #ifdef CONFIG_KEXEC_CORE |
752 | efi_memory_desc_t *md; | 752 | efi_memory_desc_t *md; |
753 | void *p; | 753 | void *p; |
754 | 754 | ||
diff --git a/arch/x86/platform/uv/uv_nmi.c b/arch/x86/platform/uv/uv_nmi.c index 020c101c255f..5c9f63fa6abf 100644 --- a/arch/x86/platform/uv/uv_nmi.c +++ b/arch/x86/platform/uv/uv_nmi.c | |||
@@ -492,7 +492,7 @@ static void uv_nmi_touch_watchdogs(void) | |||
492 | touch_nmi_watchdog(); | 492 | touch_nmi_watchdog(); |
493 | } | 493 | } |
494 | 494 | ||
495 | #if defined(CONFIG_KEXEC) | 495 | #if defined(CONFIG_KEXEC_CORE) |
496 | static atomic_t uv_nmi_kexec_failed; | 496 | static atomic_t uv_nmi_kexec_failed; |
497 | static void uv_nmi_kdump(int cpu, int master, struct pt_regs *regs) | 497 | static void uv_nmi_kdump(int cpu, int master, struct pt_regs *regs) |
498 | { | 498 | { |
@@ -519,13 +519,13 @@ static void uv_nmi_kdump(int cpu, int master, struct pt_regs *regs) | |||
519 | uv_nmi_sync_exit(0); | 519 | uv_nmi_sync_exit(0); |
520 | } | 520 | } |
521 | 521 | ||
522 | #else /* !CONFIG_KEXEC */ | 522 | #else /* !CONFIG_KEXEC_CORE */ |
523 | static inline void uv_nmi_kdump(int cpu, int master, struct pt_regs *regs) | 523 | static inline void uv_nmi_kdump(int cpu, int master, struct pt_regs *regs) |
524 | { | 524 | { |
525 | if (master) | 525 | if (master) |
526 | pr_err("UV: NMI kdump: KEXEC not supported in this kernel\n"); | 526 | pr_err("UV: NMI kdump: KEXEC not supported in this kernel\n"); |
527 | } | 527 | } |
528 | #endif /* !CONFIG_KEXEC */ | 528 | #endif /* !CONFIG_KEXEC_CORE */ |
529 | 529 | ||
530 | #ifdef CONFIG_KGDB | 530 | #ifdef CONFIG_KGDB |
531 | #ifdef CONFIG_KGDB_KDB | 531 | #ifdef CONFIG_KGDB_KDB |