Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[deliverable/linux.git] / arch / ia64 / Kconfig
CommitLineData
4d66bcc7
KS
1config PGTABLE_LEVELS
2 int "Page Table Levels" if !IA64_PAGE_SIZE_64KB
3 range 3 4 if !IA64_PAGE_SIZE_64KB
4 default 3
5
1da177e4
LT
6source "init/Kconfig"
7
dc52ddc0
MH
8source "kernel/Kconfig.freezer"
9
1da177e4
LT
10menu "Processor type and features"
11
12config IA64
13 bool
468bcf08 14 select ARCH_MIGHT_HAVE_PC_PARPORT
bbc4e596 15 select ARCH_MIGHT_HAVE_PC_SERIO
06f87adf
LB
16 select PCI if (!IA64_HP_SIM)
17 select ACPI if (!IA64_HP_SIM)
6e0a0ea1 18 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
46ba51ea 19 select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
0773a6cf 20 select HAVE_UNSTABLE_SCHED_CLOCK
ec7748b5 21 select HAVE_IDE
42d4b839 22 select HAVE_OPROFILE
3f550096 23 select HAVE_KPROBES
9edddaa2 24 select HAVE_KRETPROBES
a14a07b8
SL
25 select HAVE_FTRACE_MCOUNT_RECORD
26 select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
d3e75ff1 27 select HAVE_FUNCTION_TRACER
74bc7cee 28 select HAVE_DMA_ATTRS
6035d9db 29 select TTY
9690ad03 30 select HAVE_ARCH_TRACEHOOK
99162195 31 select HAVE_DMA_API_DEBUG
98e4ae8a
TH
32 select HAVE_MEMBLOCK
33 select HAVE_MEMBLOCK_NODE_MAP
b952741c 34 select HAVE_VIRT_CPU_ACCOUNTING
308c09f1 35 select ARCH_HAS_SG_CHAIN
4febd95a 36 select VIRT_TO_BUS
98e4ae8a 37 select ARCH_DISCARD_MEMBLOCK
c5e66129
TG
38 select GENERIC_IRQ_PROBE
39 select GENERIC_PENDING_IRQ if SMP
e3d78122 40 select GENERIC_IRQ_SHOW
4debd723 41 select GENERIC_IRQ_LEGACY
badc1446 42 select ARCH_WANT_OPTIONAL_GPIOLIB
df013ffb 43 select ARCH_HAVE_NMI_SAFE_CMPXCHG
4673ca8e 44 select GENERIC_IOMAP
13583bf1 45 select GENERIC_SMP_IDLE_THREAD
a6359d1e 46 select ARCH_INIT_TASK
f5e10287
TG
47 select ARCH_TASK_STRUCT_ALLOCATOR
48 select ARCH_THREAD_INFO_ALLOCATOR
21b19710 49 select ARCH_CLOCKSOURCE_DATA
70639421 50 select GENERIC_TIME_VSYSCALL_OLD
b6fca725 51 select SYSCTL_ARCH_UNALIGN_NO_WARN
786d35d4
DH
52 select HAVE_MOD_ARCH_SPECIFIC
53 select MODULES_USE_ELF_RELA
71c7356f 54 select ARCH_USE_CMPXCHG_LOCKREF
7a017721 55 select HAVE_ARCH_AUDITSYSCALL
1da177e4
LT
56 default y
57 help
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>.
62
63config 64BIT
64 bool
9f271d57 65 select ATA_NONSTANDARD if ATA
1da177e4
LT
66 default y
67
66701b14 68config ZONE_DMA
09ae1f58
CL
69 def_bool y
70 depends on !IA64_SGI_SN2
66701b14 71
2bd62a40
CL
72config QUICKLIST
73 bool
74 default y
75
1da177e4
LT
76config MMU
77 bool
78 default y
79
e33621a2
FT
80config ARCH_DMA_ADDR_T_64BIT
81 def_bool y
82
66ed5ef8
FT
83config NEED_DMA_MAP_STATE
84 def_bool y
85
18e98307
FT
86config NEED_SG_DMA_LENGTH
87 def_bool y
88
6c654b5f
JL
89config SWIOTLB
90 bool
6c654b5f 91
85718fae
TL
92config STACKTRACE_SUPPORT
93 def_bool y
94
95c354fe 95config GENERIC_LOCKBREAK
2c86963b 96 def_bool n
95c354fe 97
1da177e4
LT
98config RWSEM_XCHGADD_ALGORITHM
99 bool
100 default y
101
d9c23400
MG
102config HUGETLB_PAGE_SIZE_VARIABLE
103 bool
104 depends on HUGETLB_PAGE
105 default y
106
1da177e4
LT
107config GENERIC_CALIBRATE_DELAY
108 bool
109 default y
110
988c388a 111config HAVE_SETUP_PER_CPU_AREA
b32ef636 112 def_bool y
113
3ed3bce8
MD
114config DMI
115 bool
116 default y
cf074402 117 select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
3ed3bce8 118
1da177e4
LT
119config EFI
120 bool
a614e192 121 select UCS2_STRING
1da177e4
LT
122 default y
123
ae1e9130 124config SCHED_OMIT_FRAME_POINTER
7d12e522
AB
125 bool
126 default y
127
f14f75b8
JS
128config IA64_UNCACHED_ALLOCATOR
129 bool
130 select GENERIC_ALLOCATOR
131
46cf98cd
VP
132config ARCH_USES_PG_UNCACHED
133 def_bool y
134 depends on IA64_UNCACHED_ALLOCATOR
135
e65e1fc2
AV
136config AUDIT_ARCH
137 bool
138 default y
139
ba9cc328
IY
140menuconfig PARAVIRT_GUEST
141 bool "Paravirtualized guest support"
0c406643 142 depends on BROKEN
ba9cc328
IY
143 help
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.
146
147 If you say N, all options in this submenu will be skipped and disabled.
148
149if PARAVIRT_GUEST
150
151config PARAVIRT
152 bool "Enable paravirtualization code"
153 depends on PARAVIRT_GUEST
154 default y
ba9cc328
IY
155 help
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.
160
ba9cc328
IY
161endif
162
1da177e4
LT
163choice
164 prompt "System type"
165 default IA64_GENERIC
166
167config IA64_GENERIC
168 bool "generic"
169 select NUMA
170 select ACPI_NUMA
d1598e05 171 select SWIOTLB
62fdd767 172 select PCI_MSI
1da177e4
LT
173 help
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.
177
178 generic For any supported IA-64 system
179 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
62fdd767 180 DIG+Intel+IOMMU For DIG systems with Intel IOMMU
1da177e4
LT
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
22246614 184 SGI-UV For SGI UV systems
1da177e4
LT
185 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
186
187 If you don't know what to do, choose "generic".
188
189config IA64_DIG
190 bool "DIG-compliant"
d1598e05 191 select SWIOTLB
1da177e4 192
62fdd767
FY
193config IA64_DIG_VTD
194 bool "DIG+Intel+IOMMU"
96edc754 195 select INTEL_IOMMU
62fdd767
FY
196 select PCI_MSI
197
1da177e4
LT
198config IA64_HP_ZX1
199 bool "HP-zx1/sx1000"
200 help
201 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
202 support for the HP I/O MMU.
203
204config IA64_HP_ZX1_SWIOTLB
205 bool "HP-zx1/sx1000 with software I/O TLB"
d1598e05 206 select SWIOTLB
1da177e4
LT
207 help
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).
213
214config IA64_SGI_SN2
215 bool "SGI-SN2"
bd3be240
JS
216 select NUMA
217 select ACPI_NUMA
1da177e4
LT
218 help
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
223 instead.
224
3351ab9b
JS
225config IA64_SGI_UV
226 bool "SGI-UV"
22246614
JS
227 select NUMA
228 select ACPI_NUMA
229 select SWIOTLB
230 help
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
235 instead.
236
1da177e4
LT
237config IA64_HP_SIM
238 bool "Ski-simulator"
d1598e05 239 select SWIOTLB
1b3e3aa6 240 depends on !PM
1da177e4
LT
241
242endchoice
243
244choice
245 prompt "Processor type"
246 default ITANIUM
247
248config ITANIUM
249 bool "Itanium"
250 help
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.
254
255config MCKINLEY
256 bool "Itanium 2"
257 help
258 Select this to configure for an Itanium 2 (McKinley) processor.
259
260endchoice
261
262choice
263 prompt "Kernel page size"
264 default IA64_PAGE_SIZE_16KB
265
266config IA64_PAGE_SIZE_4KB
267 bool "4KB"
268 help
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
274 be selected.
275
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.
280
281 If you don't know what to do, choose 16KB.
282
283config IA64_PAGE_SIZE_8KB
284 bool "8KB"
285
286config IA64_PAGE_SIZE_16KB
287 bool "16KB"
288
289config IA64_PAGE_SIZE_64KB
290 depends on !ITANIUM
291 bool "64KB"
292
293endchoice
294
10d0aa3c
TL
295if IA64_HP_SIM
296config HZ
297 default 32
298endif
299
300if !IA64_HP_SIM
b5d23e5b 301source kernel/Kconfig.hz
10d0aa3c 302endif
b5d23e5b 303
1da177e4
LT
304config IA64_BRL_EMU
305 bool
306 depends on ITANIUM
307 default y
308
309# align cache-sensitive data to 128 bytes
310config IA64_L1_CACHE_SHIFT
311 int
312 default "7" if MCKINLEY
313 default "6" if ITANIUM
314
1da177e4
LT
315config IA64_CYCLONE
316 bool "Cyclone (EXA) Time Source support"
317 help
318 Say Y here to enable support for IBM EXA Cyclone time source.
319 If you're unsure, answer N.
320
321config IOSAPIC
322 bool
323 depends on !IA64_HP_SIM
324 default y
325
1da177e4 326config FORCE_MAX_ZONEORDER
da9577c5
BP
327 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
328 range 11 17 if !HUGETLB_PAGE
329 default "17" if HUGETLB_PAGE
330 default "11"
1da177e4
LT
331
332config SMP
333 bool "Symmetric multi-processing support"
334 help
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
337 than one CPU, say Y.
338
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.
344
03502faa
AB
345 See also the SMP-HOWTO available at
346 <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
347
348 If you don't know what to do here, say N.
349
350config NR_CPUS
d1339df1
RH
351 int "Maximum number of CPUs (2-4096)"
352 range 2 4096
1da177e4 353 depends on SMP
d1339df1 354 default "4096"
1da177e4
LT
355 help
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
360 performance hit.
361
362config HOTPLUG_CPU
48a9240c
KC
363 bool "Support for hot-pluggable CPUs"
364 depends on SMP
1da177e4
LT
365 default n
366 ---help---
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.
370
cc57637b
YG
371config ARCH_ENABLE_MEMORY_HOTPLUG
372 def_bool y
373
0c0e6195
KH
374config ARCH_ENABLE_MEMORY_HOTREMOVE
375 def_bool y
376
7a9bdd88
SS
377config SCHED_SMT
378 bool "SMT scheduler support"
379 depends on SMP
7a9bdd88
SS
380 help
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.
384
ff741906
AR
385config PERMIT_BSP_REMOVE
386 bool "Support removal of Bootstrap Processor"
387 depends on HOTPLUG_CPU
388 default n
389 ---help---
390 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
391 support.
392
393config FORCE_CPEI_RETARGET
25985edc 394 bool "Force assumption that CPEI can be re-targeted"
ff741906
AR
395 depends on PERMIT_BSP_REMOVE
396 default n
397 ---help---
25985edc 398 Say Y if you need to force the assumption that CPEI can be re-targeted to
ff741906
AR
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.
403
0b0517a4 404source "kernel/Kconfig.preempt"
1da177e4 405
3f22ab27
DH
406source "mm/Kconfig"
407
da9577c5
BP
408config ARCH_SELECT_MEMORY_MODEL
409 def_bool y
410
411config ARCH_DISCONTIGMEM_ENABLE
412 def_bool y
413 help
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.
418
419config ARCH_FLATMEM_ENABLE
420 def_bool y
421
422config ARCH_SPARSEMEM_ENABLE
423 def_bool y
424 depends on ARCH_DISCONTIGMEM_ENABLE
ef229c5a 425 select SPARSEMEM_VMEMMAP_ENABLE
da9577c5
BP
426
427config 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
430
431config NUMA
432 bool "NUMA support"
433 depends on !IA64_HP_SIM && !FLATMEM
434 default y if IA64_SGI_SN2
6c33eb39 435 select ACPI_NUMA if ACPI
da9577c5
BP
436 help
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.
440
c80d79d7
YG
441config NODES_SHIFT
442 int "Max num nodes shift(3-10)"
443 range 3 10
c57d68ca 444 default "10"
c80d79d7
YG
445 depends on NEED_MULTIPLE_NODES
446 help
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.
450
da9577c5
BP
451# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
452# VIRTUAL_MEM_MAP has been retained for historical reasons.
453config VIRTUAL_MEM_MAP
454 bool "Virtual mem map"
455 depends on !SPARSEMEM
456 default y if !IA64_HP_SIM
457 help
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
462 unsure, say Y.
463
464config HOLES_IN_ZONE
465 bool
466 default y if VIRTUAL_MEM_MAP
467
468config HAVE_ARCH_EARLY_PFN_TO_NID
334f85b6 469 def_bool NUMA && SPARSEMEM
da9577c5 470
10ad400b
YG
471config HAVE_ARCH_NODEDATA_EXTENSION
472 def_bool y
473 depends on NUMA
474
3bccd996
LS
475config USE_PERCPU_NUMA_NODE_ID
476 def_bool y
477 depends on NUMA
478
fd1197f1 479config HAVE_MEMORYLESS_NODES
25106000 480 def_bool NUMA
fd1197f1 481
9492587c
KH
482config ARCH_PROC_KCORE_TEXT
483 def_bool y
484 depends on PROC_KCORE
485
1da177e4
LT
486config IA64_MCA_RECOVERY
487 tristate "MCA recovery from errors other than TLB."
488
489config PERFMON
490 bool "Performance monitor support"
491 help
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.
496
497config IA64_PALINFO
498 tristate "/proc/pal support"
499 help
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.
504
505 To use this option, you have to ensure that the "/proc file system
506 support" (CONFIG_PROC_FS) is enabled, too.
507
e9ef08bd
FY
508config IA64_MC_ERR_INJECT
509 tristate "MC error injection support"
510 help
01dd2fbf
ML
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.
e9ef08bd
FY
514 This is a useful tool for MCA testing.
515
516 If you're unsure, do not select this option.
517
466575f4
JS
518config SGI_SN
519 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
520
2ab561a1
DMT
521config IA64_ESI
522 bool "ESI (Extensible SAL Interface) support"
523 help
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.
528
28eda5b8
BH
529config IA64_HP_AML_NFW
530 bool "Support ACPI AML calls to native firmware"
531 help
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.
538
c1311af1
BC
539source "drivers/sn/Kconfig"
540
a7956113 541config KEXEC
48a9240c
KC
542 bool "kexec system call"
543 depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
a7956113
ZN
544 help
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
3dde6ad8 547 but it is independent of the system firmware. And like a reboot
a7956113
ZN
548 you can start any kernel with it, not just Linux.
549
01dd2fbf 550 The name comes from the similarity to the exec system call.
a7956113
ZN
551
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
bf220695
GU
554 initially work for you. As of this writing the exact hardware
555 interface is strongly in flux, so no good recommendation can be
556 made.
a7956113
ZN
557
558config CRASH_DUMP
fb86611f
BW
559 bool "kernel crash dumps"
560 depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
a7956113
ZN
561 help
562 Generate crash dump after being started by kexec.
563
1da177e4
LT
564source "drivers/firmware/Kconfig"
565
566source "fs/Kconfig.binfmt"
567
568endmenu
569
1547a012 570menu "Power management and ACPI options"
1da177e4 571
eb7b6b32 572source "kernel/power/Kconfig"
1da177e4
LT
573
574source "drivers/acpi/Kconfig"
575
4db8699b 576if PM
ab423e43
VK
577menu "CPU Frequency scaling"
578source "drivers/cpufreq/Kconfig"
579endmenu
4db8699b
VP
580endif
581
1da177e4
LT
582endmenu
583
584if !IA64_HP_SIM
585
586menu "Bus options (PCI, PCMCIA)"
587
588config PCI
589 bool "PCI support"
590 help
85f265d8
CH
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.
1da177e4
LT
593
594config PCI_DOMAINS
36e23590
MW
595 def_bool PCI
596
597config PCI_SYSCALL
598 def_bool PCI
1da177e4 599
b7bb575c
KK
600source "drivers/pci/pcie/Kconfig"
601
1da177e4
LT
602source "drivers/pci/Kconfig"
603
604source "drivers/pci/hotplug/Kconfig"
605
606source "drivers/pcmcia/Kconfig"
607
608endmenu
609
610endif
611
d5950b43
SR
612source "net/Kconfig"
613
1da177e4
LT
614source "drivers/Kconfig"
615
1547a012
BH
616source "arch/ia64/hp/sim/Kconfig"
617
1a4b0fc5
JS
618config MSPEC
619 tristate "Memory special operations driver"
620 depends on IA64
621 select IA64_UNCACHED_ALLOCATOR
622 help
623 If you have an ia64 and you want to enable memory special
624 operations support (formerly known as fetchop), say Y here,
625 otherwise say N.
626
1da177e4
LT
627source "fs/Kconfig"
628
1547a012
BH
629source "arch/ia64/Kconfig.debug"
630
631source "security/Kconfig"
632
633source "crypto/Kconfig"
634
1da177e4
LT
635source "lib/Kconfig"
636
b34eb53c 637config IOMMU_HELPER
a8522509 638 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
This page took 0.951398 seconds and 5 git commands to generate.