xref: /openbmc/linux/arch/ia64/Kconfig (revision 1da177e4)
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
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
220config FORCE_MAX_ZONEORDER
221	int
222	default "18"
223
224config 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
242config 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
254config 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
264config PREEMPT
265	bool "Preemptible Kernel"
266        help
267          This option reduces the latency of the kernel when reacting to
268          real-time or interactive events by allowing a low priority process to
269          be preempted even if it is in kernel mode executing a system call.
270          This allows applications to run more reliably even when the system is
271          under load.
272
273          Say Y here if you are building a kernel for a desktop, embedded
274          or real-time system.  Say N if you are unsure.
275
276config HAVE_DEC_LOCK
277	bool
278	depends on (SMP || PREEMPT)
279	default y
280
281config IA32_SUPPORT
282	bool "Support for Linux/x86 binaries"
283	help
284	  IA-64 processors can execute IA-32 (X86) instructions.  By
285	  saying Y here, the kernel will include IA-32 system call
286	  emulation support which makes it possible to transparently
287	  run IA-32 Linux binaries on an IA-64 Linux system.
288	  If in doubt, say Y.
289
290config COMPAT
291	bool
292	depends on IA32_SUPPORT
293	default y
294
295config IA64_MCA_RECOVERY
296	tristate "MCA recovery from errors other than TLB."
297
298config PERFMON
299	bool "Performance monitor support"
300	help
301	  Selects whether support for the IA-64 performance monitor hardware
302	  is included in the kernel.  This makes some kernel data-structures a
303	  little bigger and slows down execution a bit, but it is generally
304	  a good idea to turn this on.  If you're unsure, say Y.
305
306config IA64_PALINFO
307	tristate "/proc/pal support"
308	help
309	  If you say Y here, you are able to get PAL (Processor Abstraction
310	  Layer) information in /proc/pal.  This contains useful information
311	  about the processors in your systems, such as cache and TLB sizes
312	  and the PAL firmware version in use.
313
314	  To use this option, you have to ensure that the "/proc file system
315	  support" (CONFIG_PROC_FS) is enabled, too.
316
317config ACPI_DEALLOCATE_IRQ
318	bool
319	depends on IOSAPIC && EXPERIMENTAL
320	default y
321
322source "drivers/firmware/Kconfig"
323
324source "fs/Kconfig.binfmt"
325
326endmenu
327
328menu "Power management and ACPI"
329
330config PM
331	bool "Power Management support"
332	depends on IA64_GENERIC || IA64_DIG || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB
333	default y
334	help
335	  "Power Management" means that parts of your computer are shut
336	  off or put into a power conserving "sleep" mode if they are not
337	  being used.  There are two competing standards for doing this: APM
338	  and ACPI.  If you want to use either one, say Y here and then also
339	  to the requisite support below.
340
341	  Power Management is most important for battery powered laptop
342	  computers; if you have a laptop, check out the Linux Laptop home
343	  page on the WWW at <http://www.linux-on-laptops.com/> and the
344	  Battery Powered Linux mini-HOWTO, available from
345	  <http://www.tldp.org/docs.html#howto>.
346
347	  Note that, even if you say N here, Linux on the x86 architecture
348	  will issue the hlt instruction if nothing is to be done, thereby
349	  sending the processor to sleep and saving power.
350
351config ACPI
352	bool
353	depends on !IA64_HP_SIM
354	default y
355
356if !IA64_HP_SIM
357
358source "drivers/acpi/Kconfig"
359
360endif
361
362endmenu
363
364if !IA64_HP_SIM
365
366menu "Bus options (PCI, PCMCIA)"
367
368config PCI
369	bool "PCI support"
370	help
371	  Find out whether you have a PCI motherboard. PCI is the name of a
372	  bus system, i.e. the way the CPU talks to the other stuff inside
373	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
374	  VESA. If you have PCI, say Y, otherwise N.
375
376	  The PCI-HOWTO, available from
377	  <http://www.tldp.org/docs.html#howto>, contains valuable
378	  information about which PCI hardware does work under Linux and which
379	  doesn't.
380
381config PCI_DOMAINS
382	bool
383	default PCI
384
385source "drivers/pci/Kconfig"
386
387source "drivers/pci/hotplug/Kconfig"
388
389source "drivers/pcmcia/Kconfig"
390
391endmenu
392
393endif
394
395source "drivers/Kconfig"
396
397source "fs/Kconfig"
398
399source "lib/Kconfig"
400
401#
402# Use the generic interrupt handling code in kernel/irq/:
403#
404config GENERIC_HARDIRQS
405	bool
406	default y
407
408config GENERIC_IRQ_PROBE
409	bool
410	default y
411
412source "arch/ia64/hp/sim/Kconfig"
413
414source "arch/ia64/oprofile/Kconfig"
415
416source "arch/ia64/Kconfig.debug"
417
418source "security/Kconfig"
419
420source "crypto/Kconfig"
421