74ca317c26
Currently new system call kexec_file_load() and all the associated code compiles if CONFIG_KEXEC=y. But new syscall also compiles purgatory code which currently uses gcc option -mcmodel=large. This option seems to be available only gcc 4.4 onwards. Hiding new functionality behind a new config option will not break existing users of old gcc. Those who wish to enable new functionality will require new gcc. Having said that, I am trying to figure out how can I move away from using -mcmodel=large but that can take a while. I think there are other advantages of introducing this new config option. As this option will be enabled only on x86_64, other arches don't have to compile generic kexec code which will never be used. This new code selects CRYPTO=y and CRYPTO_SHA256=y. And all other arches had to do this for CONFIG_KEXEC. Now with introduction of new config option, we can remove crypto dependency from other arches. Now CONFIG_KEXEC_FILE is available only on x86_64. So whereever I had CONFIG_X86_64 defined, I got rid of that. For CONFIG_KEXEC_FILE, instead of doing select CRYPTO=y, I changed it to "depends on CRYPTO=y". This should be safer as "select" is not recursive. Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Cc: Eric Biederman <ebiederm@xmission.com> Cc: H. Peter Anvin <hpa@zytor.com> Tested-by: Shaun Ruffell <sruffell@digium.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
21 lines
356 B
Makefile
21 lines
356 B
Makefile
obj-$(CONFIG_KVM) += kvm/
|
|
|
|
# Xen paravirtualization support
|
|
obj-$(CONFIG_XEN) += xen/
|
|
|
|
# lguest paravirtualization support
|
|
obj-$(CONFIG_LGUEST_GUEST) += lguest/
|
|
|
|
obj-y += realmode/
|
|
obj-y += kernel/
|
|
obj-y += mm/
|
|
|
|
obj-y += crypto/
|
|
obj-y += vdso/
|
|
obj-$(CONFIG_IA32_EMULATION) += ia32/
|
|
|
|
obj-y += platform/
|
|
obj-y += net/
|
|
|
|
obj-$(CONFIG_KEXEC_FILE) += purgatory/
|