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