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
   7menu "Processor type and features"
   8
   9config IA64
  10        bool
  11        select ARCH_HAS_DMA_MARK_CLEAN
  12        select ARCH_HAS_STRNCPY_FROM_USER
  13        select ARCH_HAS_STRNLEN_USER
  14        select ARCH_MIGHT_HAVE_PC_PARPORT
  15        select ARCH_MIGHT_HAVE_PC_SERIO
  16        select ACPI
  17        select ACPI_NUMA if NUMA
  18        select ARCH_ENABLE_MEMORY_HOTPLUG
  19        select ARCH_ENABLE_MEMORY_HOTREMOVE
  20        select ARCH_SUPPORTS_ACPI
  21        select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
  22        select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
  23        select FORCE_PCI
  24        select PCI_DOMAINS if PCI
  25        select PCI_MSI
  26        select PCI_SYSCALL if PCI
  27        select HAVE_ASM_MODVERSIONS
  28        select HAVE_UNSTABLE_SCHED_CLOCK
  29        select HAVE_EXIT_THREAD
  30        select HAVE_KPROBES
  31        select HAVE_KRETPROBES
  32        select HAVE_FTRACE_MCOUNT_RECORD
  33        select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
  34        select HAVE_FUNCTION_TRACER
  35        select TTY
  36        select HAVE_ARCH_TRACEHOOK
  37        select HAVE_VIRT_CPU_ACCOUNTING
  38        select HUGETLB_PAGE_SIZE_VARIABLE if HUGETLB_PAGE
  39        select VIRT_TO_BUS
  40        select GENERIC_IRQ_PROBE
  41        select GENERIC_PENDING_IRQ if SMP
  42        select GENERIC_IRQ_SHOW
  43        select GENERIC_IRQ_LEGACY
  44        select ARCH_HAVE_NMI_SAFE_CMPXCHG
  45        select GENERIC_IOMAP
  46        select GENERIC_SMP_IDLE_THREAD
  47        select ARCH_TASK_STRUCT_ON_STACK
  48        select ARCH_TASK_STRUCT_ALLOCATOR
  49        select ARCH_THREAD_STACK_ALLOCATOR
  50        select ARCH_CLOCKSOURCE_DATA
  51        select GENERIC_TIME_VSYSCALL
  52        select LEGACY_TIMER_TICK
  53        select SWIOTLB
  54        select SYSCTL_ARCH_UNALIGN_NO_WARN
  55        select HAVE_MOD_ARCH_SPECIFIC
  56        select MODULES_USE_ELF_RELA
  57        select ARCH_USE_CMPXCHG_LOCKREF
  58        select HAVE_ARCH_AUDITSYSCALL
  59        select NEED_DMA_MAP_STATE
  60        select NEED_SG_DMA_LENGTH
  61        select NUMA if !FLATMEM
  62        select PCI_MSI_ARCH_FALLBACKS if PCI_MSI
  63        select SET_FS
  64        select ZONE_DMA32
  65        default y
  66        help
  67          The Itanium Processor Family is Intel's 64-bit successor to
  68          the 32-bit X86 line.  The IA-64 Linux project has a home
  69          page at <http://www.linuxia64.org/> and a mailing list at
  70          <linux-ia64@vger.kernel.org>.
  71
  72config 64BIT
  73        bool
  74        select ATA_NONSTANDARD if ATA
  75        default y
  76
  77config MMU
  78        bool
  79        default y
  80
  81config STACKTRACE_SUPPORT
  82        def_bool y
  83
  84config GENERIC_LOCKBREAK
  85        def_bool n
  86
  87config GENERIC_CALIBRATE_DELAY
  88        bool
  89        default y
  90
  91config HAVE_SETUP_PER_CPU_AREA
  92        def_bool y
  93
  94config DMI
  95        bool
  96        default y
  97        select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
  98
  99config EFI
 100        bool
 101        select UCS2_STRING
 102        default y
 103
 104config SCHED_OMIT_FRAME_POINTER
 105        bool
 106        default y
 107
 108config IA64_UNCACHED_ALLOCATOR
 109        bool
 110        select GENERIC_ALLOCATOR
 111
 112config ARCH_USES_PG_UNCACHED
 113        def_bool y
 114        depends on IA64_UNCACHED_ALLOCATOR
 115
 116config AUDIT_ARCH
 117        bool
 118        default y
 119
 120choice
 121        prompt "Processor type"
 122        default ITANIUM
 123
 124config ITANIUM
 125        bool "Itanium"
 126        help
 127          Select your IA-64 processor type.  The default is Itanium.
 128          This choice is safe for all IA-64 systems, but may not perform
 129          optimally on systems with, say, Itanium 2 or newer processors.
 130
 131config MCKINLEY
 132        bool "Itanium 2"
 133        help
 134          Select this to configure for an Itanium 2 (McKinley) processor.
 135
 136endchoice
 137
 138choice
 139        prompt "Kernel page size"
 140        default IA64_PAGE_SIZE_16KB
 141
 142config IA64_PAGE_SIZE_4KB
 143        bool "4KB"
 144        help
 145          This lets you select the page size of the kernel.  For best IA-64
 146          performance, a page size of 8KB or 16KB is recommended.  For best
 147          IA-32 compatibility, a page size of 4KB should be selected (the vast
 148          majority of IA-32 binaries work perfectly fine with a larger page
 149          size).  For Itanium 2 or newer systems, a page size of 64KB can also
 150          be selected.
 151
 152          4KB                For best IA-32 compatibility
 153          8KB                For best IA-64 performance
 154          16KB               For best IA-64 performance
 155          64KB               Requires Itanium 2 or newer processor.
 156
 157          If you don't know what to do, choose 16KB.
 158
 159config IA64_PAGE_SIZE_8KB
 160        bool "8KB"
 161
 162config IA64_PAGE_SIZE_16KB
 163        bool "16KB"
 164
 165config IA64_PAGE_SIZE_64KB
 166        depends on !ITANIUM
 167        bool "64KB"
 168
 169endchoice
 170
 171source "kernel/Kconfig.hz"
 172
 173config IA64_BRL_EMU
 174        bool
 175        depends on ITANIUM
 176        default y
 177
 178# align cache-sensitive data to 128 bytes
 179config IA64_L1_CACHE_SHIFT
 180        int
 181        default "7" if MCKINLEY
 182        default "6" if ITANIUM
 183
 184config IA64_SGI_UV
 185        bool "SGI-UV support"
 186        help
 187          Selecting this option will add specific support for running on SGI
 188          UV based systems.  If you have an SGI UV system or are building a
 189          distro kernel, select this option.
 190
 191config IA64_HP_SBA_IOMMU
 192        bool "HP SBA IOMMU support"
 193        select DMA_OPS
 194        default y
 195        help
 196          Say Y here to add support for the SBA IOMMU found on HP zx1 and
 197          sx1000 systems.  If you're unsure, answer Y.
 198
 199config IA64_CYCLONE
 200        bool "Cyclone (EXA) Time Source support"
 201        help
 202          Say Y here to enable support for IBM EXA Cyclone time source.
 203          If you're unsure, answer N.
 204
 205config FORCE_MAX_ZONEORDER
 206        int "MAX_ORDER (11 - 17)"  if !HUGETLB_PAGE
 207        range 11 17  if !HUGETLB_PAGE
 208        default "17" if HUGETLB_PAGE
 209        default "11"
 210
 211config SMP
 212        bool "Symmetric multi-processing support"
 213        help
 214          This enables support for systems with more than one CPU. If you have
 215          a system with only one CPU, say N.  If you have a system with more
 216          than one CPU, say Y.
 217
 218          If you say N here, the kernel will run on single and multiprocessor
 219          systems, but will use only one CPU of a multiprocessor system.  If
 220          you say Y here, the kernel will run on many, but not all,
 221          single processor systems.  On a single processor system, the kernel
 222          will run faster if you say N here.
 223
 224          See also the SMP-HOWTO available at
 225          <http://www.tldp.org/docs.html#howto>.
 226
 227          If you don't know what to do here, say N.
 228
 229config NR_CPUS
 230        int "Maximum number of CPUs (2-4096)"
 231        range 2 4096
 232        depends on SMP
 233        default "4096"
 234        help
 235          You should set this to the number of CPUs in your system, but
 236          keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
 237          only use 2 CPUs on a >2 CPU system.  Setting this to a value larger
 238          than 64 will cause the use of a CPU mask array, causing a small
 239          performance hit.
 240
 241config HOTPLUG_CPU
 242        bool "Support for hot-pluggable CPUs"
 243        depends on SMP
 244        default n
 245        help
 246          Say Y here to experiment with turning CPUs off and on.  CPUs
 247          can be controlled through /sys/devices/system/cpu/cpu#.
 248          Say N if you want to disable CPU hotplug.
 249
 250config SCHED_SMT
 251        bool "SMT scheduler support"
 252        depends on SMP
 253        help
 254          Improves the CPU scheduler's decision making when dealing with
 255          Intel IA64 chips with MultiThreading at a cost of slightly increased
 256          overhead in some places. If unsure say N here.
 257
 258config PERMIT_BSP_REMOVE
 259        bool "Support removal of Bootstrap Processor"
 260        depends on HOTPLUG_CPU
 261        default n
 262        help
 263        Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
 264        support. 
 265
 266config FORCE_CPEI_RETARGET
 267        bool "Force assumption that CPEI can be re-targeted"
 268        depends on PERMIT_BSP_REMOVE
 269        default n
 270        help
 271        Say Y if you need to force the assumption that CPEI can be re-targeted to
 272        any cpu in the system. This hint is available via ACPI 3.0 specifications.
 273        Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
 274        This option it useful to enable this feature on older BIOS's as well.
 275        You can also enable this by using boot command line option force_cpei=1.
 276
 277config ARCH_SELECT_MEMORY_MODEL
 278        def_bool y
 279
 280config ARCH_FLATMEM_ENABLE
 281        def_bool y
 282
 283config ARCH_SPARSEMEM_ENABLE
 284        def_bool y
 285        select SPARSEMEM_VMEMMAP_ENABLE
 286
 287config ARCH_SPARSEMEM_DEFAULT
 288        def_bool y
 289        depends on ARCH_SPARSEMEM_ENABLE
 290
 291config NUMA
 292        bool "NUMA support"
 293        depends on !FLATMEM
 294        select SMP
 295        help
 296          Say Y to compile the kernel to support NUMA (Non-Uniform Memory
 297          Access).  This option is for configuring high-end multiprocessor
 298          server systems.  If in doubt, say N.
 299
 300config NODES_SHIFT
 301        int "Max num nodes shift(3-10)"
 302        range 3 10
 303        default "10"
 304        depends on NUMA
 305        help
 306          This option specifies the maximum number of nodes in your SSI system.
 307          MAX_NUMNODES will be 2^(This value).
 308          If in doubt, use the default.
 309
 310config HAVE_ARCH_NODEDATA_EXTENSION
 311        def_bool y
 312        depends on NUMA
 313
 314config USE_PERCPU_NUMA_NODE_ID
 315        def_bool y
 316        depends on NUMA
 317
 318config HAVE_MEMORYLESS_NODES
 319        def_bool NUMA
 320
 321config ARCH_PROC_KCORE_TEXT
 322        def_bool y
 323        depends on PROC_KCORE
 324
 325config IA64_MCA_RECOVERY
 326        tristate "MCA recovery from errors other than TLB."
 327
 328config IA64_PALINFO
 329        tristate "/proc/pal support"
 330        help
 331          If you say Y here, you are able to get PAL (Processor Abstraction
 332          Layer) information in /proc/pal.  This contains useful information
 333          about the processors in your systems, such as cache and TLB sizes
 334          and the PAL firmware version in use.
 335
 336          To use this option, you have to ensure that the "/proc file system
 337          support" (CONFIG_PROC_FS) is enabled, too.
 338
 339config IA64_MC_ERR_INJECT
 340        tristate "MC error injection support"
 341        help
 342          Adds support for MC error injection. If enabled, the kernel 
 343          will provide a sysfs interface for user applications to
 344          call MC error injection PAL procedures to inject various errors.
 345          This is a useful tool for MCA testing.
 346
 347          If you're unsure, do not select this option.
 348
 349config IA64_ESI
 350        bool "ESI (Extensible SAL Interface) support"
 351        help
 352          If you say Y here, support is built into the kernel to
 353          make ESI calls.  ESI calls are used to support vendor-specific
 354          firmware extensions, such as the ability to inject memory-errors
 355          for test-purposes.  If you're unsure, say N.
 356
 357config IA64_HP_AML_NFW
 358        bool "Support ACPI AML calls to native firmware"
 359        help
 360          This driver installs a global ACPI Operation Region handler for
 361          region 0xA1.  AML methods can use this OpRegion to call arbitrary
 362          native firmware functions.  The driver installs the OpRegion
 363          handler if there is an HPQ5001 device or if the user supplies
 364          the "force" module parameter, e.g., with the "aml_nfw.force"
 365          kernel command line option.
 366
 367config KEXEC
 368        bool "kexec system call"
 369        depends on !SMP || HOTPLUG_CPU
 370        select KEXEC_CORE
 371        help
 372          kexec is a system call that implements the ability to shutdown your
 373          current kernel, and to start another kernel.  It is like a reboot
 374          but it is independent of the system firmware.   And like a reboot
 375          you can start any kernel with it, not just Linux.
 376
 377          The name comes from the similarity to the exec system call.
 378
 379          It is an ongoing process to be certain the hardware in a machine
 380          is properly shutdown, so do not be surprised if this code does not
 381          initially work for you.  As of this writing the exact hardware
 382          interface is strongly in flux, so no good recommendation can be
 383          made.
 384
 385config CRASH_DUMP
 386          bool "kernel crash dumps"
 387          depends on IA64_MCA_RECOVERY && (!SMP || HOTPLUG_CPU)
 388          help
 389            Generate crash dump after being started by kexec.
 390
 391endmenu
 392
 393menu "Power management and ACPI options"
 394
 395source "kernel/power/Kconfig"
 396
 397source "drivers/acpi/Kconfig"
 398
 399if PM
 400menu "CPU Frequency scaling"
 401source "drivers/cpufreq/Kconfig"
 402endmenu
 403endif
 404
 405endmenu
 406
 407config MSPEC
 408        tristate "Memory special operations driver"
 409        depends on IA64
 410        select IA64_UNCACHED_ALLOCATOR
 411        help
 412          If you have an ia64 and you want to enable memory special
 413          operations support (formerly known as fetchop), say Y here,
 414          otherwise say N.
 415