Merge tag 's390-6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[sfrench/cifs-2.6.git] / arch / s390 / Kconfig
index fe565f3a3a917d0da83dbd8329a503910fa41948..8f01ada6845e36086d85c32a076c8057208e498c 100644 (file)
@@ -63,6 +63,7 @@ config S390
        select ARCH_ENABLE_MEMORY_HOTREMOVE
        select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2
        select ARCH_HAS_CURRENT_STACK_POINTER
+       select ARCH_HAS_DEBUG_VIRTUAL
        select ARCH_HAS_DEBUG_VM_PGTABLE
        select ARCH_HAS_DEBUG_WX
        select ARCH_HAS_DEVMEM_IS_ALLOWED
@@ -82,7 +83,7 @@ config S390
        select ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_HAS_STRICT_MODULE_RWX
        select ARCH_HAS_SYSCALL_WRAPPER
-       select ARCH_HAS_UBSAN_SANITIZE_ALL
+       select ARCH_HAS_UBSAN
        select ARCH_HAS_VDSO_DATA
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select ARCH_INLINE_READ_LOCK
@@ -113,6 +114,7 @@ config S390
        select ARCH_INLINE_WRITE_UNLOCK_BH
        select ARCH_INLINE_WRITE_UNLOCK_IRQ
        select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
+       select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE
        select ARCH_STACKWALK
        select ARCH_SUPPORTS_ATOMIC_RMW
        select ARCH_SUPPORTS_DEBUG_PAGEALLOC
@@ -127,6 +129,7 @@ config S390
        select ARCH_WANT_DEFAULT_BPF_JIT
        select ARCH_WANT_IPC_PARSE_VERSION
        select ARCH_WANT_KERNEL_PMD_MKWRITE
+       select ARCH_WANT_LD_ORPHAN_WARN
        select ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
        select BUILDTIME_TABLE_SORT
        select CLONE_BACKWARDS2
@@ -193,12 +196,12 @@ config S390
        select HAVE_KPROBES
        select HAVE_KPROBES_ON_FTRACE
        select HAVE_KRETPROBES
-       select HAVE_KVM
        select HAVE_LIVEPATCH
        select HAVE_MEMBLOCK_PHYS_MAP
        select HAVE_MOD_ARCH_SPECIFIC
        select HAVE_NMI
        select HAVE_NOP_MCOUNT
+       select HAVE_PAGE_SIZE_4KB
        select HAVE_PCI
        select HAVE_PERF_EVENTS
        select HAVE_PERF_REGS
@@ -448,7 +451,7 @@ config COMPAT
        select COMPAT_OLD_SIGACTION
        select HAVE_UID16
        depends on MULTIUSER
-       depends on !CC_IS_CLANG
+       depends on !CC_IS_CLANG && !LD_IS_LLD
        help
          Select this option if you want to enable your system kernel to
          handle system-calls from ELF binaries for 31 bit ESA.  This option
@@ -582,14 +585,23 @@ config RELOCATABLE
        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.
          Note: this option exists only for documentation purposes, please do
          not remove it.
 
+config PIE_BUILD
+       def_bool CC_IS_CLANG && !$(cc-option,-munaligned-symbols)
+       help
+         If the compiler is unable to generate code that can manage unaligned
+         symbols, the kernel is linked as a position-independent executable
+         (PIE) and includes dynamic relocations that are processed early
+         during bootup.
+
+         For kpatch functionality, it is recommended to build the kernel
+         without the PIE_BUILD option. PIE_BUILD is only enabled when the
+         compiler lacks proper support for handling unaligned symbols.
+
 config RANDOMIZE_BASE
        bool "Randomize the address of the kernel image (KASLR)"
        default y