Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
[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
5f56a5df 21 select HAVE_EXIT_THREAD
ec7748b5 22 select HAVE_IDE
42d4b839 23 select HAVE_OPROFILE
3f550096 24 select HAVE_KPROBES
9edddaa2 25 select HAVE_KRETPROBES
a14a07b8
SL
26 select HAVE_FTRACE_MCOUNT_RECORD
27 select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
d3e75ff1 28 select HAVE_FUNCTION_TRACER
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
df013ffb 42 select ARCH_HAVE_NMI_SAFE_CMPXCHG
4673ca8e 43 select GENERIC_IOMAP
13583bf1 44 select GENERIC_SMP_IDLE_THREAD
a6359d1e 45 select ARCH_INIT_TASK
f5e10287 46 select ARCH_TASK_STRUCT_ALLOCATOR
b235beea 47 select ARCH_THREAD_STACK_ALLOCATOR
21b19710 48 select ARCH_CLOCKSOURCE_DATA
70639421 49 select GENERIC_TIME_VSYSCALL_OLD
b6fca725 50 select SYSCTL_ARCH_UNALIGN_NO_WARN
786d35d4
DH
51 select HAVE_MOD_ARCH_SPECIFIC
52 select MODULES_USE_ELF_RELA
71c7356f 53 select ARCH_USE_CMPXCHG_LOCKREF
7a017721 54 select HAVE_ARCH_AUDITSYSCALL
73d35887 55 select HAVE_ARCH_HARDENED_USERCOPY
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
1da177e4
LT
140choice
141 prompt "System type"
142 default IA64_GENERIC
143
144config IA64_GENERIC
145 bool "generic"
146 select NUMA
147 select ACPI_NUMA
d1598e05 148 select SWIOTLB
62fdd767 149 select PCI_MSI
1da177e4
LT
150 help
151 This selects the system type of your hardware. A "generic" kernel
152 will run on any supported IA-64 system. However, if you configure
153 a kernel for your specific system, it will be faster and smaller.
154
155 generic For any supported IA-64 system
156 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
62fdd767 157 DIG+Intel+IOMMU For DIG systems with Intel IOMMU
1da177e4
LT
158 HP-zx1/sx1000 For HP systems
159 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
160 SGI-SN2 For SGI Altix systems
22246614 161 SGI-UV For SGI UV systems
1da177e4
LT
162 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
163
164 If you don't know what to do, choose "generic".
165
166config IA64_DIG
167 bool "DIG-compliant"
d1598e05 168 select SWIOTLB
1da177e4 169
62fdd767
FY
170config IA64_DIG_VTD
171 bool "DIG+Intel+IOMMU"
96edc754 172 select INTEL_IOMMU
62fdd767
FY
173 select PCI_MSI
174
1da177e4
LT
175config IA64_HP_ZX1
176 bool "HP-zx1/sx1000"
177 help
178 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
179 support for the HP I/O MMU.
180
181config IA64_HP_ZX1_SWIOTLB
182 bool "HP-zx1/sx1000 with software I/O TLB"
d1598e05 183 select SWIOTLB
1da177e4
LT
184 help
185 Build a kernel that runs on HP zx1 and sx1000 systems even when they
186 have broken PCI devices which cannot DMA to full 32 bits. Apart
187 from support for the HP I/O MMU, this includes support for the software
188 I/O TLB, which allows supporting the broken devices at the expense of
189 wasting some kernel memory (about 2MB by default).
190
191config IA64_SGI_SN2
192 bool "SGI-SN2"
bd3be240
JS
193 select NUMA
194 select ACPI_NUMA
1da177e4
LT
195 help
196 Selecting this option will optimize the kernel for use on sn2 based
197 systems, but the resulting kernel binary will not run on other
198 types of ia64 systems. If you have an SGI Altix system, it's safe
199 to select this option. If in doubt, select ia64 generic support
200 instead.
201
3351ab9b
JS
202config IA64_SGI_UV
203 bool "SGI-UV"
22246614
JS
204 select NUMA
205 select ACPI_NUMA
206 select SWIOTLB
207 help
208 Selecting this option will optimize the kernel for use on UV based
209 systems, but the resulting kernel binary will not run on other
210 types of ia64 systems. If you have an SGI UV system, it's safe
211 to select this option. If in doubt, select ia64 generic support
212 instead.
213
1da177e4
LT
214config IA64_HP_SIM
215 bool "Ski-simulator"
d1598e05 216 select SWIOTLB
1b3e3aa6 217 depends on !PM
1da177e4
LT
218
219endchoice
220
221choice
222 prompt "Processor type"
223 default ITANIUM
224
225config ITANIUM
226 bool "Itanium"
227 help
228 Select your IA-64 processor type. The default is Itanium.
229 This choice is safe for all IA-64 systems, but may not perform
230 optimally on systems with, say, Itanium 2 or newer processors.
231
232config MCKINLEY
233 bool "Itanium 2"
234 help
235 Select this to configure for an Itanium 2 (McKinley) processor.
236
237endchoice
238
239choice
240 prompt "Kernel page size"
241 default IA64_PAGE_SIZE_16KB
242
243config IA64_PAGE_SIZE_4KB
244 bool "4KB"
245 help
246 This lets you select the page size of the kernel. For best IA-64
247 performance, a page size of 8KB or 16KB is recommended. For best
248 IA-32 compatibility, a page size of 4KB should be selected (the vast
249 majority of IA-32 binaries work perfectly fine with a larger page
250 size). For Itanium 2 or newer systems, a page size of 64KB can also
251 be selected.
252
253 4KB For best IA-32 compatibility
254 8KB For best IA-64 performance
255 16KB For best IA-64 performance
256 64KB Requires Itanium 2 or newer processor.
257
258 If you don't know what to do, choose 16KB.
259
260config IA64_PAGE_SIZE_8KB
261 bool "8KB"
262
263config IA64_PAGE_SIZE_16KB
264 bool "16KB"
265
266config IA64_PAGE_SIZE_64KB
267 depends on !ITANIUM
268 bool "64KB"
269
270endchoice
271
10d0aa3c
TL
272if IA64_HP_SIM
273config HZ
274 default 32
275endif
276
277if !IA64_HP_SIM
b5d23e5b 278source kernel/Kconfig.hz
10d0aa3c 279endif
b5d23e5b 280
1da177e4
LT
281config IA64_BRL_EMU
282 bool
283 depends on ITANIUM
284 default y
285
286# align cache-sensitive data to 128 bytes
287config IA64_L1_CACHE_SHIFT
288 int
289 default "7" if MCKINLEY
290 default "6" if ITANIUM
291
1da177e4
LT
292config IA64_CYCLONE
293 bool "Cyclone (EXA) Time Source support"
294 help
295 Say Y here to enable support for IBM EXA Cyclone time source.
296 If you're unsure, answer N.
297
298config IOSAPIC
299 bool
300 depends on !IA64_HP_SIM
301 default y
302
1da177e4 303config FORCE_MAX_ZONEORDER
da9577c5
BP
304 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
305 range 11 17 if !HUGETLB_PAGE
306 default "17" if HUGETLB_PAGE
307 default "11"
1da177e4
LT
308
309config SMP
310 bool "Symmetric multi-processing support"
311 help
312 This enables support for systems with more than one CPU. If you have
313 a system with only one CPU, say N. If you have a system with more
314 than one CPU, say Y.
315
316 If you say N here, the kernel will run on single and multiprocessor
317 systems, but will use only one CPU of a multiprocessor system. If
318 you say Y here, the kernel will run on many, but not all,
319 single processor systems. On a single processor system, the kernel
320 will run faster if you say N here.
321
03502faa
AB
322 See also the SMP-HOWTO available at
323 <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
324
325 If you don't know what to do here, say N.
326
327config NR_CPUS
d1339df1
RH
328 int "Maximum number of CPUs (2-4096)"
329 range 2 4096
1da177e4 330 depends on SMP
d1339df1 331 default "4096"
1da177e4
LT
332 help
333 You should set this to the number of CPUs in your system, but
334 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
335 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
336 than 64 will cause the use of a CPU mask array, causing a small
337 performance hit.
338
339config HOTPLUG_CPU
48a9240c
KC
340 bool "Support for hot-pluggable CPUs"
341 depends on SMP
1da177e4
LT
342 default n
343 ---help---
344 Say Y here to experiment with turning CPUs off and on. CPUs
345 can be controlled through /sys/devices/system/cpu/cpu#.
346 Say N if you want to disable CPU hotplug.
347
cc57637b
YG
348config ARCH_ENABLE_MEMORY_HOTPLUG
349 def_bool y
350
0c0e6195
KH
351config ARCH_ENABLE_MEMORY_HOTREMOVE
352 def_bool y
353
7a9bdd88
SS
354config SCHED_SMT
355 bool "SMT scheduler support"
356 depends on SMP
7a9bdd88
SS
357 help
358 Improves the CPU scheduler's decision making when dealing with
359 Intel IA64 chips with MultiThreading at a cost of slightly increased
360 overhead in some places. If unsure say N here.
361
ff741906
AR
362config PERMIT_BSP_REMOVE
363 bool "Support removal of Bootstrap Processor"
364 depends on HOTPLUG_CPU
365 default n
366 ---help---
367 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
368 support.
369
370config FORCE_CPEI_RETARGET
25985edc 371 bool "Force assumption that CPEI can be re-targeted"
ff741906
AR
372 depends on PERMIT_BSP_REMOVE
373 default n
374 ---help---
25985edc 375 Say Y if you need to force the assumption that CPEI can be re-targeted to
ff741906
AR
376 any cpu in the system. This hint is available via ACPI 3.0 specifications.
377 Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
378 This option it useful to enable this feature on older BIOS's as well.
379 You can also enable this by using boot command line option force_cpei=1.
380
0b0517a4 381source "kernel/Kconfig.preempt"
1da177e4 382
3f22ab27
DH
383source "mm/Kconfig"
384
da9577c5
BP
385config ARCH_SELECT_MEMORY_MODEL
386 def_bool y
387
388config ARCH_DISCONTIGMEM_ENABLE
389 def_bool y
390 help
391 Say Y to support efficient handling of discontiguous physical memory,
392 for architectures which are either NUMA (Non-Uniform Memory Access)
393 or have huge holes in the physical address space for other reasons.
394 See <file:Documentation/vm/numa> for more.
395
396config ARCH_FLATMEM_ENABLE
397 def_bool y
398
399config ARCH_SPARSEMEM_ENABLE
400 def_bool y
401 depends on ARCH_DISCONTIGMEM_ENABLE
ef229c5a 402 select SPARSEMEM_VMEMMAP_ENABLE
da9577c5
BP
403
404config ARCH_DISCONTIGMEM_DEFAULT
405 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
406 depends on ARCH_DISCONTIGMEM_ENABLE
407
408config NUMA
409 bool "NUMA support"
410 depends on !IA64_HP_SIM && !FLATMEM
411 default y if IA64_SGI_SN2
6c33eb39 412 select ACPI_NUMA if ACPI
da9577c5
BP
413 help
414 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
415 Access). This option is for configuring high-end multiprocessor
416 server systems. If in doubt, say N.
417
c80d79d7
YG
418config NODES_SHIFT
419 int "Max num nodes shift(3-10)"
420 range 3 10
c57d68ca 421 default "10"
c80d79d7
YG
422 depends on NEED_MULTIPLE_NODES
423 help
424 This option specifies the maximum number of nodes in your SSI system.
425 MAX_NUMNODES will be 2^(This value).
426 If in doubt, use the default.
427
da9577c5
BP
428# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
429# VIRTUAL_MEM_MAP has been retained for historical reasons.
430config VIRTUAL_MEM_MAP
431 bool "Virtual mem map"
432 depends on !SPARSEMEM
433 default y if !IA64_HP_SIM
434 help
435 Say Y to compile the kernel with support for a virtual mem map.
436 This code also only takes effect if a memory hole of greater than
437 1 Gb is found during boot. You must turn this option on if you
438 require the DISCONTIGMEM option for your machine. If you are
439 unsure, say Y.
440
441config HOLES_IN_ZONE
442 bool
443 default y if VIRTUAL_MEM_MAP
444
445config HAVE_ARCH_EARLY_PFN_TO_NID
334f85b6 446 def_bool NUMA && SPARSEMEM
da9577c5 447
10ad400b
YG
448config HAVE_ARCH_NODEDATA_EXTENSION
449 def_bool y
450 depends on NUMA
451
3bccd996
LS
452config USE_PERCPU_NUMA_NODE_ID
453 def_bool y
454 depends on NUMA
455
fd1197f1 456config HAVE_MEMORYLESS_NODES
25106000 457 def_bool NUMA
fd1197f1 458
9492587c
KH
459config ARCH_PROC_KCORE_TEXT
460 def_bool y
461 depends on PROC_KCORE
462
1da177e4
LT
463config IA64_MCA_RECOVERY
464 tristate "MCA recovery from errors other than TLB."
465
466config PERFMON
467 bool "Performance monitor support"
468 help
469 Selects whether support for the IA-64 performance monitor hardware
470 is included in the kernel. This makes some kernel data-structures a
471 little bigger and slows down execution a bit, but it is generally
472 a good idea to turn this on. If you're unsure, say Y.
473
474config IA64_PALINFO
475 tristate "/proc/pal support"
476 help
477 If you say Y here, you are able to get PAL (Processor Abstraction
478 Layer) information in /proc/pal. This contains useful information
479 about the processors in your systems, such as cache and TLB sizes
480 and the PAL firmware version in use.
481
482 To use this option, you have to ensure that the "/proc file system
483 support" (CONFIG_PROC_FS) is enabled, too.
484
e9ef08bd
FY
485config IA64_MC_ERR_INJECT
486 tristate "MC error injection support"
487 help
01dd2fbf
ML
488 Adds support for MC error injection. If enabled, the kernel
489 will provide a sysfs interface for user applications to
490 call MC error injection PAL procedures to inject various errors.
e9ef08bd
FY
491 This is a useful tool for MCA testing.
492
493 If you're unsure, do not select this option.
494
466575f4
JS
495config SGI_SN
496 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
497
2ab561a1
DMT
498config IA64_ESI
499 bool "ESI (Extensible SAL Interface) support"
500 help
501 If you say Y here, support is built into the kernel to
502 make ESI calls. ESI calls are used to support vendor-specific
503 firmware extensions, such as the ability to inject memory-errors
504 for test-purposes. If you're unsure, say N.
505
28eda5b8
BH
506config IA64_HP_AML_NFW
507 bool "Support ACPI AML calls to native firmware"
508 help
509 This driver installs a global ACPI Operation Region handler for
510 region 0xA1. AML methods can use this OpRegion to call arbitrary
511 native firmware functions. The driver installs the OpRegion
512 handler if there is an HPQ5001 device or if the user supplies
513 the "force" module parameter, e.g., with the "aml_nfw.force"
514 kernel command line option.
515
c1311af1
BC
516source "drivers/sn/Kconfig"
517
a7956113 518config KEXEC
48a9240c
KC
519 bool "kexec system call"
520 depends on !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
2965faa5 521 select KEXEC_CORE
a7956113
ZN
522 help
523 kexec is a system call that implements the ability to shutdown your
524 current kernel, and to start another kernel. It is like a reboot
3dde6ad8 525 but it is independent of the system firmware. And like a reboot
a7956113
ZN
526 you can start any kernel with it, not just Linux.
527
01dd2fbf 528 The name comes from the similarity to the exec system call.
a7956113
ZN
529
530 It is an ongoing process to be certain the hardware in a machine
531 is properly shutdown, so do not be surprised if this code does not
bf220695
GU
532 initially work for you. As of this writing the exact hardware
533 interface is strongly in flux, so no good recommendation can be
534 made.
a7956113
ZN
535
536config CRASH_DUMP
fb86611f
BW
537 bool "kernel crash dumps"
538 depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
a7956113
ZN
539 help
540 Generate crash dump after being started by kexec.
541
1da177e4
LT
542source "drivers/firmware/Kconfig"
543
544source "fs/Kconfig.binfmt"
545
546endmenu
547
1547a012 548menu "Power management and ACPI options"
1da177e4 549
eb7b6b32 550source "kernel/power/Kconfig"
1da177e4
LT
551
552source "drivers/acpi/Kconfig"
553
4db8699b 554if PM
ab423e43
VK
555menu "CPU Frequency scaling"
556source "drivers/cpufreq/Kconfig"
557endmenu
4db8699b
VP
558endif
559
1da177e4
LT
560endmenu
561
562if !IA64_HP_SIM
563
564menu "Bus options (PCI, PCMCIA)"
565
566config PCI
567 bool "PCI support"
568 help
85f265d8
CH
569 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
570 here unless you are using a simulator without PCI support.
1da177e4
LT
571
572config PCI_DOMAINS
36e23590
MW
573 def_bool PCI
574
575config PCI_SYSCALL
576 def_bool PCI
1da177e4
LT
577
578source "drivers/pci/Kconfig"
579
1da177e4
LT
580source "drivers/pcmcia/Kconfig"
581
582endmenu
583
584endif
585
d5950b43
SR
586source "net/Kconfig"
587
1da177e4
LT
588source "drivers/Kconfig"
589
1547a012
BH
590source "arch/ia64/hp/sim/Kconfig"
591
1a4b0fc5
JS
592config MSPEC
593 tristate "Memory special operations driver"
594 depends on IA64
595 select IA64_UNCACHED_ALLOCATOR
596 help
597 If you have an ia64 and you want to enable memory special
598 operations support (formerly known as fetchop), say Y here,
599 otherwise say N.
600
1da177e4
LT
601source "fs/Kconfig"
602
1547a012
BH
603source "arch/ia64/Kconfig.debug"
604
605source "security/Kconfig"
606
607source "crypto/Kconfig"
608
1da177e4
LT
609source "lib/Kconfig"
610
b34eb53c 611config IOMMU_HELPER
a8522509 612 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
This page took 0.984518 seconds and 5 git commands to generate.