]> rtime.felk.cvut.cz Git - zynq/linux.git/blobdiff - arch/arm/Kconfig
Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[zynq/linux.git] / arch / arm / Kconfig
index 084f0983e6b2550375a955cd90e1ffbc5e000d8b..664e918e26249a6dd0a43fa1c80eaf187a040821 100644 (file)
@@ -19,6 +19,7 @@ config ARM
        select ARCH_HAVE_CUSTOM_GPIO_H
        select ARCH_HAS_GCOV_PROFILE_ALL
        select ARCH_MIGHT_HAVE_PC_PARPORT
+       select ARCH_NO_SG_CHAIN if !ARM_HAS_SG_CHAIN
        select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
        select ARCH_SUPPORTS_ATOMIC_RMW
@@ -27,14 +28,14 @@ config ARM
        select ARCH_WANT_IPC_PARSE_VERSION
        select BUILDTIME_EXTABLE_SORT if MMU
        select CLONE_BACKWARDS
-       select CPU_PM if (SUSPEND || CPU_IDLE)
+       select CPU_PM if SUSPEND || CPU_IDLE
        select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
-       select DMA_DIRECT_OPS if !MMU
+       select DMA_REMAP if MMU
        select EDAC_SUPPORT
        select EDAC_ATOMIC_SCRUB
        select GENERIC_ALLOCATOR
        select GENERIC_ARCH_TOPOLOGY if ARM_CPU_TOPOLOGY
-       select GENERIC_ATOMIC64 if (CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI)
+       select GENERIC_ATOMIC64 if CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI
        select GENERIC_CLOCKEVENTS_BROADCAST if SMP
        select GENERIC_CPU_AUTOPROBE
        select GENERIC_EARLY_IOREMAP
@@ -49,12 +50,12 @@ config ARM
        select GENERIC_STRNLEN_USER
        select HANDLE_DOMAIN_IRQ
        select HARDIRQS_SW_RESEND
-       select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
+       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 && MMU
        select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
        select HAVE_ARCH_MMAP_RND_BITS if MMU
-       select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
+       select HAVE_ARCH_SECCOMP_FILTER if AEABI && !OABI_COMPAT
        select HAVE_ARCH_THREAD_STRUCT_WHITELIST
        select HAVE_ARCH_TRACEHOOK
        select HAVE_ARM_SMCCC if CPU_V7
@@ -63,16 +64,16 @@ config ARM
        select HAVE_C_RECORDMCOUNT
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_DMA_CONTIGUOUS if MMU
-       select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL) && !CPU_ENDIAN_BE32 && MMU
+       select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
        select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
        select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
        select HAVE_EXIT_THREAD
-       select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
-       select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL)
-       select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
+       select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
+       select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL
+       select HAVE_FUNCTION_TRACER if !XIP_KERNEL
        select HAVE_GCC_PLUGINS
        select HAVE_GENERIC_DMA_COHERENT
-       select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
+       select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
        select HAVE_IDE if PCI || ISA || PCMCIA
        select HAVE_IRQ_TIME_ACCOUNTING
        select HAVE_KERNEL_GZIP
@@ -81,15 +82,15 @@ config ARM
        select HAVE_KERNEL_LZO
        select HAVE_KERNEL_XZ
        select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
-       select HAVE_KRETPROBES if (HAVE_KPROBES)
+       select HAVE_KRETPROBES if HAVE_KPROBES
        select HAVE_MOD_ARCH_SPECIFIC
        select HAVE_NMI
-       select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
+       select HAVE_OPROFILE if HAVE_PERF_EVENTS
        select HAVE_OPTPROBES if !THUMB2_KERNEL
        select HAVE_PERF_EVENTS
        select HAVE_PERF_REGS
        select HAVE_PERF_USER_STACK_DUMP
-       select HAVE_RCU_TABLE_FREE if (SMP && ARM_LPAE)
+       select HAVE_RCU_TABLE_FREE if SMP && ARM_LPAE
        select HAVE_REGS_AND_STACK_ACCESS_API
        select HAVE_RSEQ
        select HAVE_STACKPROTECTOR
@@ -103,6 +104,7 @@ config ARM
        select OF_RESERVED_MEM if OF
        select OLD_SIGACTION
        select OLD_SIGSUSPEND3
+       select PCI_SYSCALL if PCI
        select PERF_USE_VMALLOC
        select REFCOUNT_FULL
        select RTC_LIB
@@ -118,7 +120,6 @@ config ARM
          <http://www.arm.linux.org.uk/>.
 
 config ARM_HAS_SG_CHAIN
-       select ARCH_HAS_SG_CHAIN
        bool
 
 config ARM_DMA_USE_IOMMU
@@ -147,9 +148,6 @@ config ARM_DMA_IOMMU_ALIGNMENT
 
 endif
 
-config MIGHT_HAVE_PCI
-       bool
-
 config SYS_SUPPORTS_APM_EMULATION
        bool
 
@@ -163,21 +161,6 @@ config HAVE_PROC_CPU
 config NO_IOPORT_MAP
        bool
 
