Revision 74ca317c26a3f8543203b61d262c0ab2e30c384e authored by Vivek Goyal on 29 August 2014, 22:18:46 UTC, committed by Linus Torvalds on 29 August 2014, 23:28:16 UTC
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>
1 parent b38af47
History
File Mode Size
Makefile -rw-r--r-- 2.6 KB
fixup-bcm63xx.c -rw-r--r-- 485 bytes
fixup-capcella.c -rw-r--r-- 1.5 KB
fixup-cobalt.c -rw-r--r-- 5.4 KB
fixup-emma2rh.c -rw-r--r-- 2.9 KB
fixup-fuloong2e.c -rw-r--r-- 5.9 KB
fixup-ip32.c -rw-r--r-- 1.4 KB
fixup-jmr3927.c -rw-r--r-- 2.6 KB
fixup-lantiq.c -rw-r--r-- 751 bytes
fixup-lemote2f.c -rw-r--r-- 4.7 KB
fixup-loongson3.c -rw-r--r-- 2.2 KB
fixup-malta.c -rw-r--r-- 4.6 KB
fixup-mpc30x.c -rw-r--r-- 1.5 KB
fixup-pmcmsp.c -rw-r--r-- 8.1 KB
fixup-rbtx4927.c -rw-r--r-- 2.3 KB
fixup-rbtx4938.c -rw-r--r-- 1.2 KB
fixup-rc32434.c -rw-r--r-- 2.4 KB
fixup-sb1250.c -rw-r--r-- 1.2 KB
fixup-sni.c -rw-r--r-- 4.9 KB
fixup-tb0219.c -rw-r--r-- 1.4 KB
fixup-tb0226.c -rw-r--r-- 2.3 KB
fixup-tb0287.c -rw-r--r-- 1.6 KB
msi-octeon.c -rw-r--r-- 12.5 KB
msi-xlp.c -rw-r--r-- 15.6 KB
ops-bcm63xx.c -rw-r--r-- 12.0 KB
ops-bonito64.c -rw-r--r-- 4.1 KB
ops-bridge.c -rw-r--r-- 8.5 KB
ops-emma2rh.c -rw-r--r-- 4.4 KB
ops-gt64xxx_pci0.c -rw-r--r-- 4.1 KB
ops-lantiq.c -rw-r--r-- 2.9 KB
ops-loongson2.c -rw-r--r-- 5.4 KB
ops-loongson3.c -rw-r--r-- 2.2 KB
ops-mace.c -rw-r--r-- 2.3 KB
ops-msc.c -rw-r--r-- 3.9 KB
ops-nile4.c -rw-r--r-- 3.5 KB
ops-pmcmsp.c -rw-r--r-- 28.7 KB
ops-rc32434.c -rw-r--r-- 5.2 KB
ops-sni.c -rw-r--r-- 3.6 KB
ops-tx3927.c -rw-r--r-- 7.1 KB
ops-tx4927.c -rw-r--r-- 15.5 KB
ops-vr41xx.c -rw-r--r-- 3.1 KB
pci-alchemy.c -rw-r--r-- 14.1 KB
pci-ar71xx.c -rw-r--r-- 10.8 KB
pci-ar724x.c -rw-r--r-- 9.7 KB
pci-bcm1480.c -rw-r--r-- 7.1 KB
pci-bcm1480ht.c -rw-r--r-- 5.7 KB
pci-bcm47xx.c -rw-r--r-- 2.9 KB
pci-bcm63xx.c -rw-r--r-- 9.7 KB
pci-bcm63xx.h -rw-r--r-- 691 bytes
pci-emma2rh.c -rw-r--r-- 2.6 KB
pci-ip27.c -rw-r--r-- 5.6 KB
pci-ip32.c -rw-r--r-- 4.1 KB
pci-lantiq.c -rw-r--r-- 7.3 KB
pci-lantiq.h -rw-r--r-- 572 bytes
pci-lasat.c -rw-r--r-- 2.1 KB
pci-malta.c -rw-r--r-- 7.9 KB
pci-octeon.c -rw-r--r-- 22.3 KB
pci-rc32434.c -rw-r--r-- 7.3 KB
pci-rt3883.c -rw-r--r-- 15.4 KB
pci-sb1250.c -rw-r--r-- 7.5 KB
pci-tx4927.c -rw-r--r-- 2.6 KB
pci-tx4938.c -rw-r--r-- 4.0 KB
pci-tx4939.c -rw-r--r-- 2.6 KB
pci-virtio-guest.c -rw-r--r-- 3.0 KB
pci-vr41xx.c -rw-r--r-- 8.8 KB
pci-vr41xx.h -rw-r--r-- 4.8 KB
pci-xlp.c -rw-r--r-- 9.1 KB
pci-xlr.c -rw-r--r-- 9.1 KB
pci.c -rw-r--r-- 8.4 KB
pcie-octeon.c -rw-r--r-- 66.8 KB

back to top