blob: ce13ad689d191701698d9fa3dbd301c6fdb4d574 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
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
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
21config 64BIT
22 bool
23 default y
24
25config MMU
26 bool
27 default y
28
29config RWSEM_XCHGADD_ALGORITHM
30 bool
31 default y
32
33config GENERIC_CALIBRATE_DELAY
34 bool
35 default y
36
37config TIME_INTERPOLATION
38 bool
39 default y
40
41config EFI
42 bool
43 default y
44
45config GENERIC_IOMAP
46 bool
47 default y
48
49choice
50 prompt "System type"
51 default IA64_GENERIC
52
53config IA64_GENERIC
54 bool "generic"
55 select NUMA
56 select ACPI_NUMA
57 select VIRTUAL_MEM_MAP
58 select DISCONTIGMEM
59 help
60 This selects the system type of your hardware. A "generic" kernel
61 will run on any supported IA-64 system. However, if you configure
62 a kernel for your specific system, it will be faster and smaller.
63
64 generic For any supported IA-64 system
65 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
66 HP-zx1/sx1000 For HP systems
67 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
68 SGI-SN2 For SGI Altix systems
69 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
70
71 If you don't know what to do, choose "generic".
72
73config IA64_DIG
74 bool "DIG-compliant"
75
76config IA64_HP_ZX1
77 bool "HP-zx1/sx1000"
78 help
79 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
80 support for the HP I/O MMU.
81
82config IA64_HP_ZX1_SWIOTLB
83 bool "HP-zx1/sx1000 with software I/O TLB"
84 help
85 Build a kernel that runs on HP zx1 and sx1000 systems even when they
86 have broken PCI devices which cannot DMA to full 32 bits. Apart
87 from support for the HP I/O MMU, this includes support for the software
88 I/O TLB, which allows supporting the broken devices at the expense of
89 wasting some kernel memory (about 2MB by default).
90
91config IA64_SGI_SN2
92 bool "SGI-SN2"
93 help
94 Selecting this option will optimize the kernel for use on sn2 based
95 systems, but the resulting kernel binary will not run on other
96 types of ia64 systems. If you have an SGI Altix system, it's safe
97 to select this option. If in doubt, select ia64 generic support
98 instead.
99
100config IA64_HP_SIM
101 bool "Ski-simulator"
102
103endchoice
104
105choice
106 prompt "Processor type"
107 default ITANIUM
108
109config ITANIUM
110 bool "Itanium"
111 help
112 Select your IA-64 processor type. The default is Itanium.
113 This choice is safe for all IA-64 systems, but may not perform
114 optimally on systems with, say, Itanium 2 or newer processors.
115
116config MCKINLEY
117 bool "Itanium 2"
118 help
119 Select this to configure for an Itanium 2 (McKinley) processor.
120
121endchoice
122
123choice
124 prompt "Kernel page size"
125 default IA64_PAGE_SIZE_16KB
126
127config IA64_PAGE_SIZE_4KB
128 bool "4KB"
129 help
130 This lets you select the page size of the kernel. For best IA-64
131 performance, a page size of 8KB or 16KB is recommended. For best
132 IA-32 compatibility, a page size of 4KB should be selected (the vast
133 majority of IA-32 binaries work perfectly fine with a larger page
134 size). For Itanium 2 or newer systems, a page size of 64KB can also
135 be selected.
136
137 4KB For best IA-32 compatibility
138 8KB For best IA-64 performance
139 16KB For best IA-64 performance
140 64KB Requires Itanium 2 or newer processor.
141
142 If you don't know what to do, choose 16KB.
143
144config IA64_PAGE_SIZE_8KB
145 bool "8KB"
146
147config IA64_PAGE_SIZE_16KB
148 bool "16KB"
149
150config IA64_PAGE_SIZE_64KB
151 depends on !ITANIUM
152 bool "64KB"
153
154endchoice
155
156config IA64_BRL_EMU
157 bool
158 depends on ITANIUM
159 default y
160
161# align cache-sensitive data to 128 bytes
162config IA64_L1_CACHE_SHIFT
163 int
164 default "7" if MCKINLEY
165 default "6" if ITANIUM
166
167# align cache-sensitive data to 64 bytes
168config NUMA
169 bool "NUMA support"
170 depends on !IA64_HP_SIM
171 default y if IA64_SGI_SN2
172 select ACPI_NUMA
173 help
174 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
175 Access). This option is for configuring high-end multiprocessor
176 server systems. If in doubt, say N.
177
178config VIRTUAL_MEM_MAP
179 bool "Virtual mem map"
180 default y if !IA64_HP_SIM
181 help
182 Say Y to compile the kernel with support for a virtual mem map.
183 This code also only takes effect if a memory hole of greater than
184 1 Gb is found during boot. You must turn this option on if you
185 require the DISCONTIGMEM option for your machine. If you are
186 unsure, say Y.
187
188config HOLES_IN_ZONE
189 bool
190 default y if VIRTUAL_MEM_MAP
191
192config DISCONTIGMEM
193 bool "Discontiguous memory support"
194 depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB) && NUMA && VIRTUAL_MEM_MAP
195 default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
196 help
197 Say Y to support efficient handling of discontiguous physical memory,
198 for architectures which are either NUMA (Non-Uniform Memory Access)
199 or have huge holes in the physical address space for other reasons.
200 See <file:Documentation/vm/numa> for more.
201
202config IA64_CYCLONE
203 bool "Cyclone (EXA) Time Source support"
204 help
205 Say Y here to enable support for IBM EXA Cyclone time source.
206 If you're unsure, answer N.
207
208config IOSAPIC
209 bool
210 depends on !IA64_HP_SIM
211 default y
212
213config IA64_SGI_SN_SIM
214 bool "SGI Medusa Simulator Support"
215 depends on IA64_SGI_SN2
216 help
217 If you are compiling a kernel that will run under SGI's IA-64
218 simulator (Medusa) then say Y, otherwise say N.
219
Dean Nelsonb0d82bd2005-03-23 19:46:00 -0700220config IA64_SGI_SN_XP
221 tristate "Support communication between SGI SSIs"
222 depends on MSPEC
223 help
224 An SGI machine can be divided into multiple Single System
225 Images which act independently of each other and have
226 hardware based memory protection from the others. Enabling
227 this feature will allow for direct communication between SSIs
228 based on a network adapter and DMA messaging.
229
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230config FORCE_MAX_ZONEORDER
231 int
232 default "18"
233
234config SMP
235 bool "Symmetric multi-processing support"
236 help
237 This enables support for systems with more than one CPU. If you have
238 a system with only one CPU, say N. If you have a system with more
239 than one CPU, say Y.
240
241 If you say N here, the kernel will run on single and multiprocessor
242 systems, but will use only one CPU of a multiprocessor system. If
243 you say Y here, the kernel will run on many, but not all,
244 single processor systems. On a single processor system, the kernel
245 will run faster if you say N here.
246
247 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
248 available at <http://www.tldp.org/docs.html#howto>.
249
250 If you don't know what to do here, say N.
251
252config NR_CPUS
253 int "Maximum number of CPUs (2-512)"
254 range 2 512
255 depends on SMP
256 default "64"
257 help
258 You should set this to the number of CPUs in your system, but
259 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
260 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
261 than 64 will cause the use of a CPU mask array, causing a small
262 performance hit.
263
264config HOTPLUG_CPU
265 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
266 depends on SMP && EXPERIMENTAL
267 select HOTPLUG
268 default n
269 ---help---
270 Say Y here to experiment with turning CPUs off and on. CPUs
271 can be controlled through /sys/devices/system/cpu/cpu#.
272 Say N if you want to disable CPU hotplug.
273
Suresh Siddha7a9bdd82005-04-05 18:05:00 -0700274config SCHED_SMT
275 bool "SMT scheduler support"
276 depends on SMP
277 default off
278 help
279 Improves the CPU scheduler's decision making when dealing with
280 Intel IA64 chips with MultiThreading at a cost of slightly increased
281 overhead in some places. If unsure say N here.
282
Linus Torvalds1da177e2005-04-16 15:20:36 -0700283config PREEMPT
284 bool "Preemptible Kernel"
285 help
286 This option reduces the latency of the kernel when reacting to
287 real-time or interactive events by allowing a low priority process to
288 be preempted even if it is in kernel mode executing a system call.
289 This allows applications to run more reliably even when the system is
290 under load.
291
292 Say Y here if you are building a kernel for a desktop, embedded
293 or real-time system. Say N if you are unsure.
294
295config HAVE_DEC_LOCK
296 bool
297 depends on (SMP || PREEMPT)
298 default y
299
300config IA32_SUPPORT
301 bool "Support for Linux/x86 binaries"
302 help
303 IA-64 processors can execute IA-32 (X86) instructions. By
304 saying Y here, the kernel will include IA-32 system call
305 emulation support which makes it possible to transparently
306 run IA-32 Linux binaries on an IA-64 Linux system.
307 If in doubt, say Y.
308
309config COMPAT
310 bool
311 depends on IA32_SUPPORT
312 default y
313
314config IA64_MCA_RECOVERY
315 tristate "MCA recovery from errors other than TLB."
316
317config PERFMON
318 bool "Performance monitor support"
319 help
320 Selects whether support for the IA-64 performance monitor hardware
321 is included in the kernel. This makes some kernel data-structures a
322 little bigger and slows down execution a bit, but it is generally
323 a good idea to turn this on. If you're unsure, say Y.
324
325config IA64_PALINFO
326 tristate "/proc/pal support"
327 help
328 If you say Y here, you are able to get PAL (Processor Abstraction
329 Layer) information in /proc/pal. This contains useful information
330 about the processors in your systems, such as cache and TLB sizes
331 and the PAL firmware version in use.
332
333 To use this option, you have to ensure that the "/proc file system
334 support" (CONFIG_PROC_FS) is enabled, too.
335
336config ACPI_DEALLOCATE_IRQ
337 bool
338 depends on IOSAPIC && EXPERIMENTAL
339 default y
340
341source "drivers/firmware/Kconfig"
342
343source "fs/Kconfig.binfmt"
344
345endmenu
346
347menu "Power management and ACPI"
348
349config PM
350 bool "Power Management support"
Jesse Barnes605036c2005-04-25 13:31:04 -0700351 depends on !IA64_HP_SIM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700352 default y
353 help
354 "Power Management" means that parts of your computer are shut
355 off or put into a power conserving "sleep" mode if they are not
356 being used. There are two competing standards for doing this: APM
357 and ACPI. If you want to use either one, say Y here and then also
358 to the requisite support below.
359
360 Power Management is most important for battery powered laptop
361 computers; if you have a laptop, check out the Linux Laptop home
362 page on the WWW at <http://www.linux-on-laptops.com/> and the
363 Battery Powered Linux mini-HOWTO, available from
364 <http://www.tldp.org/docs.html#howto>.
365
366 Note that, even if you say N here, Linux on the x86 architecture
367 will issue the hlt instruction if nothing is to be done, thereby
368 sending the processor to sleep and saving power.
369
370config ACPI
371 bool
372 depends on !IA64_HP_SIM
373 default y
374
375if !IA64_HP_SIM
376
377source "drivers/acpi/Kconfig"
378
379endif
380
381endmenu
382
383if !IA64_HP_SIM
384
385menu "Bus options (PCI, PCMCIA)"
386
387config PCI
388 bool "PCI support"
389 help
390 Find out whether you have a PCI motherboard. PCI is the name of a
391 bus system, i.e. the way the CPU talks to the other stuff inside
392 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
393 VESA. If you have PCI, say Y, otherwise N.
394
395 The PCI-HOWTO, available from
396 <http://www.tldp.org/docs.html#howto>, contains valuable
397 information about which PCI hardware does work under Linux and which
398 doesn't.
399
400config PCI_DOMAINS
401 bool
402 default PCI
403
404source "drivers/pci/Kconfig"
405
406source "drivers/pci/hotplug/Kconfig"
407
408source "drivers/pcmcia/Kconfig"
409
410endmenu
411
412endif
413
414source "drivers/Kconfig"
415
416source "fs/Kconfig"
417
418source "lib/Kconfig"
419
420#
421# Use the generic interrupt handling code in kernel/irq/:
422#
423config GENERIC_HARDIRQS
424 bool
425 default y
426
427config GENERIC_IRQ_PROBE
428 bool
429 default y
430
431source "arch/ia64/hp/sim/Kconfig"
432
433source "arch/ia64/oprofile/Kconfig"
434
435source "arch/ia64/Kconfig.debug"
436
437source "security/Kconfig"
438
439source "crypto/Kconfig"