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