3
source "kernel/Kconfig.freezer"
5
menu "Processor type and features"
9
select PCI if (!IA64_HP_SIM)
10
select ACPI if (!IA64_HP_SIM)
11
select PM if (!IA64_HP_SIM)
12
select ARCH_SUPPORTS_MSI
13
select HAVE_UNSTABLE_SCHED_CLOCK
17
select HAVE_KRETPROBES
18
select HAVE_FTRACE_MCOUNT_RECORD
19
select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
20
select HAVE_FUNCTION_TRACER
23
select HAVE_ARCH_TRACEHOOK
24
select HAVE_DMA_API_DEBUG
25
select HAVE_GENERIC_HARDIRQS
26
select GENERIC_IRQ_PROBE
27
select GENERIC_PENDING_IRQ if SMP
29
select GENERIC_IRQ_SHOW
30
select ARCH_WANT_OPTIONAL_GPIOLIB
31
select ARCH_HAVE_NMI_SAFE_CMPXCHG
34
The Itanium Processor Family is Intel's 64-bit successor to
35
the 32-bit X86 line. The IA-64 Linux project has a home
36
page at <http://www.linuxia64.org/> and a mailing list at
37
<linux-ia64@vger.kernel.org>.
41
select ATA_NONSTANDARD if ATA
46
depends on !IA64_SGI_SN2
56
config ARCH_DMA_ADDR_T_64BIT
59
config NEED_DMA_MAP_STATE
62
config NEED_SG_DMA_LENGTH
68
config STACKTRACE_SUPPORT
71
config GENERIC_LOCKBREAK
74
config RWSEM_XCHGADD_ALGORITHM
78
config HUGETLB_PAGE_SIZE_VARIABLE
80
depends on HUGETLB_PAGE
83
config GENERIC_CALIBRATE_DELAY
87
config GENERIC_TIME_VSYSCALL
91
config HAVE_SETUP_PER_CPU_AREA
109
config ARCH_CLOCKSOURCE_DATA
112
config SCHED_OMIT_FRAME_POINTER
116
config IA64_UNCACHED_ALLOCATOR
118
select GENERIC_ALLOCATOR
120
config ARCH_USES_PG_UNCACHED
122
depends on IA64_UNCACHED_ALLOCATOR
128
menuconfig PARAVIRT_GUEST
129
bool "Paravirtualized guest support"
131
Say Y here to get to see options related to running Linux under
132
various hypervisors. This option alone does not add any kernel code.
134
If you say N, all options in this submenu will be skipped and disabled.
139
bool "Enable paravirtualization code"
140
depends on PARAVIRT_GUEST
145
This changes the kernel so it can modify itself when it is run
146
under a hypervisor, potentially improving performance significantly
147
over full virtualization. However, when run without a hypervisor
148
the kernel is theoretically slower and slightly larger.
151
source "arch/ia64/xen/Kconfig"
166
This selects the system type of your hardware. A "generic" kernel
167
will run on any supported IA-64 system. However, if you configure
168
a kernel for your specific system, it will be faster and smaller.
170
generic For any supported IA-64 system
171
DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
172
DIG+Intel+IOMMU For DIG systems with Intel IOMMU
173
HP-zx1/sx1000 For HP systems
174
HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
175
SGI-SN2 For SGI Altix systems
176
SGI-UV For SGI UV systems
177
Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
178
Xen-domU For xen domU system
180
If you don't know what to do, choose "generic".
187
bool "DIG+Intel+IOMMU"
194
Build a kernel that runs on HP zx1 and sx1000 systems. This adds
195
support for the HP I/O MMU.
197
config IA64_HP_ZX1_SWIOTLB
198
bool "HP-zx1/sx1000 with software I/O TLB"
201
Build a kernel that runs on HP zx1 and sx1000 systems even when they
202
have broken PCI devices which cannot DMA to full 32 bits. Apart
203
from support for the HP I/O MMU, this includes support for the software
204
I/O TLB, which allows supporting the broken devices at the expense of
205
wasting some kernel memory (about 2MB by default).
212
Selecting this option will optimize the kernel for use on sn2 based
213
systems, but the resulting kernel binary will not run on other
214
types of ia64 systems. If you have an SGI Altix system, it's safe
215
to select this option. If in doubt, select ia64 generic support
224
Selecting this option will optimize the kernel for use on UV based
225
systems, but the resulting kernel binary will not run on other
226
types of ia64 systems. If you have an SGI UV system, it's safe
227
to select this option. If in doubt, select ia64 generic support
234
config IA64_XEN_GUEST
239
Build a kernel that runs on Xen guest domain. At this moment only
240
16KB page size in supported.
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
296
prompt "Page Table Levels"
303
depends on !IA64_PAGE_SIZE_64KB
314
source kernel/Kconfig.hz
322
# align cache-sensitive data to 128 bytes
323
config IA64_L1_CACHE_SHIFT
325
default "7" if MCKINLEY
326
default "6" if ITANIUM
329
bool "Cyclone (EXA) Time Source support"
331
Say Y here to enable support for IBM EXA Cyclone time source.
332
If you're unsure, answer N.
336
depends on !IA64_HP_SIM
339
config FORCE_MAX_ZONEORDER
340
int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
341
range 11 17 if !HUGETLB_PAGE
342
default "17" if HUGETLB_PAGE
345
config VIRT_CPU_ACCOUNTING
346
bool "Deterministic task and CPU time accounting"
349
Select this option to enable more accurate task and CPU time
350
accounting. This is done by reading a CPU counter on each
351
kernel entry and exit and on transitions within the kernel
352
between system, softirq and hardirq state, so there is a
353
small performance impact.
354
If in doubt, say N here.
357
bool "Symmetric multi-processing support"
358
select USE_GENERIC_SMP_HELPERS
360
This enables support for systems with more than one CPU. If you have
361
a system with only one CPU, say N. If you have a system with more
364
If you say N here, the kernel will run on single and multiprocessor
365
systems, but will use only one CPU of a multiprocessor system. If
366
you say Y here, the kernel will run on many, but not all,
367
single processor systems. On a single processor system, the kernel
368
will run faster if you say N here.
370
See also the SMP-HOWTO available at
371
<http://www.tldp.org/docs.html#howto>.
373
If you don't know what to do here, say N.
376
int "Maximum number of CPUs (2-4096)"
381
You should set this to the number of CPUs in your system, but
382
keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
383
only use 2 CPUs on a >2 CPU system. Setting this to a value larger
384
than 64 will cause the use of a CPU mask array, causing a small
388
bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
389
depends on SMP && EXPERIMENTAL
393
Say Y here to experiment with turning CPUs off and on. CPUs
394
can be controlled through /sys/devices/system/cpu/cpu#.
395
Say N if you want to disable CPU hotplug.
397
config ARCH_ENABLE_MEMORY_HOTPLUG
400
config ARCH_ENABLE_MEMORY_HOTREMOVE
404
bool "SMT scheduler support"
407
Improves the CPU scheduler's decision making when dealing with
408
Intel IA64 chips with MultiThreading at a cost of slightly increased
409
overhead in some places. If unsure say N here.
411
config PERMIT_BSP_REMOVE
412
bool "Support removal of Bootstrap Processor"
413
depends on HOTPLUG_CPU
416
Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
419
config FORCE_CPEI_RETARGET
420
bool "Force assumption that CPEI can be re-targeted"
421
depends on PERMIT_BSP_REMOVE
424
Say Y if you need to force the assumption that CPEI can be re-targeted to
425
any cpu in the system. This hint is available via ACPI 3.0 specifications.
426
Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
427
This option it useful to enable this feature on older BIOS's as well.
428
You can also enable this by using boot command line option force_cpei=1.
430
source "kernel/Kconfig.preempt"
434
config ARCH_SELECT_MEMORY_MODEL
437
config ARCH_DISCONTIGMEM_ENABLE
440
Say Y to support efficient handling of discontiguous physical memory,
441
for architectures which are either NUMA (Non-Uniform Memory Access)
442
or have huge holes in the physical address space for other reasons.
443
See <file:Documentation/vm/numa> for more.
445
config ARCH_FLATMEM_ENABLE
448
config ARCH_SPARSEMEM_ENABLE
450
depends on ARCH_DISCONTIGMEM_ENABLE
451
select SPARSEMEM_VMEMMAP_ENABLE
453
config ARCH_DISCONTIGMEM_DEFAULT
454
def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
455
depends on ARCH_DISCONTIGMEM_ENABLE
459
depends on !IA64_HP_SIM && !FLATMEM
460
default y if IA64_SGI_SN2
461
select ACPI_NUMA if ACPI
463
Say Y to compile the kernel to support NUMA (Non-Uniform Memory
464
Access). This option is for configuring high-end multiprocessor
465
server systems. If in doubt, say N.
468
int "Max num nodes shift(3-10)"
471
depends on NEED_MULTIPLE_NODES
473
This option specifies the maximum number of nodes in your SSI system.
474
MAX_NUMNODES will be 2^(This value).
475
If in doubt, use the default.
477
config ARCH_POPULATES_NODE_MAP
480
# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
481
# VIRTUAL_MEM_MAP has been retained for historical reasons.
482
config VIRTUAL_MEM_MAP
483
bool "Virtual mem map"
484
depends on !SPARSEMEM
485
default y if !IA64_HP_SIM
487
Say Y to compile the kernel with support for a virtual mem map.
488
This code also only takes effect if a memory hole of greater than
489
1 Gb is found during boot. You must turn this option on if you
490
require the DISCONTIGMEM option for your machine. If you are
495
default y if VIRTUAL_MEM_MAP
497
config HAVE_ARCH_EARLY_PFN_TO_NID
498
def_bool NUMA && SPARSEMEM
500
config HAVE_ARCH_NODEDATA_EXTENSION
504
config USE_PERCPU_NUMA_NODE_ID
508
config HAVE_MEMORYLESS_NODES
511
config ARCH_PROC_KCORE_TEXT
513
depends on PROC_KCORE
515
config IA64_MCA_RECOVERY
516
tristate "MCA recovery from errors other than TLB."
519
bool "Performance monitor support"
521
Selects whether support for the IA-64 performance monitor hardware
522
is included in the kernel. This makes some kernel data-structures a
523
little bigger and slows down execution a bit, but it is generally
524
a good idea to turn this on. If you're unsure, say Y.
527
tristate "/proc/pal support"
529
If you say Y here, you are able to get PAL (Processor Abstraction
530
Layer) information in /proc/pal. This contains useful information
531
about the processors in your systems, such as cache and TLB sizes
532
and the PAL firmware version in use.
534
To use this option, you have to ensure that the "/proc file system
535
support" (CONFIG_PROC_FS) is enabled, too.
537
config IA64_MC_ERR_INJECT
538
tristate "MC error injection support"
540
Adds support for MC error injection. If enabled, the kernel
541
will provide a sysfs interface for user applications to
542
call MC error injection PAL procedures to inject various errors.
543
This is a useful tool for MCA testing.
545
If you're unsure, do not select this option.
548
def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
551
bool "ESI (Extensible SAL Interface) support"
553
If you say Y here, support is built into the kernel to
554
make ESI calls. ESI calls are used to support vendor-specific
555
firmware extensions, such as the ability to inject memory-errors
556
for test-purposes. If you're unsure, say N.
558
config IA64_HP_AML_NFW
559
bool "Support ACPI AML calls to native firmware"
561
This driver installs a global ACPI Operation Region handler for
562
region 0xA1. AML methods can use this OpRegion to call arbitrary
563
native firmware functions. The driver installs the OpRegion
564
handler if there is an HPQ5001 device or if the user supplies
565
the "force" module parameter, e.g., with the "aml_nfw.force"
566
kernel command line option.
568
source "drivers/sn/Kconfig"
571
bool "kexec system call (EXPERIMENTAL)"
572
depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
574
kexec is a system call that implements the ability to shutdown your
575
current kernel, and to start another kernel. It is like a reboot
576
but it is independent of the system firmware. And like a reboot
577
you can start any kernel with it, not just Linux.
579
The name comes from the similarity to the exec system call.
581
It is an ongoing process to be certain the hardware in a machine
582
is properly shutdown, so do not be surprised if this code does not
583
initially work for you. It may help to enable device hotplugging
584
support. As of this writing the exact hardware interface is
585
strongly in flux, so no good recommendation can be made.
588
bool "kernel crash dumps"
589
depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
591
Generate crash dump after being started by kexec.
593
source "drivers/firmware/Kconfig"
595
source "fs/Kconfig.binfmt"
599
menu "Power management and ACPI options"
601
source "kernel/power/Kconfig"
603
source "drivers/acpi/Kconfig"
607
source "arch/ia64/kernel/cpufreq/Kconfig"
615
menu "Bus options (PCI, PCMCIA)"
620
Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
621
here unless you are using a simulator without PCI support.
629
source "drivers/pci/pcie/Kconfig"
631
source "drivers/pci/Kconfig"
633
source "drivers/pci/hotplug/Kconfig"
635
source "drivers/pcmcia/Kconfig"
643
source "drivers/Kconfig"
645
source "arch/ia64/hp/sim/Kconfig"
648
tristate "Memory special operations driver"
650
select IA64_UNCACHED_ALLOCATOR
652
If you have an ia64 and you want to enable memory special
653
operations support (formerly known as fetchop), say Y here,
658
source "arch/ia64/Kconfig.debug"
660
source "security/Kconfig"
662
source "crypto/Kconfig"
664
source "arch/ia64/kvm/Kconfig"
669
def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)