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