[PATCH 2/3] [PATCH 2/3] kexec: split kexec_load syscall from kexec core code

Geert Uytterhoeven geert at linux-m68k.org
Tue Jul 14 02:16:12 PDT 2015


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

>         ...
>
> 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.

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the kexec mailing list