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