-config EISA
-       bool
-       ---help---
-         The Extended Industry Standard Architecture (EISA) bus was
-         developed as an open alternative to the IBM MicroChannel bus.
-
-         The EISA bus provided some of the features of the IBM MicroChannel
-         bus while maintaining backward compatibility with cards made for
-         the older ISA bus.  The EISA bus saw limited use between 1988 and
-         1995 when it was made obsolete by the PCI bus.
-
-         Say Y here if you are building a kernel for an EISA-based machine.
-
-         Otherwise, say N.
-
 config SBUS
        bool
 
@@ -333,8 +316,8 @@ config ARCH_MULTIPLATFORM
        select COMMON_CLK
        select GENERIC_CLOCKEVENTS
        select GENERIC_IRQ_MULTI_HANDLER
-       select MIGHT_HAVE_PCI
-       select PCI_DOMAINS if PCI
+       select HAVE_PCI
+       select PCI_DOMAINS_GENERIC if PCI
        select SPARSE_IRQ
        select USE_OF
 
@@ -407,7 +390,7 @@ config ARCH_IOP13XX
        select CPU_XSC3
        select NEED_MACH_MEMORY_H
        select NEED_RET_TO_USER
-       select PCI
+       select FORCE_PCI
        select PLAT_IOP
        select VMSPLIT_1G
        select SPARSE_IRQ
@@ -421,7 +404,7 @@ config ARCH_IOP32X
        select GPIO_IOP
        select GPIOLIB
        select NEED_RET_TO_USER
-       select PCI
+       select FORCE_PCI
        select PLAT_IOP
        help
          Support for Intel's 80219 and IOP32X (XScale) family of
@@ -434,7 +417,7 @@ config ARCH_IOP33X
        select GPIO_IOP
        select GPIOLIB
        select NEED_RET_TO_USER
-       select PCI
+       select FORCE_PCI
        select PLAT_IOP
        help
          Support for Intel's IOP33X (XScale) family of processors.
@@ -449,7 +432,7 @@ config ARCH_IXP4XX
        select DMABOUNCE if PCI
        select GENERIC_CLOCKEVENTS
        select GPIOLIB
-       select MIGHT_HAVE_PCI
+       select HAVE_PCI
        select NEED_MACH_IO_H
        select USB_EHCI_BIG_ENDIAN_DESC
        select USB_EHCI_BIG_ENDIAN_MMIO
@@ -462,7 +445,7 @@ config ARCH_DOVE
        select GENERIC_CLOCKEVENTS
        select GENERIC_IRQ_MULTI_HANDLER
        select GPIOLIB
-       select MIGHT_HAVE_PCI
+       select HAVE_PCI
        select MVEBU_MBUS
        select PINCTRL
        select PINCTRL_DOVE
@@ -912,7 +895,7 @@ config PLAT_VERSATILE
 
 source "arch/arm/firmware/Kconfig"
 
-source arch/arm/mm/Kconfig
+source "arch/arm/mm/Kconfig"
 
 config IWMMXT
        bool "Enable iWMMXt support"
@@ -1232,46 +1215,18 @@ config ISA_DMA
 config ISA_DMA_API
        bool
 
-config PCI
-       bool "PCI support" if MIGHT_HAVE_PCI
-       help
-         Find out whether you have a PCI motherboard. PCI is the name of a
-         bus system, i.e. the way the CPU talks to the other stuff inside
-         your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
-         VESA. If you have PCI, say Y, otherwise N.
-
-config PCI_DOMAINS
-       bool "Support for multiple PCI domains"
-       depends on PCI
-       help
-         Enable PCI domains kernel management. Say Y if your machine
-         has a PCI bus hierarchy that requires more than one PCI
-         domain (aka segment) to be correctly managed. Say N otherwise.
-
-         If you don't know what to do here, say N.
-
-config PCI_DOMAINS_GENERIC
-       def_bool PCI_DOMAINS
-
 config PCI_NANOENGINE
        bool "BSE nanoEngine PCI support"
        depends on SA1100_NANOENGINE
        help
          Enable PCI on the BSE nanoEngine board.
 
-config PCI_SYSCALL
-       def_bool PCI
-
 config PCI_HOST_ITE8152
        bool
        depends on PCI && MACH_ARMCORE
        default y
        select DMABOUNCE
 
-source "drivers/pci/Kconfig"
-
-source "drivers/pcmcia/Kconfig"
-
 endmenu
 
 menu "Kernel Features"
@@ -1785,7 +1740,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
@@ -1812,6 +1766,21 @@ config XEN
        help
          Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
 
+config STACKPROTECTOR_PER_TASK
+       bool "Use a unique stack canary value for each task"
+       depends on GCC_PLUGINS && STACKPROTECTOR && SMP && !XIP_DEFLATED_DATA
+       select GCC_PLUGIN_ARM_SSP_PER_TASK
+       default y
+       help
+         Due to the fact that GCC uses an ordinary symbol reference from
+         which to load the value of the stack canary, this value can only
+         change at reboot time on SMP systems, and all tasks running in the
+         kernel's address space are forced to use the same canary value for
+         the entire duration that the system is up.
+
+         Enable this option to switch to a different method that uses a
+         different canary value for each task.
+
 endmenu
 
 menu "Boot options"