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