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