linux/arch/tile/Kconfig
<<
>>
Prefs
   1# For a description of the syntax of this configuration file,
   2# see Documentation/kbuild/kconfig-language.txt.
   3
   4config TILE
   5        def_bool y
   6        select HAVE_KVM if !TILEGX
   7        select GENERIC_FIND_FIRST_BIT
   8        select USE_GENERIC_SMP_HELPERS
   9        select CC_OPTIMIZE_FOR_SIZE
  10        select HAVE_GENERIC_HARDIRQS
  11        select GENERIC_IRQ_PROBE
  12        select GENERIC_PENDING_IRQ if SMP
  13        select GENERIC_IRQ_SHOW
  14        select SYS_HYPERVISOR
  15        select ARCH_HAVE_NMI_SAFE_CMPXCHG if !M386
  16
  17# FIXME: investigate whether we need/want these options.
  18#       select HAVE_IOREMAP_PROT
  19#       select HAVE_OPTPROBES
  20#       select HAVE_REGS_AND_STACK_ACCESS_API
  21#       select HAVE_HW_BREAKPOINT
  22#       select PERF_EVENTS
  23#       select HAVE_USER_RETURN_NOTIFIER
  24#       config NO_BOOTMEM
  25#       config ARCH_SUPPORTS_DEBUG_PAGEALLOC
  26#       config HUGETLB_PAGE_SIZE_VARIABLE
  27
  28config MMU
  29        def_bool y
  30
  31config GENERIC_CSUM
  32        def_bool y
  33
  34config SEMAPHORE_SLEEPERS
  35        def_bool y
  36
  37config HAVE_ARCH_ALLOC_REMAP
  38        def_bool y
  39
  40config HAVE_SETUP_PER_CPU_AREA
  41        def_bool y
  42
  43config NEED_PER_CPU_PAGE_FIRST_CHUNK
  44        def_bool y
  45
  46config SYS_SUPPORTS_HUGETLBFS
  47        def_bool y
  48
  49config GENERIC_CLOCKEVENTS
  50        def_bool y
  51
  52# FIXME: tilegx can implement a more efficient rwsem.
  53config RWSEM_GENERIC_SPINLOCK
  54        def_bool y
  55
  56# We have a very flat architecture from a migration point of view,
  57# so save boot time by presetting this (particularly useful on tile-sim).
  58config DEFAULT_MIGRATION_COST
  59        int
  60        default "10000000"
  61
  62# We only support gcc 4.4 and above, so this should work.
  63config ARCH_SUPPORTS_OPTIMIZED_INLINING
  64        def_bool y
  65
  66config ARCH_PHYS_ADDR_T_64BIT
  67        def_bool y
  68
  69config ARCH_DMA_ADDR_T_64BIT
  70        def_bool y
  71
  72config LOCKDEP_SUPPORT
  73        def_bool y
  74
  75config STACKTRACE_SUPPORT
  76        def_bool y
  77        select STACKTRACE
  78
  79# We use discontigmem for now; at some point we may want to switch
  80# to sparsemem (Tilera bug 7996).
  81config ARCH_DISCONTIGMEM_ENABLE
  82        def_bool y
  83
  84config ARCH_DISCONTIGMEM_DEFAULT
  85        def_bool y
  86
  87config TRACE_IRQFLAGS_SUPPORT
  88        def_bool y
  89
  90config STRICT_DEVMEM
  91        def_bool y
  92
  93# SMP is required for Tilera Linux.
  94config SMP
  95        def_bool y
  96
  97# Allow checking for compile-time determined overflow errors in
  98# copy_from_user().  There are still unprovable places in the
  99# generic code as of 2.6.34, so this option is not really compatible
 100# with -Werror, which is more useful in general.
 101config DEBUG_COPY_FROM_USER
 102        def_bool n
 103
 104config HVC_TILE
 105        select HVC_DRIVER
 106        def_bool y
 107
 108# Please note: TILE-Gx support is not yet finalized; this is
 109# the preliminary support.  TILE-Gx drivers are only provided
 110# with the alpha or beta test versions for Tilera customers.
 111config TILEGX
 112        depends on EXPERIMENTAL
 113        bool "Building with TILE-Gx (64-bit) compiler and toolchain"
 114
 115config 64BIT
 116        depends on TILEGX
 117        def_bool y
 118
 119config ARCH_DEFCONFIG
 120        string
 121        default "arch/tile/configs/tile_defconfig" if !TILEGX
 122        default "arch/tile/configs/tilegx_defconfig" if TILEGX
 123
 124source "init/Kconfig"
 125
 126menu "Tilera-specific configuration"
 127
 128config NR_CPUS
 129        int "Maximum number of tiles (2-255)"
 130        range 2 255
 131        depends on SMP
 132        default "64"
 133        ---help---
 134          Building with 64 is the recommended value, but a slightly
 135          smaller kernel memory footprint results from using a smaller
 136          value on chips with fewer tiles.
 137
 138source "kernel/time/Kconfig"
 139
 140source "kernel/Kconfig.hz"
 141
 142config KEXEC
 143        bool "kexec system call"
 144        ---help---
 145          kexec is a system call that implements the ability to shutdown your
 146          current kernel, and to start another kernel.  It is like a reboot
 147          but it is independent of the system firmware.   It is used
 148          to implement the "mboot" Tilera booter.
 149
 150          The name comes from the similarity to the exec system call.
 151
 152config COMPAT
 153        bool "Support 32-bit TILE-Gx binaries in addition to 64-bit"
 154        depends on TILEGX
 155        select COMPAT_BINFMT_ELF
 156        default y
 157        ---help---
 158          If enabled, the kernel will support running TILE-Gx binaries
 159          that were built with the -m32 option.
 160
 161config SYSVIPC_COMPAT
 162        def_bool y
 163        depends on COMPAT && SYSVIPC
 164
 165# We do not currently support disabling HIGHMEM on tile64 and tilepro.
 166config HIGHMEM
 167        bool # "Support for more than 512 MB of RAM"
 168        default !TILEGX
 169        ---help---
 170          Linux can use the full amount of RAM in the system by
 171          default.  However, the address space of TILE processors is
 172          only 4 Gigabytes large. That means that, if you have a large
 173          amount of physical memory, not all of it can be "permanently
 174          mapped" by the kernel. The physical memory that's not
 175          permanently mapped is called "high memory".
 176
 177          If you are compiling a kernel which will never run on a
 178          machine with more than 512 MB total physical RAM, answer
 179          "false" here. This will result in the kernel mapping all of
 180          physical memory into the top 1 GB of virtual memory space.
 181
 182          If unsure, say "true".
 183
 184# We do not currently support disabling NUMA.
 185config NUMA
 186        bool # "NUMA Memory Allocation and Scheduler Support"
 187        depends on SMP && DISCONTIGMEM
 188        default y
 189        ---help---
 190          NUMA memory allocation is required for TILE processors
 191          unless booting with memory striping enabled in the
 192          hypervisor, or with only a single memory controller.
 193          It is recommended that this option always be enabled.
 194
 195config NODES_SHIFT
 196        int "Log base 2 of the max number of memory controllers"
 197        default 2
 198        depends on NEED_MULTIPLE_NODES
 199        ---help---
 200          By default, 2, i.e. 2^2 == 4 DDR2 controllers.
 201          In a system with more controllers, this value should be raised.
 202
 203choice
 204        depends on !TILEGX
 205        prompt "Memory split" if EXPERT
 206        default VMSPLIT_3G
 207        ---help---
 208          Select the desired split between kernel and user memory.
 209
 210          If the address range available to the kernel is less than the
 211          physical memory installed, the remaining memory will be available
 212          as "high memory". Accessing high memory is a little more costly
 213          than low memory, as it needs to be mapped into the kernel first.
 214          Note that increasing the kernel address space limits the range
 215          available to user programs, making the address space there
 216          tighter.  Selecting anything other than the default 3G/1G split
 217          will also likely make your kernel incompatible with binary-only
 218          kernel modules.
 219
 220          If you are not absolutely sure what you are doing, leave this
 221          option alone!
 222
 223        config VMSPLIT_3_75G
 224                bool "3.75G/0.25G user/kernel split (no kernel networking)"
 225        config VMSPLIT_3_5G
 226                bool "3.5G/0.5G user/kernel split"
 227        config VMSPLIT_3G
 228                bool "3G/1G user/kernel split"
 229        config VMSPLIT_2_75G
 230                bool "2.75G/1.25G user/kernel split (for full 1G low memory)"
 231        config VMSPLIT_2_5G
 232                bool "2.5G/1.5G user/kernel split"
 233        config VMSPLIT_2_25G
 234                bool "2.25G/1.75G user/kernel split"
 235        config VMSPLIT_2G
 236                bool "2G/2G user/kernel split"
 237        config VMSPLIT_1G
 238                bool "1G/3G user/kernel split"
 239endchoice
 240
 241config PAGE_OFFSET
 242        hex
 243        default 0xF0000000 if VMSPLIT_3_75G
 244        default 0xE0000000 if VMSPLIT_3_5G
 245        default 0xB0000000 if VMSPLIT_2_75G
 246        default 0xA0000000 if VMSPLIT_2_5G
 247        default 0x90000000 if VMSPLIT_2_25G
 248        default 0x80000000 if VMSPLIT_2G
 249        default 0x40000000 if VMSPLIT_1G
 250        default 0xC0000000
 251
 252source "mm/Kconfig"
 253
 254config CMDLINE_BOOL
 255        bool "Built-in kernel command line"
 256        default n
 257        ---help---
 258          Allow for specifying boot arguments to the kernel at
 259          build time.  On some systems (e.g. embedded ones), it is
 260          necessary or convenient to provide some or all of the
 261          kernel boot arguments with the kernel itself (that is,
 262          to not rely on the boot loader to provide them.)
 263
 264          To compile command line arguments into the kernel,
 265          set this option to 'Y', then fill in the
 266          the boot arguments in CONFIG_CMDLINE.
 267
 268          Systems with fully functional boot loaders (e.g. mboot, or
 269          if booting over PCI) should leave this option set to 'N'.
 270
 271config CMDLINE
 272        string "Built-in kernel command string"
 273        depends on CMDLINE_BOOL
 274        default ""
 275        ---help---
 276          Enter arguments here that should be compiled into the kernel
 277          image and used at boot time.  If the boot loader provides a
 278          command line at boot time, it is appended to this string to
 279          form the full kernel command line, when the system boots.
 280
 281          However, you can use the CONFIG_CMDLINE_OVERRIDE option to
 282          change this behavior.
 283
 284          In most cases, the command line (whether built-in or provided
 285          by the boot loader) should specify the device for the root
 286          file system.
 287
 288config CMDLINE_OVERRIDE
 289        bool "Built-in command line overrides boot loader arguments"
 290        default n
 291        depends on CMDLINE_BOOL
 292        ---help---
 293          Set this option to 'Y' to have the kernel ignore the boot loader
 294          command line, and use ONLY the built-in command line.
 295
 296          This is used to work around broken boot loaders.  This should
 297          be set to 'N' under normal conditions.
 298
 299config VMALLOC_RESERVE
 300        hex
 301        default 0x1000000
 302
 303config HARDWALL
 304        bool "Hardwall support to allow access to user dynamic network"
 305        default y
 306
 307config KERNEL_PL
 308        int "Processor protection level for kernel"
 309        range 1 2
 310        default "1"
 311        ---help---
 312          This setting determines the processor protection level the
 313          kernel will be built to run at.  Generally you should use
 314          the default value here.
 315
 316endmenu  # Tilera-specific configuration
 317
 318menu "Bus options"
 319
 320config PCI
 321        bool "PCI support"
 322        default y
 323        select PCI_DOMAINS
 324        select GENERIC_PCI_IOMAP
 325        ---help---
 326          Enable PCI root complex support, so PCIe endpoint devices can
 327          be attached to the Tile chip.  Many, but not all, PCI devices
 328          are supported under Tilera's root complex driver.
 329
 330config PCI_DOMAINS
 331        bool
 332
 333config NO_IOMEM
 334        def_bool !PCI
 335
 336config NO_IOPORT
 337        def_bool !PCI
 338
 339source "drivers/pci/Kconfig"
 340
 341config HOTPLUG
 342        bool "Support for hot-pluggable devices"
 343        ---help---
 344          Say Y here if you want to plug devices into your computer while
 345          the system is running, and be able to use them quickly.  In many
 346          cases, the devices can likewise be unplugged at any time too.
 347          One well-known example of this is USB.
 348
 349source "drivers/pci/hotplug/Kconfig"
 350
 351endmenu
 352
 353menu "Executable file formats"
 354
 355# only elf supported
 356config KCORE_ELF
 357        def_bool y
 358        depends on PROC_FS
 359
 360source "fs/Kconfig.binfmt"
 361
 362endmenu
 363
 364source "net/Kconfig"
 365
 366source "drivers/Kconfig"
 367
 368source "fs/Kconfig"
 369
 370source "arch/tile/Kconfig.debug"
 371
 372source "security/Kconfig"
 373
 374source "crypto/Kconfig"
 375
 376source "lib/Kconfig"
 377
 378source "arch/tile/kvm/Kconfig"
 379
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.