tilegx: enable SYSCALL_WRAPPERS support
[linux-flexiantxendom0-3.2.10.git] / arch / tile / Kconfig
index 290ef41..74239dd 100644 (file)
@@ -1,24 +1,36 @@
 # For a description of the syntax of this configuration file,
-# see Documentation/kbuild/config-language.txt.
+# see Documentation/kbuild/kconfig-language.txt.
 
-config MMU
-       def_bool y
-
-config GENERIC_CSUM
-       def_bool y
-
-config GENERIC_HARDIRQS
+config TILE
        def_bool y
+       select HAVE_KVM if !TILEGX
+       select GENERIC_FIND_FIRST_BIT
+       select USE_GENERIC_SMP_HELPERS
+       select CC_OPTIMIZE_FOR_SIZE
+       select HAVE_GENERIC_HARDIRQS
+       select GENERIC_IRQ_PROBE
+       select GENERIC_PENDING_IRQ if SMP
+       select GENERIC_IRQ_SHOW
+       select HAVE_SYSCALL_WRAPPERS if TILEGX
+       select SYS_HYPERVISOR
+       select ARCH_HAVE_NMI_SAFE_CMPXCHG
 
-config GENERIC_HARDIRQS_NO__DO_IRQ
-       def_bool y
+# FIXME: investigate whether we need/want these options.
+#      select HAVE_IOREMAP_PROT
+#      select HAVE_OPTPROBES
+#      select HAVE_REGS_AND_STACK_ACCESS_API
+#      select HAVE_HW_BREAKPOINT
+#      select PERF_EVENTS
+#      select HAVE_USER_RETURN_NOTIFIER
+#      config NO_BOOTMEM
+#      config ARCH_SUPPORTS_DEBUG_PAGEALLOC
+#      config HUGETLB_PAGE_SIZE_VARIABLE
 
-config GENERIC_IRQ_PROBE
+config MMU
        def_bool y
 
-config GENERIC_PENDING_IRQ
+config GENERIC_CSUM
        def_bool y
-       depends on GENERIC_HARDIRQS && SMP
 
 config SEMAPHORE_SLEEPERS
        def_bool y
@@ -30,18 +42,15 @@ config HAVE_SETUP_PER_CPU_AREA
        def_bool y
 
 config NEED_PER_CPU_PAGE_FIRST_CHUNK
-        def_bool y
-
-config SYS_SUPPORTS_HUGETLBFS
        def_bool y
 
-config GENERIC_TIME
+config SYS_SUPPORTS_HUGETLBFS
        def_bool y
 
 config GENERIC_CLOCKEVENTS
        def_bool y
 
-# FIXME: tilegx can implement a more efficent rwsem.
+# FIXME: tilegx can implement a more efficient rwsem.
 config RWSEM_GENERIC_SPINLOCK
        def_bool y
 
@@ -58,6 +67,12 @@ config ARCH_SUPPORTS_OPTIMIZED_INLINING
 config ARCH_PHYS_ADDR_T_64BIT
        def_bool y
 
+config ARCH_DMA_ADDR_T_64BIT
+       def_bool y
+
+config NEED_DMA_MAP_STATE
+       def_bool y
+
 config LOCKDEP_SUPPORT
        def_bool y
 
@@ -94,27 +109,6 @@ config HVC_TILE
        select HVC_DRIVER
        def_bool y
 
-config TILE
-       def_bool y
-       select GENERIC_FIND_FIRST_BIT
-       select GENERIC_FIND_NEXT_BIT
-       select USE_GENERIC_SMP_HELPERS
-       select CC_OPTIMIZE_FOR_SIZE
-
-# FIXME: investigate whether we need/want these options.
-#      select HAVE_IOREMAP_PROT
-#       select HAVE_OPTPROBES
-#       select HAVE_REGS_AND_STACK_ACCESS_API
-#       select HAVE_HW_BREAKPOINT
-#       select PERF_EVENTS
-#       select HAVE_USER_RETURN_NOTIFIER
-#       config NO_BOOTMEM
-#       config ARCH_SUPPORTS_DEBUG_PAGEALLOC
-#       config HUGETLB_PAGE_SIZE_VARIABLE
-
-
-mainmenu "Linux/TILE Kernel Configuration"
-
 # Please note: TILE-Gx support is not yet finalized; this is
 # the preliminary support.  TILE-Gx drivers are only provided
 # with the alpha or beta test versions for Tilera customers.
