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