container freezer: make refrigerator always available
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / ia64 / Kconfig
CommitLineData
1da177e4
LT
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "IA-64 Linux Kernel Configuration"
7
8source "init/Kconfig"
9
10menu "Processor type and features"
11
12config IA64
13 bool
06f87adf
LB
14 select PCI if (!IA64_HP_SIM)
15 select ACPI if (!IA64_HP_SIM)
8140a90e 16 select PM if (!IA64_HP_SIM)
f282b970 17 select ARCH_SUPPORTS_MSI
ec7748b5 18 select HAVE_IDE
42d4b839 19 select HAVE_OPROFILE
3f550096 20 select HAVE_KPROBES
9edddaa2 21 select HAVE_KRETPROBES
74bc7cee 22 select HAVE_DMA_ATTRS
b693919c 23 select HAVE_KVM
1da177e4
LT
24 default y
25 help
26 The Itanium Processor Family is Intel's 64-bit successor to
27 the 32-bit X86 line. The IA-64 Linux project has a home
28 page at <http://www.linuxia64.org/> and a mailing list at
29 <linux-ia64@vger.kernel.org>.
30
31config 64BIT
32 bool
9f271d57 33 select ATA_NONSTANDARD if ATA
1da177e4
LT
34 default y
35
66701b14 36config ZONE_DMA
09ae1f58
CL
37 def_bool y
38 depends on !IA64_SGI_SN2
66701b14 39
2bd62a40
CL
40config QUICKLIST
41 bool
42 default y
43
1da177e4
LT
44config MMU
45 bool
46 default y
47
6c654b5f
JL
48config SWIOTLB
49 bool
6c654b5f 50
a8522509
FT
51config IOMMU_HELPER
52 bool
53
95c354fe
NP
54config GENERIC_LOCKBREAK
55 bool
56 default y
57 depends on SMP && PREEMPT
58
1da177e4
LT
59config RWSEM_XCHGADD_ALGORITHM
60 bool
61 default y
62
d9c23400
MG
63config HUGETLB_PAGE_SIZE_VARIABLE
64 bool
65 depends on HUGETLB_PAGE
66 default y
67
2875aef8
AM
68config GENERIC_FIND_NEXT_BIT
69 bool
70 default y
71
1da177e4
LT
72config GENERIC_CALIBRATE_DELAY
73 bool
74 default y
75
0aa366f3
TL
76config GENERIC_TIME
77 bool
78 default y
79
80config GENERIC_TIME_VSYSCALL
1da177e4
LT
81 bool
82 default y
83
988c388a 84config HAVE_SETUP_PER_CPU_AREA
b32ef636 85 def_bool y
86
3ed3bce8
MD
87config DMI
88 bool
89 default y
90
1da177e4
LT
91config EFI
92 bool
93 default y
94
95config GENERIC_IOMAP
96 bool
97 default y
98
7d12e522
AB
99config SCHED_NO_NO_OMIT_FRAME_POINTER
100 bool
101 default y
102
f14f75b8
JS
103config IA64_UNCACHED_ALLOCATOR
104 bool
105 select GENERIC_ALLOCATOR
106
e65e1fc2
AV
107config AUDIT_ARCH
108 bool
109 default y
110
1da177e4
LT
111choice
112 prompt "System type"
113 default IA64_GENERIC
114
115config IA64_GENERIC
116 bool "generic"
117 select NUMA
118 select ACPI_NUMA
d1598e05 119 select SWIOTLB
1da177e4
LT
120 help
121 This selects the system type of your hardware. A "generic" kernel
122 will run on any supported IA-64 system. However, if you configure
123 a kernel for your specific system, it will be faster and smaller.
124
125 generic For any supported IA-64 system
126 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
127 HP-zx1/sx1000 For HP systems
128 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
129 SGI-SN2 For SGI Altix systems
22246614 130 SGI-UV For SGI UV systems
1da177e4
LT
131 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
132
133 If you don't know what to do, choose "generic".
134
135config IA64_DIG
136 bool "DIG-compliant"
d1598e05 137 select SWIOTLB
1da177e4
LT
138
139config IA64_HP_ZX1
140 bool "HP-zx1/sx1000"
141 help
142 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
143 support for the HP I/O MMU.
144
145config IA64_HP_ZX1_SWIOTLB
146 bool "HP-zx1/sx1000 with software I/O TLB"
d1598e05 147 select SWIOTLB
1da177e4
LT
148 help
149 Build a kernel that runs on HP zx1 and sx1000 systems even when they
150 have broken PCI devices which cannot DMA to full 32 bits. Apart
151 from support for the HP I/O MMU, this includes support for the software
152 I/O TLB, which allows supporting the broken devices at the expense of
153 wasting some kernel memory (about 2MB by default).
154
155config IA64_SGI_SN2
156 bool "SGI-SN2"
bd3be240
JS
157 select NUMA
158 select ACPI_NUMA
1da177e4
LT
159 help
160 Selecting this option will optimize the kernel for use on sn2 based
161 systems, but the resulting kernel binary will not run on other
162 types of ia64 systems. If you have an SGI Altix system, it's safe
163 to select this option. If in doubt, select ia64 generic support
164 instead.
165
3351ab9b
JS
166config IA64_SGI_UV
167 bool "SGI-UV"
22246614
JS
168 select NUMA
169 select ACPI_NUMA
170 select SWIOTLB
171 help
172 Selecting this option will optimize the kernel for use on UV based
173 systems, but the resulting kernel binary will not run on other
174 types of ia64 systems. If you have an SGI UV system, it's safe
175 to select this option. If in doubt, select ia64 generic support
176 instead.
177
1da177e4
LT
178config IA64_HP_SIM
179 bool "Ski-simulator"
d1598e05 180 select SWIOTLB
1da177e4
LT
181
182endchoice
183
184choice
185 prompt "Processor type"
186 default ITANIUM
187
188config ITANIUM
189 bool "Itanium"
190 help
191 Select your IA-64 processor type. The default is Itanium.
192 This choice is safe for all IA-64 systems, but may not perform
193 optimally on systems with, say, Itanium 2 or newer processors.
194
195config MCKINLEY
196 bool "Itanium 2"
197 help
198 Select this to configure for an Itanium 2 (McKinley) processor.
199
200endchoice
201
202choice
203 prompt "Kernel page size"
204 default IA64_PAGE_SIZE_16KB
205
206config IA64_PAGE_SIZE_4KB
207 bool "4KB"
208 help
209 This lets you select the page size of the kernel. For best IA-64
210 performance, a page size of 8KB or 16KB is recommended. For best
211 IA-32 compatibility, a page size of 4KB should be selected (the vast
212 majority of IA-32 binaries work perfectly fine with a larger page
213 size). For Itanium 2 or newer systems, a page size of 64KB can also
214 be selected.
215
216 4KB For best IA-32 compatibility
217 8KB For best IA-64 performance
218 16KB For best IA-64 performance
219 64KB Requires Itanium 2 or newer processor.
220
221 If you don't know what to do, choose 16KB.
222
223config IA64_PAGE_SIZE_8KB
224 bool "8KB"
225
226config IA64_PAGE_SIZE_16KB
227 bool "16KB"
228
229config IA64_PAGE_SIZE_64KB
230 depends on !ITANIUM
231 bool "64KB"
232
233endchoice
234
837cd0bd
RH
235choice
236 prompt "Page Table Levels"
237 default PGTABLE_3
238
239config PGTABLE_3
240 bool "3 Levels"
241
242config PGTABLE_4
243 depends on !IA64_PAGE_SIZE_64KB
244 bool "4 Levels"
245
246endchoice
247
10d0aa3c
TL
248if IA64_HP_SIM
249config HZ
250 default 32
251endif
252
253if !IA64_HP_SIM
b5d23e5b 254source kernel/Kconfig.hz
10d0aa3c 255endif
b5d23e5b 256
1da177e4
LT
257config IA64_BRL_EMU
258 bool
259 depends on ITANIUM
260 default y
261
262# align cache-sensitive data to 128 bytes
263config IA64_L1_CACHE_SHIFT
264 int
265 default "7" if MCKINLEY
266 default "6" if ITANIUM
267
1da177e4
LT
268config IA64_CYCLONE
269 bool "Cyclone (EXA) Time Source support"
270 help
271 Say Y here to enable support for IBM EXA Cyclone time source.
272 If you're unsure, answer N.
273
274config IOSAPIC
275 bool
276 depends on !IA64_HP_SIM
277 default y
278
1da177e4 279config FORCE_MAX_ZONEORDER
da9577c5
BP
280 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
281 range 11 17 if !HUGETLB_PAGE
282 default "17" if HUGETLB_PAGE
283 default "11"
1da177e4 284
b64f34cd
HS
285config VIRT_CPU_ACCOUNTING
286 bool "Deterministic task and CPU time accounting"
287 default n
288 help
289 Select this option to enable more accurate task and CPU time
290 accounting. This is done by reading a CPU counter on each
291 kernel entry and exit and on transitions within the kernel
292 between system, softirq and hardirq state, so there is a
293 small performance impact.
294 If in doubt, say N here.
295
1da177e4
LT
296config SMP
297 bool "Symmetric multi-processing support"
f27b433e 298 select USE_GENERIC_SMP_HELPERS
1da177e4
LT
299 help
300 This enables support for systems with more than one CPU. If you have
301 a system with only one CPU, say N. If you have a system with more
302 than one CPU, say Y.
303
304 If you say N here, the kernel will run on single and multiprocessor
305 systems, but will use only one CPU of a multiprocessor system. If
306 you say Y here, the kernel will run on many, but not all,
307 single processor systems. On a single processor system, the kernel
308 will run faster if you say N here.
309
03502faa
AB
310 See also the SMP-HOWTO available at
311 <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
312
313 If you don't know what to do here, say N.
314
315config NR_CPUS
d1339df1
RH
316 int "Maximum number of CPUs (2-4096)"
317 range 2 4096
1da177e4 318 depends on SMP
d1339df1 319 default "4096"
1da177e4
LT
320 help
321 You should set this to the number of CPUs in your system, but
322 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
323 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
324 than 64 will cause the use of a CPU mask array, causing a small
325 performance hit.
326
327config HOTPLUG_CPU
328 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
329 depends on SMP && EXPERIMENTAL
330 select HOTPLUG
331 default n
332 ---help---
333 Say Y here to experiment with turning CPUs off and on. CPUs
334 can be controlled through /sys/devices/system/cpu/cpu#.
335 Say N if you want to disable CPU hotplug.
336
cc57637b
YG
337config ARCH_ENABLE_MEMORY_HOTPLUG
338 def_bool y
339
0c0e6195
KH
340config ARCH_ENABLE_MEMORY_HOTREMOVE
341 def_bool y
342
7a9bdd88
SS
343config SCHED_SMT
344 bool "SMT scheduler support"
345 depends on SMP
7a9bdd88
SS
346 help
347 Improves the CPU scheduler's decision making when dealing with
348 Intel IA64 chips with MultiThreading at a cost of slightly increased
349 overhead in some places. If unsure say N here.
350
ff741906
AR
351config PERMIT_BSP_REMOVE
352 bool "Support removal of Bootstrap Processor"
353 depends on HOTPLUG_CPU
354 default n
355 ---help---
356 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
357 support.
358
359config FORCE_CPEI_RETARGET
360 bool "Force assumption that CPEI can be re-targetted"
361 depends on PERMIT_BSP_REMOVE
362 default n
363 ---help---
364 Say Y if you need to force the assumption that CPEI can be re-targetted to
365 any cpu in the system. This hint is available via ACPI 3.0 specifications.
366 Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
367 This option it useful to enable this feature on older BIOS's as well.
368 You can also enable this by using boot command line option force_cpei=1.
369
0b0517a4 370source "kernel/Kconfig.preempt"
1da177e4 371
3f22ab27
DH
372source "mm/Kconfig"
373
da9577c5
BP
374config ARCH_SELECT_MEMORY_MODEL
375 def_bool y
376
377config ARCH_DISCONTIGMEM_ENABLE
378 def_bool y
379 help
380 Say Y to support efficient handling of discontiguous physical memory,
381 for architectures which are either NUMA (Non-Uniform Memory Access)
382 or have huge holes in the physical address space for other reasons.
383 See <file:Documentation/vm/numa> for more.
384
385config ARCH_FLATMEM_ENABLE
386 def_bool y
387
388config ARCH_SPARSEMEM_ENABLE
389 def_bool y
390 depends on ARCH_DISCONTIGMEM_ENABLE
ef229c5a 391 select SPARSEMEM_VMEMMAP_ENABLE
da9577c5
BP
392
393config ARCH_DISCONTIGMEM_DEFAULT
394 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
395 depends on ARCH_DISCONTIGMEM_ENABLE
396
397config NUMA
398 bool "NUMA support"
399 depends on !IA64_HP_SIM && !FLATMEM
400 default y if IA64_SGI_SN2
6c33eb39 401 select ACPI_NUMA if ACPI
da9577c5
BP
402 help
403 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
404 Access). This option is for configuring high-end multiprocessor
405 server systems. If in doubt, say N.
406
c80d79d7
YG
407config NODES_SHIFT
408 int "Max num nodes shift(3-10)"
409 range 3 10
c57d68ca 410 default "10"
c80d79d7
YG
411 depends on NEED_MULTIPLE_NODES
412 help
413 This option specifies the maximum number of nodes in your SSI system.
414 MAX_NUMNODES will be 2^(This value).
415 If in doubt, use the default.
416
05e0caad
MG
417config ARCH_POPULATES_NODE_MAP
418 def_bool y
419
da9577c5
BP
420# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
421# VIRTUAL_MEM_MAP has been retained for historical reasons.
422config VIRTUAL_MEM_MAP
423 bool "Virtual mem map"
424 depends on !SPARSEMEM
425 default y if !IA64_HP_SIM
426 help
427 Say Y to compile the kernel with support for a virtual mem map.
428 This code also only takes effect if a memory hole of greater than
429 1 Gb is found during boot. You must turn this option on if you
430 require the DISCONTIGMEM option for your machine. If you are
431 unsure, say Y.
432
433config HOLES_IN_ZONE
434 bool
435 default y if VIRTUAL_MEM_MAP
436
437config HAVE_ARCH_EARLY_PFN_TO_NID
438 def_bool y
439 depends on NEED_MULTIPLE_NODES
440
10ad400b
YG
441config HAVE_ARCH_NODEDATA_EXTENSION
442 def_bool y
443 depends on NUMA
444
1da177e4
LT
445config IA32_SUPPORT
446 bool "Support for Linux/x86 binaries"
447 help
448 IA-64 processors can execute IA-32 (X86) instructions. By
449 saying Y here, the kernel will include IA-32 system call
450 emulation support which makes it possible to transparently
451 run IA-32 Linux binaries on an IA-64 Linux system.
452 If in doubt, say Y.
453
454config COMPAT
455 bool
456 depends on IA32_SUPPORT
457 default y
458
7a6c8135
TL
459config COMPAT_FOR_U64_ALIGNMENT
460 def_bool COMPAT
461
1da177e4
LT
462config IA64_MCA_RECOVERY
463 tristate "MCA recovery from errors other than TLB."
464
465config PERFMON
466 bool "Performance monitor support"
467 help
468 Selects whether support for the IA-64 performance monitor hardware
469 is included in the kernel. This makes some kernel data-structures a
470 little bigger and slows down execution a bit, but it is generally
471 a good idea to turn this on. If you're unsure, say Y.
472
473config IA64_PALINFO
474 tristate "/proc/pal support"
475 help
476 If you say Y here, you are able to get PAL (Processor Abstraction
477 Layer) information in /proc/pal. This contains useful information
478 about the processors in your systems, such as cache and TLB sizes
479 and the PAL firmware version in use.
480
481 To use this option, you have to ensure that the "/proc file system
482 support" (CONFIG_PROC_FS) is enabled, too.
483
e9ef08bd
FY
484config IA64_MC_ERR_INJECT
485 tristate "MC error injection support"
486 help
01dd2fbf
ML
487 Adds support for MC error injection. If enabled, the kernel
488 will provide a sysfs interface for user applications to
489 call MC error injection PAL procedures to inject various errors.
e9ef08bd
FY
490 This is a useful tool for MCA testing.
491
492 If you're unsure, do not select this option.
493
466575f4
JS
494config SGI_SN
495 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
496
2ab561a1
DMT
497config IA64_ESI
498 bool "ESI (Extensible SAL Interface) support"
499 help
500 If you say Y here, support is built into the kernel to
501 make ESI calls. ESI calls are used to support vendor-specific
502 firmware extensions, such as the ability to inject memory-errors
503 for test-purposes. If you're unsure, say N.
504
28eda5b8
BH
505config IA64_HP_AML_NFW
506 bool "Support ACPI AML calls to native firmware"
507 help
508 This driver installs a global ACPI Operation Region handler for
509 region 0xA1. AML methods can use this OpRegion to call arbitrary
510 native firmware functions. The driver installs the OpRegion
511 handler if there is an HPQ5001 device or if the user supplies
512 the "force" module parameter, e.g., with the "aml_nfw.force"
513 kernel command line option.
514
c1311af1
BC
515source "drivers/sn/Kconfig"
516
a7956113
ZN
517config KEXEC
518 bool "kexec system call (EXPERIMENTAL)"
519 depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
520 help
521 kexec is a system call that implements the ability to shutdown your
522 current kernel, and to start another kernel. It is like a reboot
3dde6ad8 523 but it is independent of the system firmware. And like a reboot
a7956113
ZN
524 you can start any kernel with it, not just Linux.
525
01dd2fbf 526 The name comes from the similarity to the exec system call.
a7956113
ZN
527
528 It is an ongoing process to be certain the hardware in a machine
529 is properly shutdown, so do not be surprised if this code does not
530 initially work for you. It may help to enable device hotplugging
531 support. As of this writing the exact hardware interface is
532 strongly in flux, so no good recommendation can be made.
533
534config CRASH_DUMP
fb86611f
BW
535 bool "kernel crash dumps"
536 depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
a7956113
ZN
537 help
538 Generate crash dump after being started by kexec.
539
1da177e4
LT
540source "drivers/firmware/Kconfig"
541
542source "fs/Kconfig.binfmt"
543
544endmenu
545
546menu "Power management and ACPI"
547
eb7b6b32 548source "kernel/power/Kconfig"
1da177e4
LT
549
550source "drivers/acpi/Kconfig"
551
4db8699b
VP
552if PM
553
554source "arch/ia64/kernel/cpufreq/Kconfig"
555
556endif
557
1da177e4
LT
558endmenu
559
560if !IA64_HP_SIM
561
562menu "Bus options (PCI, PCMCIA)"
563
564config PCI
565 bool "PCI support"
566 help
85f265d8
CH
567 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
568 here unless you are using a simulator without PCI support.
1da177e4
LT
569
570config PCI_DOMAINS
36e23590
MW
571 def_bool PCI
572
573config PCI_SYSCALL
574 def_bool PCI
1da177e4 575
b7bb575c
KK
576source "drivers/pci/pcie/Kconfig"
577
1da177e4
LT
578source "drivers/pci/Kconfig"
579
580source "drivers/pci/hotplug/Kconfig"
581
582source "drivers/pcmcia/Kconfig"
583
584endmenu
585
586endif
587
d5950b43
SR
588source "net/Kconfig"
589
1da177e4
LT
590source "drivers/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
b693919c
XZ
603source "arch/ia64/kvm/Kconfig"
604
1da177e4
LT
605source "lib/Kconfig"
606
607#
608# Use the generic interrupt handling code in kernel/irq/:
609#
610config GENERIC_HARDIRQS
611 bool
612 default y
613
614config GENERIC_IRQ_PROBE
615 bool
616 default y
617
54d5d424
AR
618config GENERIC_PENDING_IRQ
619 bool
620 depends on GENERIC_HARDIRQS && SMP
621 default y
622
0d7012a9
IM
623config IRQ_PER_CPU
624 bool
625 default y
626
b34eb53c 627config IOMMU_HELPER
a8522509 628 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
b34eb53c 629
1da177e4
LT
630source "arch/ia64/hp/sim/Kconfig"
631
1da177e4
LT
632source "arch/ia64/Kconfig.debug"
633
634source "security/Kconfig"
635
636source "crypto/Kconfig"