Hi, Geert Sorry for reply late, I'm occupied by other things. On 07/13/15 at 10:55am, Geert Uytterhoeven wrote: > On Mon, Jul 13, 2015 at 4:13 AM, <dyoung at redhat.com> wrote: > > 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. > > > > Signed-off-by: Dave Young <dyoung at redhat.com> > > --- > > arch/arm/Kconfig | 4 + > > arch/ia64/Kconfig | 4 + > > arch/m68k/Kconfig | 4 + > > arch/mips/Kconfig | 4 + > > arch/powerpc/Kconfig | 4 + > > arch/sh/Kconfig | 4 + > > arch/tile/Kconfig | 4 + > > arch/x86/Kconfig | 6 +- > > arch/x86/boot/header.S | 2 +- > > arch/x86/include/asm/kdebug.h | 2 +- > > arch/x86/kernel/Makefile | 4 +- > > arch/x86/kernel/kvmclock.c | 4 +- > > arch/x86/kernel/reboot.c | 4 +- > > arch/x86/kernel/setup.c | 2 +- > > arch/x86/kernel/vmlinux.lds.S | 2 +- > > arch/x86/kvm/vmx.c | 8 +- > > arch/x86/platform/efi/efi.c | 4 +- > > arch/x86/platform/uv/uv_nmi.c | 6 +- > > drivers/firmware/efi/Kconfig | 2 +- > > drivers/pci/pci-driver.c | 2 +- > > include/linux/kexec.h | 12 +- > > init/initramfs.c | 4 +- > > kernel/Makefile | 1 + > > kernel/events/core.c | 2 +- > > kernel/kexec.c | 1578 +--------------------------------------- > > kernel/kexec_core.c | 1594 +++++++++++++++++++++++++++++++++++++++++ > > kernel/ksysfs.c | 6 +- > > kernel/printk/printk.c | 2 +- > > kernel/reboot.c | 2 +- > > kernel/sysctl.c | 2 +- > > 30 files changed, 1668 insertions(+), 1611 deletions(-) > > create mode 100644 kernel/kexec_core.c > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > index 1c50210..20c48b3 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -2001,10 +2001,14 @@ config XIP_PHYS_ADDR > > be linked for and stored to. This address is dependent on your > > own flash usage. > > > > +config KEXEC_CORE > > + bool > > + > > config KEXEC > > bool "Kexec system call (EXPERIMENTAL)" > > depends on (!SMP || PM_SLEEP_SMP) > > depends on !CPU_V7M > > + select KEXEC_CORE > > help > > kexec is a system call that implements the ability to shutdown your > > current kernel, and to start another kernel. It is like a reboot > > As this KEXEC_CORE is appearing in all arch/*/Kconfig files, I think it's > time to add an ARCH_HAS_KEXEC symbol (to a common Kconfig file), > and let arch/*/Kconfig select that if the architecture has kexec support. > > Then KEXEC and KEXEC_CORE can live in the common Kconfig file, > without the need to duplicate it. I'm not sure I understand your idea well, do you means like in arch/Kconfig add ARCH_HAS_KEXEC which depends on KEXEC_CORE? How about simply move below chunk to arch/Kconfig instead of introducing another ARCH_HAS_KEXEC: config KEXEC_CORE bool BTW, I found I missed one arch that is s390, I need update the patches and resend. Thanks Dave