2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "IA-64 Linux Kernel Configuration"
10 menu "Processor type and features"
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>.
33 config RWSEM_XCHGADD_ALGORITHM
37 config GENERIC_CALIBRATE_DELAY
41 config TIME_INTERPOLATION
53 config SCHED_NO_NO_OMIT_FRAME_POINTER
57 config IA64_UNCACHED_ALLOCATOR
59 select GENERIC_ALLOCATOR
71 This selects the system type of your hardware. A "generic" kernel
72 will run on any supported IA-64 system. However, if you configure
73 a kernel for your specific system, it will be faster and smaller.
75 generic For any supported IA-64 system
76 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
77 HP-zx1/sx1000 For HP systems
78 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
79 SGI-SN2 For SGI Altix systems
80 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
82 If you don't know what to do, choose "generic".
90 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
91 support for the HP I/O MMU.
93 config IA64_HP_ZX1_SWIOTLB
94 bool "HP-zx1/sx1000 with software I/O TLB"
96 Build a kernel that runs on HP zx1 and sx1000 systems even when they
97 have broken PCI devices which cannot DMA to full 32 bits. Apart
98 from support for the HP I/O MMU, this includes support for the software
99 I/O TLB, which allows supporting the broken devices at the expense of
100 wasting some kernel memory (about 2MB by default).
105 Selecting this option will optimize the kernel for use on sn2 based
106 systems, but the resulting kernel binary will not run on other
107 types of ia64 systems. If you have an SGI Altix system, it's safe
108 to select this option. If in doubt, select ia64 generic support
117 prompt "Processor type"
123 Select your IA-64 processor type. The default is Itanium.
124 This choice is safe for all IA-64 systems, but may not perform
125 optimally on systems with, say, Itanium 2 or newer processors.
130 Select this to configure for an Itanium 2 (McKinley) processor.
135 prompt "Kernel page size"
136 default IA64_PAGE_SIZE_16KB
138 config IA64_PAGE_SIZE_4KB
141 This lets you select the page size of the kernel. For best IA-64
142 performance, a page size of 8KB or 16KB is recommended. For best
143 IA-32 compatibility, a page size of 4KB should be selected (the vast
144 majority of IA-32 binaries work perfectly fine with a larger page
145 size). For Itanium 2 or newer systems, a page size of 64KB can also
148 4KB For best IA-32 compatibility
149 8KB For best IA-64 performance
150 16KB For best IA-64 performance
151 64KB Requires Itanium 2 or newer processor.
153 If you don't know what to do, choose 16KB.
155 config IA64_PAGE_SIZE_8KB
158 config IA64_PAGE_SIZE_16KB
161 config IA64_PAGE_SIZE_64KB
168 prompt "Page Table Levels"
175 depends on !IA64_PAGE_SIZE_64KB
180 source kernel/Kconfig.hz
187 # align cache-sensitive data to 128 bytes
188 config IA64_L1_CACHE_SHIFT
190 default "7" if MCKINLEY
191 default "6" if ITANIUM
193 # align cache-sensitive data to 64 bytes
195 bool "Cyclone (EXA) Time Source support"
197 Say Y here to enable support for IBM EXA Cyclone time source.
198 If you're unsure, answer N.
202 depends on !IA64_HP_SIM
205 config IA64_SGI_SN_XP
206 tristate "Support communication between SGI SSIs"
207 depends on IA64_GENERIC || IA64_SGI_SN2
208 select IA64_UNCACHED_ALLOCATOR
210 An SGI machine can be divided into multiple Single System
211 Images which act independently of each other and have
212 hardware based memory protection from the others. Enabling
213 this feature will allow for direct communication between SSIs
214 based on a network adapter and DMA messaging.
216 config FORCE_MAX_ZONEORDER
217 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
218 range 11 17 if !HUGETLB_PAGE
219 default "17" if HUGETLB_PAGE
223 bool "Symmetric multi-processing support"
225 This enables support for systems with more than one CPU. If you have
226 a system with only one CPU, say N. If you have a system with more
229 If you say N here, the kernel will run on single and multiprocessor
230 systems, but will use only one CPU of a multiprocessor system. If
231 you say Y here, the kernel will run on many, but not all,
232 single processor systems. On a single processor system, the kernel
233 will run faster if you say N here.
235 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
236 available at <http://www.tldp.org/docs.html#howto>.
238 If you don't know what to do here, say N.
241 int "Maximum number of CPUs (2-1024)"
246 You should set this to the number of CPUs in your system, but
247 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
248 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
249 than 64 will cause the use of a CPU mask array, causing a small
253 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
254 depends on SMP && EXPERIMENTAL
258 Say Y here to experiment with turning CPUs off and on. CPUs
259 can be controlled through /sys/devices/system/cpu/cpu#.
260 Say N if you want to disable CPU hotplug.
263 bool "SMT scheduler support"
267 Improves the CPU scheduler's decision making when dealing with
268 Intel IA64 chips with MultiThreading at a cost of slightly increased
269 overhead in some places. If unsure say N here.
272 bool "Preemptible Kernel"
274 This option reduces the latency of the kernel when reacting to
275 real-time or interactive events by allowing a low priority process to
276 be preempted even if it is in kernel mode executing a system call.
277 This allows applications to run more reliably even when the system is
280 Say Y here if you are building a kernel for a desktop, embedded
281 or real-time system. Say N if you are unsure.
285 config ARCH_SELECT_MEMORY_MODEL
288 config ARCH_DISCONTIGMEM_ENABLE
291 Say Y to support efficient handling of discontiguous physical memory,
292 for architectures which are either NUMA (Non-Uniform Memory Access)
293 or have huge holes in the physical address space for other reasons.
294 See <file:Documentation/vm/numa> for more.
296 config ARCH_FLATMEM_ENABLE
299 config ARCH_SPARSEMEM_ENABLE
301 depends on ARCH_DISCONTIGMEM_ENABLE
303 config ARCH_DISCONTIGMEM_DEFAULT
304 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
305 depends on ARCH_DISCONTIGMEM_ENABLE
309 depends on !IA64_HP_SIM && !FLATMEM
310 default y if IA64_SGI_SN2
312 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
313 Access). This option is for configuring high-end multiprocessor
314 server systems. If in doubt, say N.
316 # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
317 # VIRTUAL_MEM_MAP has been retained for historical reasons.
318 config VIRTUAL_MEM_MAP
319 bool "Virtual mem map"
320 depends on !SPARSEMEM
321 default y if !IA64_HP_SIM
323 Say Y to compile the kernel with support for a virtual mem map.
324 This code also only takes effect if a memory hole of greater than
325 1 Gb is found during boot. You must turn this option on if you
326 require the DISCONTIGMEM option for your machine. If you are
331 default y if VIRTUAL_MEM_MAP
333 config HAVE_ARCH_EARLY_PFN_TO_NID
335 depends on NEED_MULTIPLE_NODES
338 bool "Support for Linux/x86 binaries"
340 IA-64 processors can execute IA-32 (X86) instructions. By
341 saying Y here, the kernel will include IA-32 system call
342 emulation support which makes it possible to transparently
343 run IA-32 Linux binaries on an IA-64 Linux system.
348 depends on IA32_SUPPORT
351 config IA64_MCA_RECOVERY
352 tristate "MCA recovery from errors other than TLB."
355 bool "Performance monitor support"
357 Selects whether support for the IA-64 performance monitor hardware
358 is included in the kernel. This makes some kernel data-structures a
359 little bigger and slows down execution a bit, but it is generally
360 a good idea to turn this on. If you're unsure, say Y.
363 tristate "/proc/pal support"
365 If you say Y here, you are able to get PAL (Processor Abstraction
366 Layer) information in /proc/pal. This contains useful information
367 about the processors in your systems, such as cache and TLB sizes
368 and the PAL firmware version in use.
370 To use this option, you have to ensure that the "/proc file system
371 support" (CONFIG_PROC_FS) is enabled, too.
373 source "drivers/firmware/Kconfig"
375 source "fs/Kconfig.binfmt"
379 menu "Power management and ACPI"
381 source "kernel/power/Kconfig"
383 source "drivers/acpi/Kconfig"
387 source "arch/ia64/kernel/cpufreq/Kconfig"
395 menu "Bus options (PCI, PCMCIA)"
400 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
401 here unless you are using a simulator without PCI support.
407 source "drivers/pci/Kconfig"
409 source "drivers/pci/hotplug/Kconfig"
411 source "drivers/pcmcia/Kconfig"
419 source "drivers/Kconfig"
426 # Use the generic interrupt handling code in kernel/irq/:
428 config GENERIC_HARDIRQS
432 config GENERIC_IRQ_PROBE
436 config GENERIC_PENDING_IRQ
438 depends on GENERIC_HARDIRQS && SMP
441 source "arch/ia64/hp/sim/Kconfig"
443 menu "Instrumentation Support"
444 depends on EXPERIMENTAL
446 source "arch/ia64/oprofile/Kconfig"
449 bool "Kprobes (EXPERIMENTAL)"
451 Kprobes allows you to trap at almost any kernel address and
452 execute a callback function. register_kprobe() establishes
453 a probepoint and specifies the callback. Kprobes is useful
454 for kernel debugging, non-intrusive instrumentation and testing.
455 If in doubt, say "N".
458 source "arch/ia64/Kconfig.debug"
460 source "security/Kconfig"
462 source "crypto/Kconfig"