Merge tag 'docs-5.3' of git://git.lwn.net/linux
[linux-2.6-block.git] / arch / arm64 / Kconfig
index 27568506e1eb4511e309c92bb15ab515dac30969..c085aec9459bbaf1f5e1cbe93933c36d6269c664 100644 (file)
@@ -26,6 +26,7 @@ config ARM64
        select ARCH_HAS_MEMBARRIER_SYNC_CORE
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_SETUP_DMA_OPS
+       select ARCH_HAS_SET_DIRECT_MAP
        select ARCH_HAS_SET_MEMORY
        select ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_HAS_STRICT_MODULE_RWX
@@ -107,6 +108,8 @@ config ARM64
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
        select GENERIC_TIME_VSYSCALL
+       select GENERIC_GETTIMEOFDAY
+       select GENERIC_COMPAT_VDSO if (!CPU_BIG_ENDIAN && COMPAT)
        select HANDLE_DOMAIN_IRQ
        select HARDIRQS_SW_RESEND
        select HAVE_PCI
@@ -160,6 +163,7 @@ config ARM64
        select HAVE_SYSCALL_TRACEPOINTS
        select HAVE_KPROBES
        select HAVE_KRETPROBES
+       select HAVE_GENERIC_VDSO
        select IOMMU_DMA if IOMMU_SUPPORT
        select IRQ_DOMAIN
        select IRQ_FORCED_THREADING
@@ -260,7 +264,8 @@ config GENERIC_CALIBRATE_DELAY
        def_bool y
 
 config ZONE_DMA32
-       def_bool y
+       bool "Support DMA32 zone" if EXPERT
+       default y
 
 config HAVE_GENERIC_GUP
        def_bool y
@@ -933,7 +938,6 @@ config PARAVIRT
 config PARAVIRT_TIME_ACCOUNTING
        bool "Paravirtual steal time accounting"
        select PARAVIRT
-       default n
        help
          Select this option to enable fine granularity task steal time
          accounting. Time spent executing other tasks in parallel with
@@ -1418,12 +1422,27 @@ config ARM64_SVE
          KVM in the same kernel image.
 
 config ARM64_MODULE_PLTS
-       bool
+       bool "Use PLTs to allow module memory to spill over into vmalloc area"
+       depends on MODULES
        select HAVE_MOD_ARCH_SPECIFIC
+       help
+         Allocate PLTs when loading modules so that jumps and calls whose
+         targets are too far away for their relative offsets to be encoded
+         in the instructions themselves can be bounced via veneers in the
+         module's PLT. This allows modules to be allocated in the generic
+         vmalloc area after the dedicated module memory area has been
+         exhausted.
+
+         When running with address space randomization (KASLR), the module
+         region itself may be too far away for ordinary relative jumps and
+         calls, and so in that case, module PLTs are required and cannot be
+         disabled.
+
+         Specific errata workaround(s) might also force module PLTs to be
+         enabled (ARM64_ERRATUM_843419).
 
 config ARM64_PSEUDO_NMI
        bool "Support for NMI-like interrupts"
-       depends on BROKEN # 1556553607-46531-1-git-send-email-julien.thierry@arm.com
        select CONFIG_ARM_GIC_V3
        help
          Adds support for mimicking Non-Maskable Interrupts through the use of
@@ -1436,6 +1455,17 @@ config ARM64_PSEUDO_NMI
 
          If unsure, say N
 
+if ARM64_PSEUDO_NMI
+config ARM64_DEBUG_PRIORITY_MASKING
+       bool "Debug interrupt priority masking"
+       help
+         This adds runtime checks to functions enabling/disabling
+         interrupts when using priority masking. The additional checks verify
+         the validity of ICC_PMR_EL1 when calling concerned functions.
+
+         If unsure, say N
+endif
+
 config RELOCATABLE
        bool
        help