Merge tag 's390-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[linux-2.6-microblaze.git] / arch / s390 / Kconfig
index 97b555e..0748558 100644 (file)
@@ -143,6 +143,7 @@ config S390
        select HAVE_FUNCTION_TRACER
        select HAVE_FUTEX_CMPXCHG if FUTEX
        select HAVE_GCC_PLUGINS
+       select HAVE_GENERIC_GUP
        select HAVE_KERNEL_BZIP2
        select HAVE_KERNEL_GZIP
        select HAVE_KERNEL_LZ4
@@ -184,7 +185,6 @@ config S390
        select TTY
        select VIRT_CPU_ACCOUNTING
        select ARCH_HAS_SCALED_CPUTIME
-       select VIRT_TO_BUS
        select HAVE_NMI
 
 
@@ -236,6 +236,7 @@ choice
 
 config MARCH_Z900
        bool "IBM zSeries model z800 and z900"
+       depends on !CC_IS_CLANG
        select HAVE_MARCH_Z900_FEATURES
        help
          Select this to enable optimizations for model z800/z900 (2064 and
@@ -244,6 +245,7 @@ config MARCH_Z900
 
 config MARCH_Z990
        bool "IBM zSeries model z890 and z990"
+       depends on !CC_IS_CLANG
        select HAVE_MARCH_Z990_FEATURES
        help
          Select this to enable optimizations for model z890/z990 (2084 and
@@ -252,6 +254,7 @@ config MARCH_Z990
 
 config MARCH_Z9_109
        bool "IBM System z9"
+       depends on !CC_IS_CLANG
        select HAVE_MARCH_Z9_109_FEATURES
        help
          Select this to enable optimizations for IBM System z9 (2094 and
@@ -343,12 +346,15 @@ config TUNE_DEFAULT
 
 config TUNE_Z900
        bool "IBM zSeries model z800 and z900"
+       depends on !CC_IS_CLANG
 
 config TUNE_Z990
        bool "IBM zSeries model z890 and z990"
+       depends on !CC_IS_CLANG
 
 config TUNE_Z9_109
        bool "IBM System z9"
+       depends on !CC_IS_CLANG
 
 config TUNE_Z10
        bool "IBM System z10"
@@ -384,6 +390,9 @@ config COMPAT
          (and some other stuff like libraries and such) is needed for
          executing 31 bit applications.  It is safe to say "Y".
 
+config COMPAT_VDSO
+       def_bool COMPAT && !CC_IS_CLANG
+
 config SYSVIPC_COMPAT
        def_bool y if COMPAT && SYSVIPC
 
@@ -545,6 +554,17 @@ config ARCH_HAS_KEXEC_PURGATORY
        def_bool y
        depends on KEXEC_FILE
 
+config KEXEC_VERIFY_SIG
+       bool "Verify kernel signature during kexec_file_load() syscall"
+       depends on KEXEC_FILE && SYSTEM_DATA_VERIFICATION
+       help
+         This option makes kernel signature verification mandatory for
+         the kexec_file_load() syscall.
+
+         In addition to that option, you need to enable signature
+         verification for the corresponding kernel image type being
+         loaded in order for this to work.
+
 config ARCH_RANDOM
        def_bool y
        prompt "s390 architectural random number generation API"
@@ -605,6 +625,29 @@ config EXPOLINE_FULL
 
 endchoice
 
+config RELOCATABLE
+       bool "Build a relocatable kernel"
+       select MODULE_REL_CRCS if MODVERSIONS
+       default y
+       help
+         This builds a kernel image that retains relocation information
+         so it can be loaded at an arbitrary address.
+         The kernel is linked as a position-independent executable (PIE)
+         and contains dynamic relocations which are processed early in the
+         bootup process.
+         The relocations make the kernel image about 15% larger (compressed
+         10%), but are discarded at runtime.
+
+config RANDOMIZE_BASE
+       bool "Randomize the address of the kernel image (KASLR)"
+       depends on RELOCATABLE
+       default y
+       help
+         In support of Kernel Address Space Layout Randomization (KASLR),
+         this randomizes the address at which the kernel image is loaded,
+         as a security feature that deters exploit attempts relying on
+         knowledge of the location of kernel internals.
+
 endmenu
 
 menu "Memory setup"
@@ -833,6 +876,17 @@ config HAVE_PNETID
 
 menu "Virtualization"
 
+config PROTECTED_VIRTUALIZATION_GUEST
+       def_bool n
+       prompt "Protected virtualization guest support"
+       help
+         Select this option, if you want to be able to run this
+         kernel as a protected virtualization KVM guest.
+         Protected virtualization capable machines have a mini hypervisor
+         located at machine level (an ultravisor). With help of the
+         Ultravisor, KVM will be able to run "protected" VMs, special
+         VMs whose memory and management data are unavailable to KVM.
+
 config PFAULT
        def_bool y
        prompt "Pseudo page fault support"