kernel_optimize_test/arch
Vivek Goyal 74ca317c26 kexec: create a new config option CONFIG_KEXEC_FILE for new syscall
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>
2014-08-29 16:28:16 -07:00
..
alpha
arc
arm Couple of simple fixes due for the 3.17 rcs 2014-08-28 10:46:25 -07:00
arm64 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-08-24 16:17:41 -07:00
avr32
blackfin
c6x
cris
frv frv: Define cpu_relax_lowlatency() 2014-08-19 09:40:08 -05:00
hexagon
ia64 [IA64] Wire up memfd_create() system call 2014-08-18 10:29:52 -07:00
m32r
m68k
metag
microblaze microblaze: Wire-up memfd_create syscall 2014-08-21 10:19:28 +02:00
mips MIPS: OCTEON: make get_system_type() thread-safe 2014-08-19 18:24:42 +02:00
mn10300
openrisc
parisc
powerpc PC, KVM, CMA: Fix regression caused by wrong get_order() use 2014-08-19 15:11:57 +02:00
s390
score
sh sh: intc: Confine SH_INTC to platforms that need it 2014-08-22 12:28:16 +09:00
sparc
tile
um
unicore32
x86 kexec: create a new config option CONFIG_KEXEC_FILE for new syscall 2014-08-29 16:28:16 -07:00
xtensa
.gitignore
Kconfig