powerpc/kexec: Enable kexec_file_load() syscall
authorThiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Tue, 29 Nov 2016 12:45:53 +0000 (23:45 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 30 Nov 2016 12:15:27 +0000 (23:15 +1100)
Define the Kconfig symbol so that the kexec_file_load() code can be
built, and wire up the syscall so that it can be called.

Signed-off-by: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/Kconfig
arch/powerpc/include/asm/systbl.h
arch/powerpc/include/asm/unistd.h
arch/powerpc/include/uapi/asm/unistd.h

index a063c7235fa994bbe010647b433140fee5ecb84f..48923c349ccb7137ac866f02b4d23c6aec518e85 100644 (file)
@@ -465,6 +465,19 @@ config KEXEC
          interface is strongly in flux, so no good recommendation can be
          made.
 
+config KEXEC_FILE
+       bool "kexec file based system call"
+       select KEXEC_CORE
+       select BUILD_BIN2C
+       depends on PPC64
+       depends on CRYPTO=y
+       depends on CRYPTO_SHA256=y
+       help
+         This is a new version of the kexec system call. This call is
+         file based and takes in file descriptors as system call arguments
+         for kernel and initramfs as opposed to a list of segments as is the
+         case for the older kexec call.
+
 config RELOCATABLE
        bool "Build a relocatable kernel"
        depends on (PPC64 && !COMPILE_TEST) || (FLATMEM && (44x || FSL_BOOKE))
index 2fc5d4db503ccd03dfb40923267a2b763500cd22..4b369d83fe9ce1ea72b3f2a93590fb132d534512 100644 (file)
@@ -386,3 +386,4 @@ SYSCALL(mlock2)
 SYSCALL(copy_file_range)
 COMPAT_SYS_SPU(preadv2)
 COMPAT_SYS_SPU(pwritev2)
+SYSCALL(kexec_file_load)
index e8cdfec8d5125c531c45b7ffd250955ad68021af..eb1acee91a2034c30d4277fe040cd797279f13b4 100644 (file)
@@ -12,7 +12,7 @@
 #include <uapi/asm/unistd.h>
 
 
-#define NR_syscalls            382
+#define NR_syscalls            383
 
 #define __NR__exit __NR_exit
 
index e9f5f41aa55a1bc206749d56e75bd8edbb1d4068..2f26335a3c42a8141d29156f07105ca82761a98c 100644 (file)
 #define __NR_copy_file_range   379
 #define __NR_preadv2           380
 #define __NR_pwritev2          381
+#define __NR_kexec_file_load   382
 
 #endif /* _UAPI_ASM_POWERPC_UNISTD_H_ */