[PATCH 2/3] [PATCH 2/3] kexec: split kexec_load syscall from kexec core code
Dave Young
dyoung at redhat.com
Tue Jul 14 01:46:51 PDT 2015
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
More information about the kexec
mailing list