@@ -128,7 +122,7 @@ config 64BIT
 
 config ARCH_DEFCONFIG
        string
-       default "arch/tile/configs/tile_defconfig" if !TILEGX
+       default "arch/tile/configs/tilepro_defconfig" if !TILEGX
        default "arch/tile/configs/tilegx_defconfig" if TILEGX
 
 source "init/Kconfig"
@@ -210,15 +204,9 @@ config NODES_SHIFT
          By default, 2, i.e. 2^2 == 4 DDR2 controllers.
          In a system with more controllers, this value should be raised.
 
-# Need 16MB areas to enable hugetlb
-# See build-time check in arch/tile/mm/init.c.
-config FORCE_MAX_ZONEORDER
-       int
-       default 9
-
 choice
        depends on !TILEGX
-       prompt "Memory split" if EMBEDDED
+       prompt "Memory split" if EXPERT
        default VMSPLIT_3G
        ---help---
          Select the desired split between kernel and user memory.
@@ -236,14 +224,18 @@ choice
          If you are not absolutely sure what you are doing, leave this
          option alone!
 
-       config VMSPLIT_375G
+       config VMSPLIT_3_75G
                bool "3.75G/0.25G user/kernel split (no kernel networking)"
-       config VMSPLIT_35G
+       config VMSPLIT_3_5G
                bool "3.5G/0.5G user/kernel split"
        config VMSPLIT_3G
                bool "3G/1G user/kernel split"
-       config VMSPLIT_3G_OPT
-               bool "3G/1G user/kernel split (for full 1G low memory)"
+       config VMSPLIT_2_75G
+               bool "2.75G/1.25G user/kernel split (for full 1G low memory)"
+       config VMSPLIT_2_5G
+               bool "2.5G/1.5G user/kernel split"
+       config VMSPLIT_2_25G
+               bool "2.25G/1.75G user/kernel split"
        config VMSPLIT_2G
                bool "2G/2G user/kernel split"
        config VMSPLIT_1G
@@ -252,9 +244,12 @@ endchoice
 
 config PAGE_OFFSET
        hex
-       default 0xF0000000 if VMSPLIT_375G
-       default 0xE0000000 if VMSPLIT_35G
-       default 0xB0000000 if VMSPLIT_3G_OPT
+       depends on !64BIT
+       default 0xF0000000 if VMSPLIT_3_75G
+       default 0xE0000000 if VMSPLIT_3_5G
+       default 0xB0000000 if VMSPLIT_2_75G
+       default 0xA0000000 if VMSPLIT_2_5G
+       default 0x90000000 if VMSPLIT_2_25G
        default 0x80000000 if VMSPLIT_2G
        default 0x40000000 if VMSPLIT_1G
        default 0xC0000000
@@ -310,10 +305,36 @@ config VMALLOC_RESERVE
        hex
        default 0x1000000
 
+config HARDWALL
+       bool "Hardwall support to allow access to user dynamic network"
+       default y
+
+config KERNEL_PL
+       int "Processor protection level for kernel"
+       range 1 2
+       default "1"
+       ---help---
+         This setting determines the processor protection level the
+         kernel will be built to run at.  Generally you should use
+         the default value here.
+
 endmenu  # Tilera-specific configuration
 
 menu "Bus options"
 
+config PCI
+       bool "PCI support"
+       default y
+       select PCI_DOMAINS
+       select GENERIC_PCI_IOMAP
+       ---help---
+         Enable PCI root complex support, so PCIe endpoint devices can
+         be attached to the Tile chip.  Many, but not all, PCI devices
+         are supported under Tilera's root complex driver.
+
+config PCI_DOMAINS
+       bool
+
 config NO_IOMEM
        def_bool !PCI
 
@@ -322,6 +343,14 @@ config NO_IOPORT
 
 source "drivers/pci/Kconfig"
 
+config HOTPLUG
+       bool "Support for hot-pluggable devices"
+       ---help---
+         Say Y here if you want to plug devices into your computer while
+         the system is running, and be able to use them quickly.  In many
+         cases, the devices can likewise be unplugged at any time too.
+         One well-known example of this is USB.
+
 source "drivers/pci/hotplug/Kconfig"
 
 endmenu
@@ -350,3 +379,5 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
+
+source "arch/tile/kvm/Kconfig"