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