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