]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/Kconfig
Merge tag 'for-linus-20160112' of git://git.infradead.org/linux-mtd
[karo-tx-linux.git] / arch / arm / Kconfig
index 688dc7b0d95121a95285a998b6f019a4b8f30cf5..426115f7cb6327348b85bb6667bff99dbf0249f6 100644 (file)
@@ -20,6 +20,7 @@ config ARM
        select GENERIC_ALLOCATOR
        select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
+       select GENERIC_EARLY_IOREMAP
        select GENERIC_IDLE_POLL_SETUP
        select GENERIC_IRQ_PROBE
        select GENERIC_IRQ_SHOW
@@ -33,10 +34,11 @@ config ARM
        select HARDIRQS_SW_RESEND
        select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
        select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
-       select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32
-       select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32
+       select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
+       select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
        select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
        select HAVE_ARCH_TRACEHOOK
+       select HAVE_ARM_SMCCC if CPU_V7
        select HAVE_BPF_JIT
        select HAVE_CC_STACKPROTECTOR
        select HAVE_CONTEXT_TRACKING
@@ -45,7 +47,7 @@ config ARM
        select HAVE_DMA_API_DEBUG
        select HAVE_DMA_ATTRS
        select HAVE_DMA_CONTIGUOUS if MMU
-       select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32
+       select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU
        select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
        select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
        select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
@@ -802,6 +804,7 @@ config ARCH_VIRT
        bool "Dummy Virtual Machine" if ARCH_MULTI_V7
        select ARM_AMBA
        select ARM_GIC
+       select ARM_GIC_V2M if PCI_MSI
        select ARM_GIC_V3
        select ARM_PSCI
        select HAVE_ARM_ARCH_TIMER
@@ -1425,7 +1428,7 @@ config BIG_LITTLE
 
 config BL_SWITCHER
        bool "big.LITTLE switcher support"
-       depends on BIG_LITTLE && MCPM && HOTPLUG_CPU
+       depends on BIG_LITTLE && MCPM && HOTPLUG_CPU && ARM_GIC
        select ARM_CPU_SUSPEND
        select CPU_PM
        help
@@ -1484,7 +1487,7 @@ config HOTPLUG_CPU
 
 config ARM_PSCI
        bool "Support for the ARM Power State Coordination Interface (PSCI)"
-       depends on CPU_V7
+       depends on HAVE_ARM_SMCCC
        select ARM_PSCI_FW
        help
          Say Y here if you want Linux to communicate with system firmware
@@ -1607,6 +1610,24 @@ config THUMB2_AVOID_R_ARM_THM_JUMP11
 config ARM_ASM_UNIFIED
        bool
 
+config ARM_PATCH_IDIV
+       bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
+       depends on CPU_32v7 && !XIP_KERNEL
+       default y
+       help
+         The ARM compiler inserts calls to __aeabi_idiv() and
+         __aeabi_uidiv() when it needs to perform division on signed
+         and unsigned integers. Some v7 CPUs have support for the sdiv
+         and udiv instructions that can be used to implement those
+         functions.
+
+         Enabling this option allows the kernel to modify itself to
+         replace the first two instructions of these library functions
+         with the sdiv or udiv plus "bx lr" instructions when the CPU
+         it is running on supports them. Typically this will be faster
+         and less power intensive than running the original library
+         code to do integer division.
+
 config AEABI
        bool "Use the ARM EABI to compile the kernel"
        help
@@ -1803,6 +1824,25 @@ config SWIOTLB
 config IOMMU_HELPER
        def_bool SWIOTLB
 
+config PARAVIRT
+       bool "Enable paravirtualization code"
+       help
+         This changes the kernel so it can modify itself when it is run
+         under a hypervisor, potentially improving performance significantly
+         over full virtualization.
+
+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
+         the current vCPU is discounted from the vCPU power. To account for
+         that, there can be a small performance impact.
+
+         If in doubt, say N here.
+
 config XEN_DOM0
        def_bool y
        depends on XEN
@@ -1816,6 +1856,7 @@ config XEN
        select ARCH_DMA_ADDR_T_64BIT
        select ARM_PSCI
        select SWIOTLB_XEN
+       select PARAVIRT
        help
          Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
 
@@ -2043,6 +2084,25 @@ config AUTO_ZRELADDR
          0xf8000000. This assumes the zImage being placed in the first 128MB
          from start of memory.
 
+config EFI_STUB
+       bool
+
+config EFI
+       bool "UEFI runtime support"
+       depends on OF && !CPU_BIG_ENDIAN && MMU && AUTO_ZRELADDR && !XIP_KERNEL
+       select UCS2_STRING
+       select EFI_PARAMS_FROM_FDT
+       select EFI_STUB
+       select EFI_ARMSTUB
+       select EFI_RUNTIME_WRAPPERS
+       ---help---
+         This option provides support for runtime services provided
+         by UEFI firmware (such as non-volatile variables, realtime
+         clock, and platform reset). A UEFI stub is also provided to
+         allow the kernel to be booted as an EFI application. This
+         is only useful for kernels that may run on systems that have
+         UEFI firmware.
+
 endmenu
 
 menu "CPU Power Management"