[IA64] use fc.i for fluch_icache_range()
[linux-3.10.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 GENERIC_CALIBRATE_DELAY
34         bool
35         default y
36
37 config TIME_INTERPOLATION
38         bool
39         default y
40
41 config EFI
42         bool
43         default y
44
45 config GENERIC_IOMAP
46         bool
47         default y
48
49 choice
50         prompt "System type"
51         default IA64_GENERIC
52
53 config 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
73 config IA64_DIG
74         bool "DIG-compliant"
75
76 config 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
82 config 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
91 config 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
100 config IA64_HP_SIM
101         bool "Ski-simulator"
102
103 endchoice
104
105 choice
106         prompt "Processor type"
107         default ITANIUM
108
109 config 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
116 config MCKINLEY
117         bool "Itanium 2"
118         help
119           Select this to configure for an Itanium 2 (McKinley) processor.
120
121 endchoice
122
123 choice
124         prompt "Kernel page size"
125         default IA64_PAGE_SIZE_16KB
126
127 config 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
144 config IA64_PAGE_SIZE_8KB
145         bool "8KB"
146
147 config IA64_PAGE_SIZE_16KB
148         bool "16KB"
149
150 config IA64_PAGE_SIZE_64KB
151         depends on !ITANIUM
152         bool "64KB"
153
154 endchoice
155
156 config IA64_BRL_EMU
157         bool
158         depends on ITANIUM
159         default y
160
161 # align cache-sensitive data to 128 bytes
162 config 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
168 config 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
178 config 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
188 config HOLES_IN_ZONE
189         bool
190         default y if VIRTUAL_MEM_MAP
191
192 config 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
202 config 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
208 config IOSAPIC
209         bool
210         depends on !IA64_HP_SIM
211         default y
212
213 config 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
220 config FORCE_MAX_ZONEORDER
221         int
222         default "18"
223
224 config SMP
225         bool "Symmetric multi-processing support"
226         help
227           This enables support for systems with more than one CPU. If you have
228           a system with only one CPU, say N.  If you have a system with more
229           than one CPU, say Y.
230
231           If you say N here, the kernel will run on single and multiprocessor
232           systems, but will use only one CPU of a multiprocessor system.  If
233           you say Y here, the kernel will run on many, but not all,
234           single processor systems.  On a single processor system, the kernel
235           will run faster if you say N here.
236
237           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
238           available at <http://www.tldp.org/docs.html#howto>.
239
240           If you don't know what to do here, say N.
241
242 config NR_CPUS
243         int "Maximum number of CPUs (2-512)"
244         range 2 512
245         depends on SMP
246         default "64"
247         help
248           You should set this to the number of CPUs in your system, but
249           keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
250           only use 2 CPUs on a >2 CPU system.  Setting this to a value larger
251           than 64 will cause the use of a CPU mask array, causing a small
252           performance hit.
253
254 config HOTPLUG_CPU
255         bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
256         depends on SMP && EXPERIMENTAL
257         select HOTPLUG
258         default n
259         ---help---
260           Say Y here to experiment with turning CPUs off and on.  CPUs
261           can be controlled through /sys/devices/system/cpu/cpu#.
262           Say N if you want to disable CPU hotplug.
263
264 config SCHED_SMT
265         bool "SMT scheduler support"
266         depends on SMP
267         default off
268         help
269           Improves the CPU scheduler's decision making when dealing with
270           Intel IA64 chips with MultiThreading at a cost of slightly increased
271           overhead in some places. If unsure say N here.
272
273 config PREEMPT
274         bool "Preemptible Kernel"
275         help
276           This option reduces the latency of the kernel when reacting to
277           real-time or interactive events by allowing a low priority process to
278           be preempted even if it is in kernel mode executing a system call.
279           This allows applications to run more reliably even when the system is
280           under load.
281
282           Say Y here if you are building a kernel for a desktop, embedded
283           or real-time system.  Say N if you are unsure.
284
285 config HAVE_DEC_LOCK
286         bool
287         depends on (SMP || PREEMPT)
288         default y
289
290 config IA32_SUPPORT
291         bool "Support for Linux/x86 binaries"
292         help
293           IA-64 processors can execute IA-32 (X86) instructions.  By
294           saying Y here, the kernel will include IA-32 system call
295           emulation support which makes it possible to transparently
296           run IA-32 Linux binaries on an IA-64 Linux system.
297           If in doubt, say Y.
298
299 config COMPAT
300         bool
301         depends on IA32_SUPPORT
302         default y
303
304 config IA64_MCA_RECOVERY
305         tristate "MCA recovery from errors other than TLB."
306
307 config PERFMON
308         bool "Performance monitor support"
309         help
310           Selects whether support for the IA-64 performance monitor hardware
311           is included in the kernel.  This makes some kernel data-structures a
312           little bigger and slows down execution a bit, but it is generally
313           a good idea to turn this on.  If you're unsure, say Y.
314
315 config IA64_PALINFO
316         tristate "/proc/pal support"
317         help
318           If you say Y here, you are able to get PAL (Processor Abstraction
319           Layer) information in /proc/pal.  This contains useful information
320           about the processors in your systems, such as cache and TLB sizes
321           and the PAL firmware version in use.
322
323           To use this option, you have to ensure that the "/proc file system
324           support" (CONFIG_PROC_FS) is enabled, too.
325
326 config ACPI_DEALLOCATE_IRQ
327         bool
328         depends on IOSAPIC && EXPERIMENTAL
329         default y
330
331 source "drivers/firmware/Kconfig"
332
333 source "fs/Kconfig.binfmt"
334
335 endmenu
336
337 menu "Power management and ACPI"
338
339 config PM
340         bool "Power Management support"
341         depends on !IA64_HP_SIM
342         default y
343         help
344           "Power Management" means that parts of your computer are shut
345           off or put into a power conserving "sleep" mode if they are not
346           being used.  There are two competing standards for doing this: APM
347           and ACPI.  If you want to use either one, say Y here and then also
348           to the requisite support below.
349
350           Power Management is most important for battery powered laptop
351           computers; if you have a laptop, check out the Linux Laptop home
352           page on the WWW at <http://www.linux-on-laptops.com/> and the
353           Battery Powered Linux mini-HOWTO, available from
354           <http://www.tldp.org/docs.html#howto>.
355
356           Note that, even if you say N here, Linux on the x86 architecture
357           will issue the hlt instruction if nothing is to be done, thereby
358           sending the processor to sleep and saving power.
359
360 config ACPI
361         bool
362         depends on !IA64_HP_SIM
363         default y
364
365 if !IA64_HP_SIM
366
367 source "drivers/acpi/Kconfig"
368
369 endif
370
371 endmenu
372
373 if !IA64_HP_SIM
374
375 menu "Bus options (PCI, PCMCIA)"
376
377 config PCI
378         bool "PCI support"
379         help
380           Find out whether you have a PCI motherboard. PCI is the name of a
381           bus system, i.e. the way the CPU talks to the other stuff inside
382           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
383           VESA. If you have PCI, say Y, otherwise N.
384
385           The PCI-HOWTO, available from
386           <http://www.tldp.org/docs.html#howto>, contains valuable
387           information about which PCI hardware does work under Linux and which
388           doesn't.
389
390 config PCI_DOMAINS
391         bool
392         default PCI
393
394 source "drivers/pci/Kconfig"
395
396 source "drivers/pci/hotplug/Kconfig"
397
398 source "drivers/pcmcia/Kconfig"
399
400 endmenu
401
402 endif
403
404 source "drivers/Kconfig"
405
406 source "fs/Kconfig"
407
408 source "lib/Kconfig"
409
410 #
411 # Use the generic interrupt handling code in kernel/irq/:
412 #
413 config GENERIC_HARDIRQS
414         bool
415         default y
416
417 config GENERIC_IRQ_PROBE
418         bool
419         default y
420
421 source "arch/ia64/hp/sim/Kconfig"
422
423 source "arch/ia64/oprofile/Kconfig"
424
425 source "arch/ia64/Kconfig.debug"
426
427 source "security/Kconfig"
428
429 source "crypto/Kconfig"