b856ffae3699f6c7ff0b1bac6d00f1e2d1ceb267
[linux-2.6.git] / arch / ia64 / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "IA-64 Linux Kernel Configuration"
7
8 source "init/Kconfig"
9
10 menu "Processor type and features"
11
12 config IA64
13         bool
14         default y
15         help
16           The Itanium Processor Family is Intel's 64-bit successor to
17           the 32-bit X86 line.  The IA-64 Linux project has a home
18           page at <http://www.linuxia64.org/> and a mailing list at
19           <linux-ia64@vger.kernel.org>.
20
21 config 64BIT
22         bool
23         default y
24
25 config MMU
26         bool
27         default y
28
29 config RWSEM_XCHGADD_ALGORITHM
30         bool
31         default y
32
33 config TIME_INTERPOLATION
34         bool
35         default y
36
37 config EFI
38         bool
39         default y
40
41 choice
42         prompt "System type"
43         default IA64_GENERIC
44
45 config IA64_GENERIC
46         bool "generic"
47         select VIRTUAL_MEM_MAP
48         help
49           This selects the system type of your hardware.  A "generic" kernel
50           will run on any supported IA-64 system.  However, if you configure
51           a kernel for your specific system, it will be faster and smaller.
52
53           generic        For any supported IA-64 system
54           DIG-compliant  For DIG ("Developer's Interface Guide") compliant systems
55           HP-zx1/sx1000  For HP systems
56           SGI-SN2        For SGI Altix systems
57           Ski-simulator  For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
58
59           If you don't know what to do, choose "generic".
60
61 config IA64_DIG
62         bool "DIG-compliant"
63
64 config IA64_HP_ZX1
65         bool "HP-zx1/sx1000"
66         help
67           Build a kernel that runs on HP zx1 and sx1000 systems.  This adds
68           support for the HP I/O MMU.
69
70 config IA64_SGI_SN2
71         bool "SGI-SN2"
72
73 config IA64_HP_SIM
74         bool "Ski-simulator"
75
76 endchoice
77
78 config HOTPLUG_CPU
79     bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
80     depends on SMP && HOTPLUG && EXPERIMENTAL
81         default n
82     ---help---
83       Say Y here to experiment with turning CPUs off and on.  CPUs
84       can be controlled through /sys/devices/system/cpu/cpu#.
85       Say N if you want to disable cpu hotplug.
86
87 choice
88         prompt "Processor type"
89         default ITANIUM
90
91 config ITANIUM
92         bool "Itanium"
93         help
94           Select your IA-64 processor type.  The default is Itanium.
95           This choice is safe for all IA-64 systems, but may not perform
96           optimally on systems with, say, Itanium 2 or newer processors.
97
98 config MCKINLEY
99         bool "Itanium 2"
100         help
101           Select this to configure for an Itanium 2 (McKinley) processor.
102
103 endchoice
104
105 choice
106         prompt "Kernel page size"
107         default IA64_PAGE_SIZE_16KB
108
109 config IA64_PAGE_SIZE_4KB
110         bool "4KB"
111         help
112           This lets you select the page size of the kernel.  For best IA-64
113           performance, a page size of 8KB or 16KB is recommended.  For best
114           IA-32 compatibility, a page size of 4KB should be selected (the vast
115           majority of IA-32 binaries work perfectly fine with a larger page
116           size).  For Itanium 2 or newer systems, a page size of 64KB can also
117           be selected.
118
119           4KB                For best IA-32 compatibility
120           8KB                For best IA-64 performance
121           16KB               For best IA-64 performance
122           64KB               Requires Itanium 2 or newer processor.
123
124           If you don't know what to do, choose 16KB.
125
126 config IA64_PAGE_SIZE_8KB
127         bool "8KB"
128
129 config IA64_PAGE_SIZE_16KB
130         bool "16KB"
131
132 config IA64_PAGE_SIZE_64KB
133         depends on !ITANIUM
134         bool "64KB"
135
136 endchoice
137
138 config IA64_BRL_EMU
139         bool
140         depends on ITANIUM
141         default y
142
143 config ITANIUM_BSTEP_SPECIFIC
144         bool "Itanium B-step specific code"
145         depends on ITANIUM
146         help
147           Select this option to build a kernel for an Itanium prototype system
148           with a B-step CPU.  You have a B-step CPU if the "revision" field in
149           /proc/cpuinfo has a value in the range from 1 to 4.
150
151 # align cache-sensitive data to 128 bytes
152 config IA64_L1_CACHE_SHIFT
153         int
154         default "7" if MCKINLEY
155         default "6" if ITANIUM
156
157 # align cache-sensitive data to 64 bytes
158 config MCKINLEY_ASTEP_SPECIFIC
159         bool "McKinley A-step specific code"
160         depends on MCKINLEY
161         help
162           Select this option to build a kernel for an IA-64 McKinley prototype
163           system with any A-stepping CPU.
164
165 config MCKINLEY_A0_SPECIFIC
166         bool "McKinley A0/A1-step specific code"
167         depends on MCKINLEY_ASTEP_SPECIFIC
168         help
169           Select this option to build a kernel for an IA-64 McKinley prototype
170           system with an A0 or A1 stepping CPU.
171
172 config NUMA
173         bool "NUMA support"
174         depends on !IA64_HP_SIM
175         default y if IA64_SGI_SN2
176         help
177           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
178           Access).  This option is for configuring high-end multiprocessor
179           server systems.  If in doubt, say N.
180
181 config VIRTUAL_MEM_MAP
182         bool "Virtual mem map"
183         default y if !IA64_HP_SIM
184         help
185           Say Y to compile the kernel with support for a virtual mem map.
186           This code also only takes effect if a memory hole of greater than
187           1 Gb is found during boot.  You must turn this option on if you
188           require the DISCONTIGMEM option for your machine. If you are
189           unsure, say Y.
190
191 config DISCONTIGMEM
192         bool "Discontiguous memory support"
193         depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC) && NUMA && VIRTUAL_MEM_MAP
194         default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
195         help
196           Say Y to support efficient handling of discontiguous physical memory,
197           for architectures which are either NUMA (Non-Uniform Memory Access)
198           or have huge holes in the physical address space for other reasons.
199           See <file:Documentation/vm/numa> for more.
200
201 config IA64_CYCLONE
202         bool "Support Cyclone(EXA) Time Source"
203         help
204                 Say Y here to enable support for IBM EXA Cyclone time source.
205                 If you're unsure, answer N.
206
207 config IOSAPIC
208         bool
209         depends on !IA64_HP_SIM
210         default y
211
212 config IA64_SGI_SN_SIM
213         bool "SGI Medusa Simulator Support"
214         depends on IA64_SGI_SN2
215         help
216           If you are compiling a kernel that will run under SGI's IA-64
217           simulator (Medusa) then say Y, otherwise say N.
218
219 config FORCE_MAX_ZONEORDER
220         int
221         default "18"
222
223 config SMP
224         bool "Symmetric multi-processing support"
225         help
226           This enables support for systems with more than one CPU. If you have
227           a system with only one CPU, say N.  If you have a system with more
228           than one CPU, say Y.
229
230           If you say N here, the kernel will run on single and multiprocessor
231           systems, but will use only one CPU of a multiprocessor system.  If
232           you say Y here, the kernel will run on many, but not all,
233           single processor systems.  On a single processor system, the kernel
234           will run faster if you say N here.
235
236           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
237           available at <http://www.tldp.org/docs.html#howto>.
238
239           If you don't know what to do here, say N.
240
241 config NR_CPUS
242         int "Maximum number of CPUs (2-512)"
243         range 2 512
244         depends on SMP
245         default "64"
246         help
247           You should set this to the number of CPUs in your system, but
248           keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
249           only use 2 CPUs on a >2 CPU system.  Setting this to a value larger
250           than 64 will cause the use of a CPU mask array, causing a small
251           performance hit.
252
253 config PREEMPT
254         bool "Preemptible Kernel"
255         help
256           This option reduces the latency of the kernel when reacting to
257           real-time or interactive events by allowing a low priority process to
258           be preempted even if it is in kernel mode executing a system call.
259           This allows applications to run more reliably even when the system is
260           under load.
261
262           Say Y here if you are building a kernel for a desktop, embedded
263           or real-time system.  Say N if you are unsure.
264
265 config HAVE_DEC_LOCK
266         bool
267         depends on (SMP || PREEMPT)
268         default y
269
270 config IA32_SUPPORT
271         bool "Support for Linux/x86 binaries"
272         help
273           IA-64 processors can execute IA-32 (X86) instructions.  By
274           saying Y here, the kernel will include IA-32 system call
275           emulation support which makes it possible to transparently
276           run IA-32 Linux binaries on an IA-64 Linux system.
277           If in doubt, say Y.
278
279 config COMPAT
280         bool
281         depends on IA32_SUPPORT
282         default y
283
284 config PERFMON
285         bool "Performance monitor support"
286         help
287           Selects whether support for the IA-64 performance monitor hardware
288           is included in the kernel.  This makes some kernel data-structures a
289           little bigger and slows down execution a bit, but it is generally
290           a good idea to turn this on.  If you're unsure, say Y.
291
292 config IA64_PALINFO
293         tristate "/proc/pal support"
294         help
295           If you say Y here, you are able to get PAL (Processor Abstraction
296           Layer) information in /proc/pal.  This contains useful information
297           about the processors in your systems, such as cache and TLB sizes
298           and the PAL firmware version in use.
299
300           To use this option, you have to ensure that the "/proc file system
301           support" (CONFIG_PROC_FS) is enabled, too.
302
303 source "drivers/firmware/Kconfig"
304
305 source "fs/Kconfig.binfmt"
306
307 endmenu
308
309 menu "Power management and ACPI"
310
311 config PM
312         bool "Power Management support"
313         depends on IA64_GENERIC || IA64_DIG || IA64_HP_ZX1
314         default y
315         help
316           "Power Management" means that parts of your computer are shut
317           off or put into a power conserving "sleep" mode if they are not
318           being used.  There are two competing standards for doing this: APM
319           and ACPI.  If you want to use either one, say Y here and then also
320           to the requisite support below.
321
322           Power Management is most important for battery powered laptop
323           computers; if you have a laptop, check out the Linux Laptop home
324           page on the WWW at <http://www.linux-on-laptops.com/> and the
325           Battery Powered Linux mini-HOWTO, available from
326           <http://www.tldp.org/docs.html#howto>.
327
328           Note that, even if you say N here, Linux on the x86 architecture
329           will issue the hlt instruction if nothing is to be done, thereby
330           sending the processor to sleep and saving power.
331
332 config ACPI
333         bool
334         depends on !IA64_HP_SIM
335         default y
336
337 if !IA64_HP_SIM
338
339 source "drivers/acpi/Kconfig"
340
341 endif
342
343 endmenu
344
345 if !IA64_HP_SIM
346
347 menu "Bus options (PCI, PCMCIA)"
348
349 config PCI
350         bool "PCI support"
351         help
352           Find out whether you have a PCI motherboard. PCI is the name of a
353           bus system, i.e. the way the CPU talks to the other stuff inside
354           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
355           VESA. If you have PCI, say Y, otherwise N.
356
357           The PCI-HOWTO, available from
358           <http://www.tldp.org/docs.html#howto>, contains valuable
359           information about which PCI hardware does work under Linux and which
360           doesn't.
361
362 config PCI_DOMAINS
363         bool
364         default PCI
365
366 source "drivers/pci/Kconfig"
367
368 source "drivers/pci/hotplug/Kconfig"
369
370 source "drivers/pcmcia/Kconfig"
371
372 endmenu
373
374 endif
375
376 source "drivers/Kconfig"
377
378 source "fs/Kconfig"
379
380 source "lib/Kconfig"
381
382 source "arch/ia64/hp/sim/Kconfig"
383
384 source "arch/ia64/oprofile/Kconfig"
385
386 menu "Kernel hacking"
387
388 choice
389         prompt "Physical memory granularity"
390         default IA64_GRANULE_64MB
391
392 config IA64_GRANULE_16MB
393         bool "16MB"
394         help
395           IA-64 identity-mapped regions use a large page size called "granules".
396
397           Select "16MB" for a small granule size.
398           Select "64MB" for a large granule size.  This is the current default.
399
400 config IA64_GRANULE_64MB
401         bool "64MB"
402         depends on !(IA64_GENERIC || IA64_HP_ZX1)
403
404 endchoice
405
406 config DEBUG_KERNEL
407         bool "Kernel debugging"
408         help
409           Say Y here if you are developing drivers or trying to debug and
410           identify kernel problems.
411
412 config IA64_PRINT_HAZARDS
413         bool "Print possible IA-64 dependency violations to console"
414         depends on DEBUG_KERNEL
415         help
416           Selecting this option prints more information for Illegal Dependency
417           Faults, that is, for Read-after-Write (RAW), Write-after-Write (WAW),
418           or Write-after-Read (WAR) violations.  This option is ignored if you
419           are compiling for an Itanium A step processor
420           (CONFIG_ITANIUM_ASTEP_SPECIFIC).  If you're unsure, select Y.
421
422 config DISABLE_VHPT
423         bool "Disable VHPT"
424         depends on DEBUG_KERNEL
425         help
426           The Virtual Hash Page Table (VHPT) enhances virtual address
427           translation performance.  Normally you want the VHPT active but you
428           can select this option to disable the VHPT for debugging.  If you're
429           unsure, answer N.
430
431 config MAGIC_SYSRQ
432         bool "Magic SysRq key"
433         depends on DEBUG_KERNEL
434         help
435           If you say Y here, you will have some control over the system even
436           if the system crashes for example during kernel debugging (e.g., you
437           will be able to flush the buffer cache to disk, reboot the system
438           immediately or dump some status information). This is accomplished
439           by pressing various keys while holding SysRq (Alt+PrintScreen). It
440           also works on a serial console (on PC hardware at least), if you
441           send a BREAK and then within 5 seconds a command keypress. The
442           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
443           unless you really know what this hack does.
444
445 config DEBUG_SLAB
446         bool "Debug memory allocations"
447         depends on DEBUG_KERNEL
448         help
449           Say Y here to have the kernel do limited verification on memory
450           allocation as well as poisoning memory on free to catch use of freed
451           memory.
452
453 config DEBUG_SPINLOCK
454         bool "Spinlock debugging"
455         depends on DEBUG_KERNEL
456         help
457           Say Y here and build SMP to catch missing spinlock initialization
458           and certain other kinds of spinlock errors commonly made.  This is
459           best used in conjunction with the NMI watchdog so that spinlock
460           deadlocks are also debuggable.
461
462 config DEBUG_SPINLOCK_SLEEP
463           bool "Sleep-inside-spinlock checking"
464           help
465             If you say Y here, various routines which may sleep will become very
466             noisy if they are called with a spinlock held.
467
468 config IA64_DEBUG_CMPXCHG
469         bool "Turn on compare-and-exchange bug checking (slow!)"
470         depends on DEBUG_KERNEL
471         help
472           Selecting this option turns on bug checking for the IA-64
473           compare-and-exchange instructions.  This is slow!  Itaniums
474           from step B3 or later don't have this problem. If you're unsure,
475           select N.
476
477 config IA64_DEBUG_IRQ
478         bool "Turn on irq debug checks (slow!)"
479         depends on DEBUG_KERNEL
480         help
481           Selecting this option turns on bug checking for the IA-64 irq_save
482           and restore instructions.  It's useful for tracking down spinlock
483           problems, but slow!  If you're unsure, select N.
484
485 config DEBUG_INFO
486         bool "Compile the kernel with debug info"
487         depends on DEBUG_KERNEL
488         help
489           If you say Y here the resulting kernel image will include
490           debugging info resulting in a larger kernel image.
491           Say Y here only if you plan to use gdb to debug the kernel.
492           If you don't debug the kernel, you can say N.
493
494 config SYSVIPC_COMPAT
495         bool
496         depends on COMPAT && SYSVIPC
497         default y
498 endmenu
499
500 source "security/Kconfig"
501
502 source "crypto/Kconfig"