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