[PATCH 2/3] [PATCH 2/3] kexec: split kexec_load syscall from kexec core code
Dave Young
dyoung at redhat.com
Tue Jul 14 02:24:48 PDT 2015
Hi, Geert
On 07/14/15 at 11:16am, Geert Uytterhoeven wrote:
> Hi Dave,
>
> On Tue, Jul 14, 2015 at 11:11 AM, Dave Young <dyoung at redhat.com> wrote:
> > On 07/14/15 at 10:50am, Geert Uytterhoeven wrote:
> >> On Tue, Jul 14, 2015 at 10:46 AM, Dave Young <dyoung at redhat.com> wrote:
> >> >> > 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?
> >>
> >> No, ARCH_HAS_KEXEC and all other KEXEC config options in arch/Kconfig.
> >> All other KEXEC config options should depend on ARCH_HAS_KEXEC,
> >> which can be selected by architectures that support kexec.
> >
> > So it will be like below? problem is KEXEC_FILE is x86 only now, how
> > to handle it then?
> >
> > arch/Kconfig:
> > config ARCH_HAS_KEXEC
> > ...
> > config KEXEC_CORE
> > ...
> > config KEXEC
>
> depends on ARCH_HAS_KEXEC
>
> > ...
> > config KEXEC_FILE
>
> depends on ARCH_HAS_KEXEC
But only x86 has KEXEC_FILE, if we make this change one will see KEXEC_FILE
on arches other than x86..
>
> > ...
> >
> > arch/arm/Kconfig:
> > select ARCH_HAS_KEXEC
>
> Right, that's the idea.
>
> (Minor nit: ARM has dependencies for kexec, so it should be
> "select ARCH_HAS_KEXEC if (!SMP || PM_SLEEP_SMP) && !CPU_V7M")
>
> >> > How about simply move below chunk to arch/Kconfig instead of introducing
> >> > another ARCH_HAS_KEXEC:
> >> > config KEXEC_CORE
> >> > bool
> >>
> >> Not all architectures support kexec, hence my proposed dependency on
> >> ARCH_HAS_KEXEC.
> >
> > KEXEC_CORE is not visible in menuconfig, it is selected by KEXEC and KEXEC_FILE
> > so move it in arch/Kconfig is ok?
>
> Yes.
I means how about only moving KEXEC_CORE to general Kconfig, but do not introduce
ARCH_HAS_KEXEC..
Thanks
Dave
More information about the kexec
mailing list