Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
[linux-2.6-microblaze.git] / arch / arm64 / Kconfig
index ed5706e..b1b4476 100644 (file)
@@ -66,7 +66,7 @@ config ARM64
        select ARCH_USE_QUEUED_SPINLOCKS
        select ARCH_SUPPORTS_MEMORY_FAILURE
        select ARCH_SUPPORTS_ATOMIC_RMW
-       select ARCH_SUPPORTS_INT128 if GCC_VERSION >= 50000 || CC_IS_CLANG
+       select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 && (GCC_VERSION >= 50000 || CC_IS_CLANG)
        select ARCH_SUPPORTS_NUMA_BALANCING
        select ARCH_WANT_COMPAT_IPC_PARSE_VERSION if COMPAT
        select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
@@ -142,6 +142,8 @@ config ARM64
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_DMA_CONTIGUOUS
        select HAVE_DYNAMIC_FTRACE
+       select HAVE_DYNAMIC_FTRACE_WITH_REGS \
+               if $(cc-option,-fpatchable-function-entry=2)
        select HAVE_EFFICIENT_UNALIGNED_ACCESS
        select HAVE_FAST_GUP
        select HAVE_FTRACE_MCOUNT_RECORD
@@ -179,7 +181,6 @@ config ARM64
        select PCI_SYSCALL if PCI
        select POWER_RESET
        select POWER_SUPPLY
-       select REFCOUNT_FULL
        select SPARSE_IRQ
        select SWIOTLB
        select SYSCTL_EXCEPTION_TRACE
@@ -541,6 +542,16 @@ config ARM64_ERRATUM_1286807
          invalidated has been observed by other observers. The
          workaround repeats the TLBI+DSB operation.
 
+config ARM64_ERRATUM_1319367
+       bool "Cortex-A57/A72: Speculative AT instruction using out-of-context translation regime could cause subsequent request to generate an incorrect translation"
+       default y
+       help
+         This option adds work arounds for ARM Cortex-A57 erratum 1319537
+         and A72 erratum 1319367
+
+         Cortex-A57 and A72 cores could end-up with corrupted TLBs by
+         speculating an AT instruction during a guest context switch.
+
          If unsure, say Y.
 
 config ARM64_ERRATUM_1463225
@@ -561,6 +572,22 @@ config ARM64_ERRATUM_1463225
 
          If unsure, say Y.
 
+config ARM64_ERRATUM_1542419
+       bool "Neoverse-N1: workaround mis-ordering of instruction fetches"
+       default y
+       help
+         This option adds a workaround for ARM Neoverse-N1 erratum
+         1542419.
+
+         Affected Neoverse-N1 cores could execute a stale instruction when
+         modified by another CPU. The workaround depends on a firmware
+         counterpart.
+
+         Workaround the issue by hiding the DIC feature from EL0. This
+         forces user-space to perform cache maintenance.
+
+         If unsure, say Y.
+
 config CAVIUM_ERRATUM_22375
        bool "Cavium erratum 22375, 24313"
        default y
@@ -848,10 +875,26 @@ config ARM64_PA_BITS
        default 48 if ARM64_PA_BITS_48
        default 52 if ARM64_PA_BITS_52
 
+choice
+       prompt "Endianness"
+       default CPU_LITTLE_ENDIAN
+       help
+         Select the endianness of data accesses performed by the CPU. Userspace
+         applications will need to be compiled and linked for the endianness
+         that is selected here.
+
 config CPU_BIG_ENDIAN
        bool "Build big-endian kernel"
        help
-         Say Y if you plan on running a kernel in big-endian mode.
+         Say Y if you plan on running a kernel with a big-endian userspace.
+
+config CPU_LITTLE_ENDIAN
+       bool "Build little-endian kernel"
+       help
+         Say Y if you plan on running a kernel with a little-endian userspace.
+         This is usually the case for distributions targeting arm64.
+
+endchoice
 
 config SCHED_MC
        bool "Multi-core scheduler support"
@@ -1600,6 +1643,7 @@ config CMDLINE
 
 config CMDLINE_FORCE
        bool "Always use the default kernel command string"
+       depends on CMDLINE != ""
        help
          Always use the default kernel command string, even if the boot
          loader passes other arguments to the kernel.