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