Root/arch/ia64/Kconfig

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

Archive Download this file



interactive