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
58 The Itanium Processor Family is Intel's 64-bit successor to
59 the 32-bit X86 line. The IA-64 Linux project has a home
60 page at <http://www.linuxia64.org/> and a mailing list at
61 <linux-ia64@vger.kernel.org>.
65 select ATA_NONSTANDARD if ATA
70 depends on !IA64_SGI_SN2
80 config ARCH_DMA_ADDR_T_64BIT
83 config NEED_DMA_MAP_STATE
86 config NEED_SG_DMA_LENGTH
92 config STACKTRACE_SUPPORT
95 config GENERIC_LOCKBREAK
98 config RWSEM_XCHGADD_ALGORITHM
102 config HUGETLB_PAGE_SIZE_VARIABLE
104 depends on HUGETLB_PAGE
107 config GENERIC_CALIBRATE_DELAY
111 config HAVE_SETUP_PER_CPU_AREA
117 select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
124 config SCHED_OMIT_FRAME_POINTER
128 config IA64_UNCACHED_ALLOCATOR
130 select GENERIC_ALLOCATOR
132 config ARCH_USES_PG_UNCACHED
134 depends on IA64_UNCACHED_ALLOCATOR
140 menuconfig PARAVIRT_GUEST
141 bool "Paravirtualized guest support"
144 Say Y here to get to see options related to running Linux under
145 various hypervisors. This option alone does not add any kernel code.
147 If you say N, all options in this submenu will be skipped and disabled.
152 bool "Enable paravirtualization code"
153 depends on PARAVIRT_GUEST
156 This changes the kernel so it can modify itself when it is run
157 under a hypervisor, potentially improving performance significantly
158 over full virtualization. However, when run without a hypervisor
159 the kernel is theoretically slower and slightly larger.
174 This selects the system type of your hardware. A "generic" kernel
175 will run on any supported IA-64 system. However, if you configure
176 a kernel for your specific system, it will be faster and smaller.
178 generic For any supported IA-64 system
179 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
180 DIG+Intel+IOMMU For DIG systems with Intel IOMMU
181 HP-zx1/sx1000 For HP systems
182 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
183 SGI-SN2 For SGI Altix systems
184 SGI-UV For SGI UV systems
185 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
187 If you don't know what to do, choose "generic".
194 bool "DIG+Intel+IOMMU"
201 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
202 support for the HP I/O MMU.
204 config IA64_HP_ZX1_SWIOTLB
205 bool "HP-zx1/sx1000 with software I/O TLB"
208 Build a kernel that runs on HP zx1 and sx1000 systems even when they
209 have broken PCI devices which cannot DMA to full 32 bits. Apart
210 from support for the HP I/O MMU, this includes support for the software
211 I/O TLB, which allows supporting the broken devices at the expense of
212 wasting some kernel memory (about 2MB by default).
219 Selecting this option will optimize the kernel for use on sn2 based
220 systems, but the resulting kernel binary will not run on other
221 types of ia64 systems. If you have an SGI Altix system, it's safe
222 to select this option. If in doubt, select ia64 generic support
231 Selecting this option will optimize the kernel for use on UV based
232 systems, but the resulting kernel binary will not run on other
233 types of ia64 systems. If you have an SGI UV system, it's safe
234 to select this option. If in doubt, select ia64 generic support
245 prompt "Processor type"
251 Select your IA-64 processor type. The default is Itanium.
252 This choice is safe for all IA-64 systems, but may not perform
253 optimally on systems with, say, Itanium 2 or newer processors.
258 Select this to configure for an Itanium 2 (McKinley) processor.
263 prompt "Kernel page size"
264 default IA64_PAGE_SIZE_16KB
266 config IA64_PAGE_SIZE_4KB
269 This lets you select the page size of the kernel. For best IA-64
270 performance, a page size of 8KB or 16KB is recommended. For best
271 IA-32 compatibility, a page size of 4KB should be selected (the vast
272 majority of IA-32 binaries work perfectly fine with a larger page
273 size). For Itanium 2 or newer systems, a page size of 64KB can also
276 4KB For best IA-32 compatibility
277 8KB For best IA-64 performance
278 16KB For best IA-64 performance
279 64KB Requires Itanium 2 or newer processor.
281 If you don't know what to do, choose 16KB.
283 config IA64_PAGE_SIZE_8KB
286 config IA64_PAGE_SIZE_16KB
289 config IA64_PAGE_SIZE_64KB
301 source kernel/Kconfig.hz
309 # align cache-sensitive data to 128 bytes
310 config IA64_L1_CACHE_SHIFT
312 default "7" if MCKINLEY
313 default "6" if ITANIUM
316 bool "Cyclone (EXA) Time Source support"
318 Say Y here to enable support for IBM EXA Cyclone time source.
319 If you're unsure, answer N.
323 depends on !IA64_HP_SIM
326 config FORCE_MAX_ZONEORDER
327 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
328 range 11 17 if !HUGETLB_PAGE
329 default "17" if HUGETLB_PAGE
333 bool "Symmetric multi-processing support"
335 This enables support for systems with more than one CPU. If you have
336 a system with only one CPU, say N. If you have a system with more
339 If you say N here, the kernel will run on single and multiprocessor
340 systems, but will use only one CPU of a multiprocessor system. If
341 you say Y here, the kernel will run on many, but not all,
342 single processor systems. On a single processor system, the kernel
343 will run faster if you say N here.
345 See also the SMP-HOWTO available at
346 <http://www.tldp.org/docs.html#howto>.
348 If you don't know what to do here, say N.
351 int "Maximum number of CPUs (2-4096)"
356 You should set this to the number of CPUs in your system, but
357 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
358 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
359 than 64 will cause the use of a CPU mask array, causing a small
363 bool "Support for hot-pluggable CPUs"
367 Say Y here to experiment with turning CPUs off and on. CPUs
368 can be controlled through /sys/devices/system/cpu/cpu#.
369 Say N if you want to disable CPU hotplug.
371 config ARCH_ENABLE_MEMORY_HOTPLUG
374 config ARCH_ENABLE_MEMORY_HOTREMOVE
378 bool "SMT scheduler support"
381 Improves the CPU scheduler's decision making when dealing with
382 Intel IA64 chips with MultiThreading at a cost of slightly increased
383 overhead in some places. If unsure say N here.
385 config PERMIT_BSP_REMOVE
386 bool "Support removal of Bootstrap Processor"
387 depends on HOTPLUG_CPU
390 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
393 config FORCE_CPEI_RETARGET
394 bool "Force assumption that CPEI can be re-targeted"
395 depends on PERMIT_BSP_REMOVE
398 Say Y if you need to force the assumption that CPEI can be re-targeted to
399 any cpu in the system. This hint is available via ACPI 3.0 specifications.
400 Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
401 This option it useful to enable this feature on older BIOS's as well.
402 You can also enable this by using boot command line option force_cpei=1.
404 source "kernel/Kconfig.preempt"
408 config ARCH_SELECT_MEMORY_MODEL
411 config ARCH_DISCONTIGMEM_ENABLE
414 Say Y to support efficient handling of discontiguous physical memory,
415 for architectures which are either NUMA (Non-Uniform Memory Access)
416 or have huge holes in the physical address space for other reasons.
417 See <file:Documentation/vm/numa> for more.
419 config ARCH_FLATMEM_ENABLE
422 config ARCH_SPARSEMEM_ENABLE
424 depends on ARCH_DISCONTIGMEM_ENABLE
425 select SPARSEMEM_VMEMMAP_ENABLE
427 config ARCH_DISCONTIGMEM_DEFAULT
428 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
429 depends on ARCH_DISCONTIGMEM_ENABLE
433 depends on !IA64_HP_SIM && !FLATMEM
434 default y if IA64_SGI_SN2
435 select ACPI_NUMA if ACPI
437 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
438 Access). This option is for configuring high-end multiprocessor
439 server systems. If in doubt, say N.
442 int "Max num nodes shift(3-10)"
445 depends on NEED_MULTIPLE_NODES
447 This option specifies the maximum number of nodes in your SSI system.
448 MAX_NUMNODES will be 2^(This value).
449 If in doubt, use the default.
451 # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
452 # VIRTUAL_MEM_MAP has been retained for historical reasons.
453 config VIRTUAL_MEM_MAP
454 bool "Virtual mem map"
455 depends on !SPARSEMEM
456 default y if !IA64_HP_SIM
458 Say Y to compile the kernel with support for a virtual mem map.
459 This code also only takes effect if a memory hole of greater than
460 1 Gb is found during boot. You must turn this option on if you
461 require the DISCONTIGMEM option for your machine. If you are
466 default y if VIRTUAL_MEM_MAP
468 config HAVE_ARCH_EARLY_PFN_TO_NID
469 def_bool NUMA && SPARSEMEM
471 config HAVE_ARCH_NODEDATA_EXTENSION
475 config USE_PERCPU_NUMA_NODE_ID
479 config HAVE_MEMORYLESS_NODES
482 config ARCH_PROC_KCORE_TEXT
484 depends on PROC_KCORE
486 config IA64_MCA_RECOVERY
487 tristate "MCA recovery from errors other than TLB."
490 bool "Performance monitor support"
492 Selects whether support for the IA-64 performance monitor hardware
493 is included in the kernel. This makes some kernel data-structures a
494 little bigger and slows down execution a bit, but it is generally
495 a good idea to turn this on. If you're unsure, say Y.
498 tristate "/proc/pal support"
500 If you say Y here, you are able to get PAL (Processor Abstraction
501 Layer) information in /proc/pal. This contains useful information
502 about the processors in your systems, such as cache and TLB sizes
503 and the PAL firmware version in use.
505 To use this option, you have to ensure that the "/proc file system
506 support" (CONFIG_PROC_FS) is enabled, too.
508 config IA64_MC_ERR_INJECT
509 tristate "MC error injection support"
511 Adds support for MC error injection. If enabled, the kernel
512 will provide a sysfs interface for user applications to
513 call MC error injection PAL procedures to inject various errors.
514 This is a useful tool for MCA testing.
516 If you're unsure, do not select this option.
519 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
522 bool "ESI (Extensible SAL Interface) support"
524 If you say Y here, support is built into the kernel to
525 make ESI calls. ESI calls are used to support vendor-specific
526 firmware extensions, such as the ability to inject memory-errors
527 for test-purposes. If you're unsure, say N.
529 config IA64_HP_AML_NFW
530 bool "Support ACPI AML calls to native firmware"
532 This driver installs a global ACPI Operation Region handler for
533 region 0xA1. AML methods can use this OpRegion to call arbitrary
534 native firmware functions. The driver installs the OpRegion
535 handler if there is an HPQ5001 device or if the user supplies
536 the "force" module parameter, e.g., with the "aml_nfw.force"
537 kernel command line option.
539 source "drivers/sn/Kconfig"
542 bool "kexec system call"
543 depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
545 kexec is a system call that implements the ability to shutdown your
546 current kernel, and to start another kernel. It is like a reboot
547 but it is independent of the system firmware. And like a reboot
548 you can start any kernel with it, not just Linux.
550 The name comes from the similarity to the exec system call.
552 It is an ongoing process to be certain the hardware in a machine
553 is properly shutdown, so do not be surprised if this code does not
554 initially work for you. As of this writing the exact hardware
555 interface is strongly in flux, so no good recommendation can be
559 bool "kernel crash dumps"
560 depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
562 Generate crash dump after being started by kexec.
564 source "drivers/firmware/Kconfig"
566 source "fs/Kconfig.binfmt"
570 menu "Power management and ACPI options"
572 source "kernel/power/Kconfig"
574 source "drivers/acpi/Kconfig"
577 menu "CPU Frequency scaling"
578 source "drivers/cpufreq/Kconfig"
586 menu "Bus options (PCI, PCMCIA)"
591 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
592 here unless you are using a simulator without PCI support.
600 source "drivers/pci/pcie/Kconfig"
602 source "drivers/pci/Kconfig"
604 source "drivers/pci/hotplug/Kconfig"
606 source "drivers/pcmcia/Kconfig"
614 source "drivers/Kconfig"
616 source "arch/ia64/hp/sim/Kconfig"
619 tristate "Memory special operations driver"
621 select IA64_UNCACHED_ALLOCATOR
623 If you have an ia64 and you want to enable memory special
624 operations support (formerly known as fetchop), say Y here,
629 source "arch/ia64/Kconfig.debug"
631 source "security/Kconfig"
633 source "crypto/Kconfig"
638 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)