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