linux/arch/ia64/Kconfig
<<
>>
Prefs
   1#
   2# For a description of the syntax of this configuration file,
   3# see Documentation/kbuild/kconfig-language.txt.
   4#
   5
   6mainmenu "IA-64 Linux Kernel Configuration"
   7
   8source "init/Kconfig"
   9
  10menu "Processor type and features"
  11
  12config IA64
  13        bool
  14        select PCI if (!IA64_HP_SIM)
  15        select ACPI if (!IA64_HP_SIM)
  16        select PM if (!IA64_HP_SIM)
  17        select ARCH_SUPPORTS_MSI
  18        default y
  19        help
  20          The Itanium Processor Family is Intel's 64-bit successor to
  21          the 32-bit X86 line.  The IA-64 Linux project has a home
  22          page at <http://www.linuxia64.org/> and a mailing list at
  23          <linux-ia64@vger.kernel.org>.
  24
  25config 64BIT
  26        bool
  27        select ATA_NONSTANDARD if ATA
  28        default y
  29
  30config ZONE_DMA
  31        def_bool y
  32        depends on !IA64_SGI_SN2
  33
  34config QUICKLIST
  35        bool
  36        default y
  37
  38config MMU
  39        bool
  40        default y
  41
  42config SWIOTLB
  43       bool
  44
  45config RWSEM_XCHGADD_ALGORITHM
  46        bool
  47        default y
  48
  49config ARCH_HAS_ILOG2_U32
  50        bool
  51        default n
  52
  53config ARCH_HAS_ILOG2_U64
  54        bool
  55        default n
  56
  57config HUGETLB_PAGE_SIZE_VARIABLE
  58        bool
  59        depends on HUGETLB_PAGE
  60        default y
  61
  62config GENERIC_FIND_NEXT_BIT
  63        bool
  64        default y
  65
  66config GENERIC_CALIBRATE_DELAY
  67        bool
  68        default y
  69
  70config GENERIC_TIME
  71        bool
  72        default y
  73
  74config GENERIC_TIME_VSYSCALL
  75        bool
  76        default y
  77
  78config DMI
  79        bool
  80        default y
  81
  82config EFI
  83        bool
  84        default y
  85
  86config GENERIC_IOMAP
  87        bool
  88        default y
  89
  90config SCHED_NO_NO_OMIT_FRAME_POINTER
  91        bool
  92        default y
  93
  94config IA64_UNCACHED_ALLOCATOR
  95        bool
  96        select GENERIC_ALLOCATOR
  97
  98config AUDIT_ARCH
  99        bool
 100        default y
 101
 102choice
 103        prompt "System type"
 104        default IA64_GENERIC
 105
 106config IA64_GENERIC
 107        bool "generic"
 108        select NUMA
 109        select ACPI_NUMA
 110        select SWIOTLB
 111        help
 112          This selects the system type of your hardware.  A "generic" kernel
 113          will run on any supported IA-64 system.  However, if you configure
 114          a kernel for your specific system, it will be faster and smaller.
 115
 116          generic               For any supported IA-64 system
 117          DIG-compliant         For DIG ("Developer's Interface Guide") compliant systems
 118          HP-zx1/sx1000         For HP systems
 119          HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
 120          SGI-SN2               For SGI Altix systems
 121          Ski-simulator         For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
 122
 123          If you don't know what to do, choose "generic".
 124
 125config IA64_DIG
 126        bool "DIG-compliant"
 127        select SWIOTLB
 128
 129config IA64_HP_ZX1
 130        bool "HP-zx1/sx1000"
 131        help
 132          Build a kernel that runs on HP zx1 and sx1000 systems.  This adds
 133          support for the HP I/O MMU.
 134
 135config IA64_HP_ZX1_SWIOTLB
 136        bool "HP-zx1/sx1000 with software I/O TLB"
 137        select SWIOTLB
 138        help
 139          Build a kernel that runs on HP zx1 and sx1000 systems even when they
 140          have broken PCI devices which cannot DMA to full 32 bits.  Apart
 141          from support for the HP I/O MMU, this includes support for the software
 142          I/O TLB, which allows supporting the broken devices at the expense of
 143          wasting some kernel memory (about 2MB by default).
 144
 145config IA64_SGI_SN2
 146        bool "SGI-SN2"
 147        help
 148          Selecting this option will optimize the kernel for use on sn2 based
 149          systems, but the resulting kernel binary will not run on other
 150          types of ia64 systems.  If you have an SGI Altix system, it's safe
 151          to select this option.  If in doubt, select ia64 generic support
 152          instead.
 153
 154config IA64_HP_SIM
 155        bool "Ski-simulator"
 156        select SWIOTLB
 157
 158endchoice
 159
 160choice
 161        prompt "Processor type"
 162        default ITANIUM
 163
 164config ITANIUM
 165        bool "Itanium"
 166        help
 167          Select your IA-64 processor type.  The default is Itanium.
 168          This choice is safe for all IA-64 systems, but may not perform
 169          optimally on systems with, say, Itanium 2 or newer processors.
 170
 171config MCKINLEY
 172        bool "Itanium 2"
 173        help
 174          Select this to configure for an Itanium 2 (McKinley) processor.
 175
 176endchoice
 177
 178choice
 179        prompt "Kernel page size"
 180        default IA64_PAGE_SIZE_16KB
 181
 182config IA64_PAGE_SIZE_4KB
 183        bool "4KB"
 184        help
 185          This lets you select the page size of the kernel.  For best IA-64
 186          performance, a page size of 8KB or 16KB is recommended.  For best
 187          IA-32 compatibility, a page size of 4KB should be selected (the vast
 188          majority of IA-32 binaries work perfectly fine with a larger page
 189          size).  For Itanium 2 or newer systems, a page size of 64KB can also
 190          be selected.
 191
 192          4KB                For best IA-32 compatibility
 193          8KB                For best IA-64 performance
 194          16KB               For best IA-64 performance
 195          64KB               Requires Itanium 2 or newer processor.
 196
 197          If you don't know what to do, choose 16KB.
 198
 199config IA64_PAGE_SIZE_8KB
 200        bool "8KB"
 201
 202config IA64_PAGE_SIZE_16KB
 203        bool "16KB"
 204
 205config IA64_PAGE_SIZE_64KB
 206        depends on !ITANIUM
 207        bool "64KB"
 208
 209endchoice
 210
 211choice
 212        prompt "Page Table Levels"
 213        default PGTABLE_3
 214
 215config PGTABLE_3
 216        bool "3 Levels"
 217
 218config PGTABLE_4
 219        depends on !IA64_PAGE_SIZE_64KB
 220        bool "4 Levels"
 221
 222endchoice
 223
 224source kernel/Kconfig.hz
 225
 226config IA64_BRL_EMU
 227        bool
 228        depends on ITANIUM
 229        default y
 230
 231# align cache-sensitive data to 128 bytes
 232config IA64_L1_CACHE_SHIFT
 233        int
 234        default "7" if MCKINLEY
 235        default "6" if ITANIUM
 236
 237config IA64_CYCLONE
 238        bool "Cyclone (EXA) Time Source support"
 239        help
 240          Say Y here to enable support for IBM EXA Cyclone time source.
 241          If you're unsure, answer N.
 242
 243config IOSAPIC
 244        bool
 245        depends on !IA64_HP_SIM
 246        default y
 247
 248config IA64_SGI_SN_XP
 249        tristate "Support communication between SGI SSIs"
 250        depends on IA64_GENERIC || IA64_SGI_SN2
 251        select IA64_UNCACHED_ALLOCATOR
 252        help
 253          An SGI machine can be divided into multiple Single System
 254          Images which act independently of each other and have
 255          hardware based memory protection from the others.  Enabling
 256          this feature will allow for direct communication between SSIs
 257          based on a network adapter and DMA messaging.
 258
 259config FORCE_MAX_ZONEORDER
 260        int "MAX_ORDER (11 - 17)"  if !HUGETLB_PAGE
 261        range 11 17  if !HUGETLB_PAGE
 262        default "17" if HUGETLB_PAGE
 263        default "11"
 264
 265config SMP
 266        bool "Symmetric multi-processing support"
 267        help
 268          This enables support for systems with more than one CPU. If you have
 269          a system with only one CPU, say N.  If you have a system with more
 270          than one CPU, say Y.
 271
 272          If you say N here, the kernel will run on single and multiprocessor
 273          systems, but will use only one CPU of a multiprocessor system.  If
 274          you say Y here, the kernel will run on many, but not all,
 275          single processor systems.  On a single processor system, the kernel
 276          will run faster if you say N here.
 277
 278          See also the <file:Documentation/smp.txt> and the SMP-HOWTO
 279          available at <http://www.tldp.org/docs.html#howto>.
 280
 281          If you don't know what to do here, say N.
 282
 283config NR_CPUS
 284        int "Maximum number of CPUs (2-1024)"
 285        range 2 1024
 286        depends on SMP
 287        default "1024"
 288        help
 289          You should set this to the number of CPUs in your system, but
 290          keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
 291          only use 2 CPUs on a >2 CPU system.  Setting this to a value larger
 292          than 64 will cause the use of a CPU mask array, causing a small
 293          performance hit.
 294
 295config HOTPLUG_CPU
 296        bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
 297        depends on SMP && EXPERIMENTAL
 298        select HOTPLUG
 299        default n
 300        ---help---
 301          Say Y here to experiment with turning CPUs off and on.  CPUs
 302          can be controlled through /sys/devices/system/cpu/cpu#.
 303          Say N if you want to disable CPU hotplug.
 304
 305config ARCH_ENABLE_MEMORY_HOTPLUG
 306        def_bool y
 307
 308config ARCH_ENABLE_MEMORY_HOTREMOVE
 309        def_bool y
 310
 311config SCHED_SMT
 312        bool "SMT scheduler support"
 313        depends on SMP
 314        help
 315          Improves the CPU scheduler's decision making when dealing with
 316          Intel IA64 chips with MultiThreading at a cost of slightly increased
 317          overhead in some places. If unsure say N here.
 318
 319config PERMIT_BSP_REMOVE
 320        bool "Support removal of Bootstrap Processor"
 321        depends on HOTPLUG_CPU
 322        default n
 323        ---help---
 324        Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
 325        support. 
 326
 327config FORCE_CPEI_RETARGET
 328        bool "Force assumption that CPEI can be re-targetted"
 329        depends on PERMIT_BSP_REMOVE
 330        default n
 331        ---help---
 332        Say Y if you need to force the assumption that CPEI can be re-targetted to
 333        any cpu in the system. This hint is available via ACPI 3.0 specifications.
 334        Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
 335        This option it useful to enable this feature on older BIOS's as well.
 336        You can also enable this by using boot command line option force_cpei=1.
 337
 338source "kernel/Kconfig.preempt"
 339
 340source "mm/Kconfig"
 341
 342config ARCH_SELECT_MEMORY_MODEL
 343        def_bool y
 344
 345config ARCH_DISCONTIGMEM_ENABLE
 346        def_bool y
 347        help
 348          Say Y to support efficient handling of discontiguous physical memory,
 349          for architectures which are either NUMA (Non-Uniform Memory Access)
 350          or have huge holes in the physical address space for other reasons.
 351          See <file:Documentation/vm/numa> for more.
 352
 353config ARCH_FLATMEM_ENABLE
 354        def_bool y
 355
 356config ARCH_SPARSEMEM_ENABLE
 357        def_bool y
 358        depends on ARCH_DISCONTIGMEM_ENABLE
 359        select SPARSEMEM_VMEMMAP_ENABLE
 360
 361config ARCH_DISCONTIGMEM_DEFAULT
 362        def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
 363        depends on ARCH_DISCONTIGMEM_ENABLE
 364
 365config NUMA
 366        bool "NUMA support"
 367        depends on !IA64_HP_SIM && !FLATMEM
 368        default y if IA64_SGI_SN2
 369        select ACPI_NUMA if ACPI
 370        help
 371          Say Y to compile the kernel to support NUMA (Non-Uniform Memory
 372          Access).  This option is for configuring high-end multiprocessor
 373          server systems.  If in doubt, say N.
 374
 375config NODES_SHIFT
 376        int "Max num nodes shift(3-10)"
 377        range 3 10
 378        default "10"
 379        depends on NEED_MULTIPLE_NODES
 380        help
 381          This option specifies the maximum number of nodes in your SSI system.
 382          MAX_NUMNODES will be 2^(This value).
 383          If in doubt, use the default.
 384
 385config ARCH_POPULATES_NODE_MAP
 386        def_bool y
 387
 388# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
 389# VIRTUAL_MEM_MAP has been retained for historical reasons.
 390config VIRTUAL_MEM_MAP
 391        bool "Virtual mem map"
 392        depends on !SPARSEMEM
 393        default y if !IA64_HP_SIM
 394        help
 395          Say Y to compile the kernel with support for a virtual mem map.
 396          This code also only takes effect if a memory hole of greater than
 397          1 Gb is found during boot.  You must turn this option on if you
 398          require the DISCONTIGMEM option for your machine. If you are
 399          unsure, say Y.
 400
 401config HOLES_IN_ZONE
 402        bool
 403        default y if VIRTUAL_MEM_MAP
 404
 405config HAVE_ARCH_EARLY_PFN_TO_NID
 406        def_bool y
 407        depends on NEED_MULTIPLE_NODES
 408
 409config HAVE_ARCH_NODEDATA_EXTENSION
 410        def_bool y
 411        depends on NUMA
 412
 413config IA32_SUPPORT
 414        bool "Support for Linux/x86 binaries"
 415        help
 416          IA-64 processors can execute IA-32 (X86) instructions.  By
 417          saying Y here, the kernel will include IA-32 system call
 418          emulation support which makes it possible to transparently
 419          run IA-32 Linux binaries on an IA-64 Linux system.
 420          If in doubt, say Y.
 421
 422config COMPAT
 423        bool
 424        depends on IA32_SUPPORT
 425        default y
 426
 427config COMPAT_FOR_U64_ALIGNMENT
 428        def_bool COMPAT
 429
 430config IA64_MCA_RECOVERY
 431        tristate "MCA recovery from errors other than TLB."
 432
 433config PERFMON
 434        bool "Performance monitor support"
 435        help
 436          Selects whether support for the IA-64 performance monitor hardware
 437          is included in the kernel.  This makes some kernel data-structures a
 438          little bigger and slows down execution a bit, but it is generally
 439          a good idea to turn this on.  If you're unsure, say Y.
 440
 441config IA64_PALINFO
 442        tristate "/proc/pal support"
 443        help
 444          If you say Y here, you are able to get PAL (Processor Abstraction
 445          Layer) information in /proc/pal.  This contains useful information
 446          about the processors in your systems, such as cache and TLB sizes
 447          and the PAL firmware version in use.
 448
 449          To use this option, you have to ensure that the "/proc file system
 450          support" (CONFIG_PROC_FS) is enabled, too.
 451
 452config IA64_MC_ERR_INJECT
 453        tristate "MC error injection support"
 454        help
 455          Adds support for MC error injection. If enabled, the kernel 
 456          will provide a sysfs interface for user applications to
 457          call MC error injection PAL procedures to inject various errors.
 458          This is a useful tool for MCA testing.
 459
 460          If you're unsure, do not select this option.
 461
 462config SGI_SN
 463        def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
 464
 465config IA64_ESI
 466        bool "ESI (Extensible SAL Interface) support"
 467        help
 468          If you say Y here, support is built into the kernel to
 469          make ESI calls.  ESI calls are used to support vendor-specific
 470          firmware extensions, such as the ability to inject memory-errors
 471          for test-purposes.  If you're unsure, say N.
 472
 473config IA64_HP_AML_NFW
 474        bool "Support ACPI AML calls to native firmware"
 475        help
 476          This driver installs a global ACPI Operation Region handler for
 477          region 0xA1.  AML methods can use this OpRegion to call arbitrary
 478          native firmware functions.  The driver installs the OpRegion
 479          handler if there is an HPQ5001 device or if the user supplies
 480          the "force" module parameter, e.g., with the "aml_nfw.force"
 481          kernel command line option.
 482
 483source "drivers/sn/Kconfig"
 484
 485config KEXEC
 486        bool "kexec system call (EXPERIMENTAL)"
 487        depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
 488        help
 489          kexec is a system call that implements the ability to shutdown your
 490          current kernel, and to start another kernel.  It is like a reboot
 491          but it is independent of the system firmware.   And like a reboot
 492          you can start any kernel with it, not just Linux.
 493
 494          The name comes from the similarity to the exec system call.
 495
 496          It is an ongoing process to be certain the hardware in a machine
 497          is properly shutdown, so do not be surprised if this code does not
 498          initially work for you.  It may help to enable device hotplugging
 499          support.  As of this writing the exact hardware interface is
 500          strongly in flux, so no good recommendation can be made.
 501
 502config CRASH_DUMP
 503          bool "kernel crash dumps (EXPERIMENTAL)"
 504          depends on EXPERIMENTAL && IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
 505          help
 506            Generate crash dump after being started by kexec.
 507
 508source "drivers/firmware/Kconfig"
 509
 510source "fs/Kconfig.binfmt"
 511
 512endmenu
 513
 514menu "Power management and ACPI"
 515
 516source "kernel/power/Kconfig"
 517
 518source "drivers/acpi/Kconfig"
 519
 520if PM
 521
 522source "arch/ia64/kernel/cpufreq/Kconfig"
 523
 524endif
 525
 526endmenu
 527
 528if !IA64_HP_SIM
 529
 530menu "Bus options (PCI, PCMCIA)"
 531
 532config PCI
 533        bool "PCI support"
 534        help
 535          Real IA-64 machines all have PCI/PCI-X/PCI Express busses.  Say Y
 536          here unless you are using a simulator without PCI support.
 537
 538config PCI_DOMAINS
 539        def_bool PCI
 540
 541config PCI_SYSCALL
 542        def_bool PCI
 543
 544source "drivers/pci/pcie/Kconfig"
 545
 546source "drivers/pci/Kconfig"
 547
 548source "drivers/pci/hotplug/Kconfig"
 549
 550source "drivers/pcmcia/Kconfig"
 551
 552endmenu
 553
 554endif
 555
 556source "net/Kconfig"
 557
 558source "drivers/Kconfig"
 559
 560config MSPEC
 561        tristate "Memory special operations driver"
 562        depends on IA64
 563        select IA64_UNCACHED_ALLOCATOR
 564        help
 565          If you have an ia64 and you want to enable memory special
 566          operations support (formerly known as fetchop), say Y here,
 567          otherwise say N.
 568
 569source "fs/Kconfig"
 570
 571source "lib/Kconfig"
 572
 573#
 574# Use the generic interrupt handling code in kernel/irq/:
 575#
 576config GENERIC_HARDIRQS
 577        bool
 578        default y
 579
 580config GENERIC_IRQ_PROBE
 581        bool
 582        default y
 583
 584config GENERIC_PENDING_IRQ
 585        bool
 586        depends on GENERIC_HARDIRQS && SMP
 587        default y
 588
 589config IRQ_PER_CPU
 590        bool
 591        default y
 592
 593source "arch/ia64/hp/sim/Kconfig"
 594
 595source "kernel/Kconfig.instrumentation"
 596
 597source "arch/ia64/Kconfig.debug"
 598
 599source "security/Kconfig"
 600
 601source "crypto/Kconfig"
 602