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