2 int "Page Table Levels" if !IA64_PAGE_SIZE_64KB
3 range 3 4 if !IA64_PAGE_SIZE_64KB
8 source "kernel/Kconfig.freezer"
10 menu "Processor type and features"
14 select ARCH_MIGHT_HAVE_PC_PARPORT
15 select ARCH_MIGHT_HAVE_PC_SERIO
16 select PCI if (!IA64_HP_SIM)
17 select ACPI if (!IA64_HP_SIM)
18 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
19 select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
20 select HAVE_UNSTABLE_SCHED_CLOCK
24 select HAVE_KRETPROBES
25 select HAVE_FTRACE_MCOUNT_RECORD
26 select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
27 select HAVE_FUNCTION_TRACER
30 select HAVE_ARCH_TRACEHOOK
31 select HAVE_DMA_API_DEBUG
33 select HAVE_MEMBLOCK_NODE_MAP
34 select HAVE_VIRT_CPU_ACCOUNTING
35 select ARCH_HAS_SG_CHAIN
37 select ARCH_DISCARD_MEMBLOCK
38 select GENERIC_IRQ_PROBE
39 select GENERIC_PENDING_IRQ if SMP
40 select GENERIC_IRQ_SHOW
41 select GENERIC_IRQ_LEGACY
42 select ARCH_WANT_OPTIONAL_GPIOLIB
43 select ARCH_HAVE_NMI_SAFE_CMPXCHG
45 select GENERIC_SMP_IDLE_THREAD
47 select ARCH_TASK_STRUCT_ALLOCATOR
48 select ARCH_THREAD_INFO_ALLOCATOR
49 select ARCH_CLOCKSOURCE_DATA
50 select GENERIC_TIME_VSYSCALL_OLD
51 select SYSCTL_ARCH_UNALIGN_NO_WARN
52 select HAVE_MOD_ARCH_SPECIFIC
53 select MODULES_USE_ELF_RELA
54 select ARCH_USE_CMPXCHG_LOCKREF
55 select HAVE_ARCH_AUDITSYSCALL
56 select HAVE_ARCH_HARDENED_USERCOPY
59 The Itanium Processor Family is Intel's 64-bit successor to
60 the 32-bit X86 line. The IA-64 Linux project has a home
61 page at <http://www.linuxia64.org/> and a mailing list at
62 <linux-ia64@vger.kernel.org>.
66 select ATA_NONSTANDARD if ATA
71 depends on !IA64_SGI_SN2
81 config ARCH_DMA_ADDR_T_64BIT
84 config NEED_DMA_MAP_STATE
87 config NEED_SG_DMA_LENGTH
93 config STACKTRACE_SUPPORT
96 config GENERIC_LOCKBREAK
99 config RWSEM_XCHGADD_ALGORITHM
103 config HUGETLB_PAGE_SIZE_VARIABLE
105 depends on HUGETLB_PAGE
108 config GENERIC_CALIBRATE_DELAY
112 config HAVE_SETUP_PER_CPU_AREA
118 select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
125 config SCHED_OMIT_FRAME_POINTER
129 config IA64_UNCACHED_ALLOCATOR
131 select GENERIC_ALLOCATOR
133 config ARCH_USES_PG_UNCACHED
135 depends on IA64_UNCACHED_ALLOCATOR
152 This selects the system type of your hardware. A "generic" kernel
153 will run on any supported IA-64 system. However, if you configure
154 a kernel for your specific system, it will be faster and smaller.
156 generic For any supported IA-64 system
157 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
158 DIG+Intel+IOMMU For DIG systems with Intel IOMMU
159 HP-zx1/sx1000 For HP systems
160 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
161 SGI-SN2 For SGI Altix systems
162 SGI-UV For SGI UV systems
163 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
165 If you don't know what to do, choose "generic".
172 bool "DIG+Intel+IOMMU"
179 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
180 support for the HP I/O MMU.
182 config IA64_HP_ZX1_SWIOTLB
183 bool "HP-zx1/sx1000 with software I/O TLB"
186 Build a kernel that runs on HP zx1 and sx1000 systems even when they
187 have broken PCI devices which cannot DMA to full 32 bits. Apart
188 from support for the HP I/O MMU, this includes support for the software
189 I/O TLB, which allows supporting the broken devices at the expense of
190 wasting some kernel memory (about 2MB by default).
197 Selecting this option will optimize the kernel for use on sn2 based
198 systems, but the resulting kernel binary will not run on other
199 types of ia64 systems. If you have an SGI Altix system, it's safe
200 to select this option. If in doubt, select ia64 generic support
209 Selecting this option will optimize the kernel for use on UV based
210 systems, but the resulting kernel binary will not run on other
211 types of ia64 systems. If you have an SGI UV system, it's safe
212 to select this option. If in doubt, select ia64 generic support
223 prompt "Processor type"
229 Select your IA-64 processor type. The default is Itanium.
230 This choice is safe for all IA-64 systems, but may not perform
231 optimally on systems with, say, Itanium 2 or newer processors.
236 Select this to configure for an Itanium 2 (McKinley) processor.
241 prompt "Kernel page size"
242 default IA64_PAGE_SIZE_16KB
244 config IA64_PAGE_SIZE_4KB
247 This lets you select the page size of the kernel. For best IA-64
248 performance, a page size of 8KB or 16KB is recommended. For best
249 IA-32 compatibility, a page size of 4KB should be selected (the vast
250 majority of IA-32 binaries work perfectly fine with a larger page
251 size). For Itanium 2 or newer systems, a page size of 64KB can also
254 4KB For best IA-32 compatibility
255 8KB For best IA-64 performance
256 16KB For best IA-64 performance
257 64KB Requires Itanium 2 or newer processor.
259 If you don't know what to do, choose 16KB.
261 config IA64_PAGE_SIZE_8KB
264 config IA64_PAGE_SIZE_16KB
267 config IA64_PAGE_SIZE_64KB
279 source kernel/Kconfig.hz
287 # align cache-sensitive data to 128 bytes
288 config IA64_L1_CACHE_SHIFT
290 default "7" if MCKINLEY
291 default "6" if ITANIUM
294 bool "Cyclone (EXA) Time Source support"
296 Say Y here to enable support for IBM EXA Cyclone time source.
297 If you're unsure, answer N.
301 depends on !IA64_HP_SIM
304 config FORCE_MAX_ZONEORDER
305 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
306 range 11 17 if !HUGETLB_PAGE
307 default "17" if HUGETLB_PAGE
311 bool "Symmetric multi-processing support"
313 This enables support for systems with more than one CPU. If you have
314 a system with only one CPU, say N. If you have a system with more
317 If you say N here, the kernel will run on single and multiprocessor
318 systems, but will use only one CPU of a multiprocessor system. If
319 you say Y here, the kernel will run on many, but not all,
320 single processor systems. On a single processor system, the kernel
321 will run faster if you say N here.
323 See also the SMP-HOWTO available at
324 <http://www.tldp.org/docs.html#howto>.
326 If you don't know what to do here, say N.
329 int "Maximum number of CPUs (2-4096)"
334 You should set this to the number of CPUs in your system, but
335 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
336 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
337 than 64 will cause the use of a CPU mask array, causing a small
341 bool "Support for hot-pluggable CPUs"
345 Say Y here to experiment with turning CPUs off and on. CPUs
346 can be controlled through /sys/devices/system/cpu/cpu#.
347 Say N if you want to disable CPU hotplug.
349 config ARCH_ENABLE_MEMORY_HOTPLUG
352 config ARCH_ENABLE_MEMORY_HOTREMOVE
356 bool "SMT scheduler support"
359 Improves the CPU scheduler's decision making when dealing with
360 Intel IA64 chips with MultiThreading at a cost of slightly increased
361 overhead in some places. If unsure say N here.
363 config PERMIT_BSP_REMOVE
364 bool "Support removal of Bootstrap Processor"
365 depends on HOTPLUG_CPU
368 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
371 config FORCE_CPEI_RETARGET
372 bool "Force assumption that CPEI can be re-targeted"
373 depends on PERMIT_BSP_REMOVE
376 Say Y if you need to force the assumption that CPEI can be re-targeted to
377 any cpu in the system. This hint is available via ACPI 3.0 specifications.
378 Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
379 This option it useful to enable this feature on older BIOS's as well.
380 You can also enable this by using boot command line option force_cpei=1.
382 source "kernel/Kconfig.preempt"
386 config ARCH_SELECT_MEMORY_MODEL
389 config ARCH_DISCONTIGMEM_ENABLE
392 Say Y to support efficient handling of discontiguous physical memory,
393 for architectures which are either NUMA (Non-Uniform Memory Access)
394 or have huge holes in the physical address space for other reasons.
395 See <file:Documentation/vm/numa> for more.
397 config ARCH_FLATMEM_ENABLE
400 config ARCH_SPARSEMEM_ENABLE
402 depends on ARCH_DISCONTIGMEM_ENABLE
403 select SPARSEMEM_VMEMMAP_ENABLE
405 config ARCH_DISCONTIGMEM_DEFAULT
406 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
407 depends on ARCH_DISCONTIGMEM_ENABLE
411 depends on !IA64_HP_SIM && !FLATMEM
412 default y if IA64_SGI_SN2
413 select ACPI_NUMA if ACPI
415 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
416 Access). This option is for configuring high-end multiprocessor
417 server systems. If in doubt, say N.
420 int "Max num nodes shift(3-10)"
423 depends on NEED_MULTIPLE_NODES
425 This option specifies the maximum number of nodes in your SSI system.
426 MAX_NUMNODES will be 2^(This value).
427 If in doubt, use the default.
429 # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
430 # VIRTUAL_MEM_MAP has been retained for historical reasons.
431 config VIRTUAL_MEM_MAP
432 bool "Virtual mem map"
433 depends on !SPARSEMEM
434 default y if !IA64_HP_SIM
436 Say Y to compile the kernel with support for a virtual mem map.
437 This code also only takes effect if a memory hole of greater than
438 1 Gb is found during boot. You must turn this option on if you
439 require the DISCONTIGMEM option for your machine. If you are
444 default y if VIRTUAL_MEM_MAP
446 config HAVE_ARCH_EARLY_PFN_TO_NID
447 def_bool NUMA && SPARSEMEM
449 config HAVE_ARCH_NODEDATA_EXTENSION
453 config USE_PERCPU_NUMA_NODE_ID
457 config HAVE_MEMORYLESS_NODES
460 config ARCH_PROC_KCORE_TEXT
462 depends on PROC_KCORE
464 config IA64_MCA_RECOVERY
465 tristate "MCA recovery from errors other than TLB."
468 bool "Performance monitor support"
470 Selects whether support for the IA-64 performance monitor hardware
471 is included in the kernel. This makes some kernel data-structures a
472 little bigger and slows down execution a bit, but it is generally
473 a good idea to turn this on. If you're unsure, say Y.
476 tristate "/proc/pal support"
478 If you say Y here, you are able to get PAL (Processor Abstraction
479 Layer) information in /proc/pal. This contains useful information
480 about the processors in your systems, such as cache and TLB sizes
481 and the PAL firmware version in use.
483 To use this option, you have to ensure that the "/proc file system
484 support" (CONFIG_PROC_FS) is enabled, too.
486 config IA64_MC_ERR_INJECT
487 tristate "MC error injection support"
489 Adds support for MC error injection. If enabled, the kernel
490 will provide a sysfs interface for user applications to
491 call MC error injection PAL procedures to inject various errors.
492 This is a useful tool for MCA testing.
494 If you're unsure, do not select this option.
497 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
500 bool "ESI (Extensible SAL Interface) support"
502 If you say Y here, support is built into the kernel to
503 make ESI calls. ESI calls are used to support vendor-specific
504 firmware extensions, such as the ability to inject memory-errors
505 for test-purposes. If you're unsure, say N.
507 config IA64_HP_AML_NFW
508 bool "Support ACPI AML calls to native firmware"
510 This driver installs a global ACPI Operation Region handler for
511 region 0xA1. AML methods can use this OpRegion to call arbitrary
512 native firmware functions. The driver installs the OpRegion
513 handler if there is an HPQ5001 device or if the user supplies
514 the "force" module parameter, e.g., with the "aml_nfw.force"
515 kernel command line option.
517 source "drivers/sn/Kconfig"
520 bool "kexec system call"
521 depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
524 kexec is a system call that implements the ability to shutdown your
525 current kernel, and to start another kernel. It is like a reboot
526 but it is independent of the system firmware. And like a reboot
527 you can start any kernel with it, not just Linux.
529 The name comes from the similarity to the exec system call.
531 It is an ongoing process to be certain the hardware in a machine
532 is properly shutdown, so do not be surprised if this code does not
533 initially work for you. As of this writing the exact hardware
534 interface is strongly in flux, so no good recommendation can be
538 bool "kernel crash dumps"
539 depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
541 Generate crash dump after being started by kexec.
543 source "drivers/firmware/Kconfig"
545 source "fs/Kconfig.binfmt"
549 menu "Power management and ACPI options"
551 source "kernel/power/Kconfig"
553 source "drivers/acpi/Kconfig"
556 menu "CPU Frequency scaling"
557 source "drivers/cpufreq/Kconfig"
565 menu "Bus options (PCI, PCMCIA)"
570 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
571 here unless you are using a simulator without PCI support.
579 source "drivers/pci/pcie/Kconfig"
581 source "drivers/pci/Kconfig"
583 source "drivers/pci/hotplug/Kconfig"
585 source "drivers/pcmcia/Kconfig"
593 source "drivers/Kconfig"
595 source "arch/ia64/hp/sim/Kconfig"
598 tristate "Memory special operations driver"
600 select IA64_UNCACHED_ALLOCATOR
602 If you have an ia64 and you want to enable memory special
603 operations support (formerly known as fetchop), say Y here,
608 source "arch/ia64/Kconfig.debug"
610 source "security/Kconfig"
612 source "crypto/Kconfig"
617 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)