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
Kconfig -rw-r--r-- 27.3 KB
Makefile -rw-r--r-- 2.3 KB
mac-celtic.c -rw-r--r-- 30.5 KB
mac-centeuro.c -rw-r--r-- 26.4 KB
mac-croatian.c -rw-r--r-- 30.5 KB
mac-cyrillic.c -rw-r--r-- 24.3 KB
mac-gaelic.c -rw-r--r-- 28.4 KB
mac-greek.c -rw-r--r-- 24.3 KB
mac-iceland.c -rw-r--r-- 30.5 KB
mac-inuit.c -rw-r--r-- 26.4 KB
mac-roman.c -rw-r--r-- 32.6 KB
mac-romanian.c -rw-r--r-- 30.5 KB
mac-turkish.c -rw-r--r-- 30.5 KB
nls_ascii.c -rw-r--r-- 5.7 KB
nls_base.c -rw-r--r-- 15.6 KB
nls_cp1250.c -rw-r--r-- 15.0 KB
nls_cp1251.c -rw-r--r-- 12.4 KB
nls_cp1255.c -rw-r--r-- 17.0 KB
nls_cp437.c -rw-r--r-- 17.1 KB
nls_cp737.c -rw-r--r-- 15.1 KB
nls_cp775.c -rw-r--r-- 13.2 KB
nls_cp850.c -rw-r--r-- 13.1 KB
nls_cp852.c -rw-r--r-- 14.5 KB
nls_cp855.c -rw-r--r-- 12.1 KB
nls_cp857.c -rw-r--r-- 12.4 KB
nls_cp860.c -rw-r--r-- 15.8 KB
nls_cp861.c -rw-r--r-- 17.1 KB
nls_cp862.c -rw-r--r-- 19.0 KB
nls_cp863.c -rw-r--r-- 16.8 KB
nls_cp864.c -rw-r--r-- 18.6 KB
nls_cp865.c -rw-r--r-- 17.1 KB
nls_cp866.c -rw-r--r-- 12.3 KB
nls_cp869.c -rw-r--r-- 13.1 KB
nls_cp874.c -rw-r--r-- 10.7 KB
nls_cp932.c -rw-r--r-- 479.7 KB
nls_cp936.c -rw-r--r-- 681.9 KB
nls_cp949.c -rw-r--r-- 854.7 KB
nls_cp950.c -rw-r--r-- 579.9 KB
nls_euc-jp.c -rw-r--r-- 23.8 KB
nls_iso8859-1.c -rw-r--r-- 10.0 KB
nls_iso8859-13.c -rw-r--r-- 11.5 KB
nls_iso8859-14.c -rw-r--r-- 14.5 KB
nls_iso8859-15.c -rw-r--r-- 12.6 KB
nls_iso8859-2.c -rw-r--r-- 12.8 KB
nls_iso8859-3.c -rw-r--r-- 12.8 KB
nls_iso8859-4.c -rw-r--r-- 12.8 KB
nls_iso8859-5.c -rw-r--r-- 10.6 KB
nls_iso8859-6.c -rw-r--r-- 10.2 KB
nls_iso8859-7.c -rw-r--r-- 13.2 KB
nls_iso8859-9.c -rw-r--r-- 10.8 KB
nls_koi8-r.c -rw-r--r-- 13.5 KB
nls_koi8-ru.c -rw-r--r-- 1.6 KB
nls_koi8-u.c -rw-r--r-- 13.9 KB
nls_utf8.c -rw-r--r-- 1.2 KB

back to top