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
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 1.1 KB |
Makefile | -rw-r--r-- | 248 bytes |
alloc.c | -rw-r--r-- | 22.9 KB |
alloc.h | -rw-r--r-- | 3.9 KB |
bmap.c | -rw-r--r-- | 14.4 KB |
bmap.h | -rw-r--r-- | 8.2 KB |
btnode.c | -rw-r--r-- | 7.7 KB |
btnode.h | -rw-r--r-- | 2.0 KB |
btree.c | -rw-r--r-- | 60.0 KB |
btree.h | -rw-r--r-- | 2.7 KB |
cpfile.c | -rw-r--r-- | 24.8 KB |
cpfile.h | -rw-r--r-- | 1.7 KB |
dat.c | -rw-r--r-- | 13.5 KB |
dat.h | -rw-r--r-- | 2.3 KB |
dir.c | -rw-r--r-- | 17.2 KB |
direct.c | -rw-r--r-- | 8.9 KB |
direct.h | -rw-r--r-- | 1.5 KB |
export.h | -rw-r--r-- | 482 bytes |
file.c | -rw-r--r-- | 4.6 KB |
gcinode.c | -rw-r--r-- | 5.6 KB |
ifile.c | -rw-r--r-- | 5.9 KB |
ifile.h | -rw-r--r-- | 1.9 KB |
inode.c | -rw-r--r-- | 29.4 KB |
ioctl.c | -rw-r--r-- | 36.5 KB |
mdt.c | -rw-r--r-- | 14.7 KB |
mdt.h | -rw-r--r-- | 4.0 KB |
namei.c | -rw-r--r-- | 13.0 KB |
nilfs.h | -rw-r--r-- | 12.0 KB |
page.c | -rw-r--r-- | 14.6 KB |
page.h | -rw-r--r-- | 2.7 KB |
recovery.c | -rw-r--r-- | 24.4 KB |
segbuf.c | -rw-r--r-- | 13.8 KB |
segbuf.h | -rw-r--r-- | 6.2 KB |
segment.c | -rw-r--r-- | 71.5 KB |
segment.h | -rw-r--r-- | 8.1 KB |
sufile.c | -rw-r--r-- | 32.2 KB |
sufile.h | -rw-r--r-- | 4.9 KB |
super.c | -rw-r--r-- | 36.0 KB |
sysfs.c | -rw-r--r-- | 31.6 KB |
sysfs.h | -rw-r--r-- | 5.7 KB |
the_nilfs.c | -rw-r--r-- | 21.2 KB |
the_nilfs.h | -rw-r--r-- | 11.5 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...