fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / ia64 / Kconfig
index a9abc29..d222e51 100644 (file)
@@ -11,6 +11,7 @@ menu "Processor type and features"
 
 config IA64
        bool
+       select ATA_NONSTANDARD if ATA
        default y
        help
          The Itanium Processor Family is Intel's 64-bit successor to
@@ -26,14 +27,38 @@ config MMU
        bool
        default y
 
+config SWIOTLB
+       bool
+       default y
+
 config RWSEM_XCHGADD_ALGORITHM
        bool
        default y
 
+config ARCH_HAS_ILOG2_U32
+       bool
+       default n
+
+config ARCH_HAS_ILOG2_U64
+       bool
+       default n
+
+config GENERIC_FIND_NEXT_BIT
+       bool
+       default y
+
+config GENERIC_CALIBRATE_DELAY
+       bool
+       default y
+
 config TIME_INTERPOLATION
        bool
        default y
 
+config DMI
+       bool
+       default y
+
 config EFI
        bool
        default y
@@ -42,26 +67,53 @@ config GENERIC_IOMAP
        bool
        default y
 
+config XEN
+       bool "Xen hypervisor support"
+       default y
+       help
+         Enable Xen hypervisor support.  Resulting kernel runs
+         both as a guest OS on Xen and natively on hardware.
+
+config XEN_IA64_VDSO_PARAVIRT
+       bool
+       depends on XEN && !ITANIUM
+       default y
+       help
+         vDSO paravirtualization
+
+config SCHED_NO_NO_OMIT_FRAME_POINTER
+       bool
+       default y
+
+config IA64_UNCACHED_ALLOCATOR
+       bool
+       select GENERIC_ALLOCATOR
+
+config AUDIT_ARCH
+       bool
+       default y
+
 choice
        prompt "System type"
        default IA64_GENERIC
 
 config IA64_GENERIC
        bool "generic"
+       select ACPI
+       select PCI
        select NUMA
        select ACPI_NUMA
-       select VIRTUAL_MEM_MAP
-       select DISCONTIGMEM
        help
          This selects the system type of your hardware.  A "generic" kernel
          will run on any supported IA-64 system.  However, if you configure
          a kernel for your specific system, it will be faster and smaller.
 
-         generic        For any supported IA-64 system
-         DIG-compliant  For DIG ("Developer's Interface Guide") compliant systems
-         HP-zx1/sx1000  For HP systems
-         SGI-SN2        For SGI Altix systems
-         Ski-simulator  For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
+         generic               For any supported IA-64 system
+         DIG-compliant         For DIG ("Developer's Interface Guide") compliant systems
+         HP-zx1/sx1000         For HP systems
+         HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
+         SGI-SN2               For SGI Altix systems
+         Ski-simulator         For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
 
          If you don't know what to do, choose "generic".
 
@@ -74,6 +126,15 @@ config IA64_HP_ZX1
          Build a kernel that runs on HP zx1 and sx1000 systems.  This adds
          support for the HP I/O MMU.
 
+config IA64_HP_ZX1_SWIOTLB
+       bool "HP-zx1/sx1000 with software I/O TLB"
+       help
+         Build a kernel that runs on HP zx1 and sx1000 systems even when they
+         have broken PCI devices which cannot DMA to full 32 bits.  Apart
+         from support for the HP I/O MMU, this includes support for the software
+         I/O TLB, which allows supporting the broken devices at the expense of
+         wasting some kernel memory (about 2MB by default).
+
 config IA64_SGI_SN2
        bool "SGI-SN2"
        help
@@ -139,55 +200,32 @@ config IA64_PAGE_SIZE_64KB
 
 endchoice
 
+choice
+       prompt "Page Table Levels"
+       default PGTABLE_3
+
+config PGTABLE_3
+       bool "3 Levels"
+
+config PGTABLE_4
+       depends on !IA64_PAGE_SIZE_64KB
+       bool "4 Levels"
+
+endchoice
+
+source kernel/Kconfig.hz
+
 config IA64_BRL_EMU
        bool
        depends on ITANIUM
        default y
 
-config ITANIUM_BSTEP_SPECIFIC
-       bool "Itanium B-step specific code"
-       depends on ITANIUM
-       help
-         Select this option to build a kernel for an Itanium prototype system
-         with a B-step CPU.  You have a B-step CPU if the "revision" field in
-         /proc/cpuinfo has a value in the range from 1 to 4.
-
 # align cache-sensitive data to 128 bytes
 config IA64_L1_CACHE_SHIFT
        int
        default "7" if MCKINLEY
        default "6" if ITANIUM
 
-# align cache-sensitive data to 64 bytes
-config NUMA
-       bool "NUMA support"
-       depends on !IA64_HP_SIM
-       default y if IA64_SGI_SN2
-       help
-         Say Y to compile the kernel to support NUMA (Non-Uniform Memory
-         Access).  This option is for configuring high-end multiprocessor
-         server systems.  If in doubt, say N.
-
-config VIRTUAL_MEM_MAP
-       bool "Virtual mem map"
-       default y if !IA64_HP_SIM
-       help
-         Say Y to compile the kernel with support for a virtual mem map.
-         This code also only takes effect if a memory hole of greater than
-         1 Gb is found during boot.  You must turn this option on if you
-         require the DISCONTIGMEM option for your machine. If you are
-         unsure, say Y.
-
-config DISCONTIGMEM
-       bool "Discontiguous memory support"
-       depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1) && NUMA && VIRTUAL_MEM_MAP
-       default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
-       help
-         Say Y to support efficient handling of discontiguous physical memory,
-         for architectures which are either NUMA (Non-Uniform Memory Access)
-         or have huge holes in the physical address space for other reasons.
-         See <file:Documentation/vm/numa> for more.
-
 config IA64_CYCLONE
        bool "Cyclone (EXA) Time Source support"
        help
@@ -199,16 +237,22 @@ config IOSAPIC
        depends on !IA64_HP_SIM
        default y
 
-config IA64_SGI_SN_SIM
-       bool "SGI Medusa Simulator Support"
-       depends on IA64_SGI_SN2
+config IA64_SGI_SN_XP
+       tristate "Support communication between SGI SSIs"
+       depends on IA64_GENERIC || IA64_SGI_SN2
+       select IA64_UNCACHED_ALLOCATOR
        help
-         If you are compiling a kernel that will run under SGI's IA-64
-         simulator (Medusa) then say Y, otherwise say N.
+         An SGI machine can be divided into multiple Single System
+         Images which act independently of each other and have
+         hardware based memory protection from the others.  Enabling
+         this feature will allow for direct communication between SSIs
+         based on a network adapter and DMA messaging.
 
 config FORCE_MAX_ZONEORDER
-       int
-       default "18"
+       int "MAX_ORDER (11 - 17)"  if !HUGETLB_PAGE
+       range 11 17  if !HUGETLB_PAGE
+       default "17" if HUGETLB_PAGE
+       default "11"
 
 config SMP
        bool "Symmetric multi-processing support"
@@ -229,10 +273,10 @@ config SMP
          If you don't know what to do here, say N.
 
 config NR_CPUS
-       int "Maximum number of CPUs (2-512)"
-       range 2 512
+       int "Maximum number of CPUs (2-1024)"
+       range 2 1024
        depends on SMP
-       default "64"
+       default "1024"
        help
          You should set this to the number of CPUs in your system, but
          keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
@@ -241,13 +285,44 @@ config NR_CPUS
          performance hit.
 
 config HOTPLUG_CPU
-    bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
-    depends on SMP && HOTPLUG && EXPERIMENTAL
+       bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
+       depends on SMP && EXPERIMENTAL
+       select HOTPLUG
        default n
-    ---help---
-      Say Y here to experiment with turning CPUs off and on.  CPUs
-      can be controlled through /sys/devices/system/cpu/cpu#.
-      Say N if you want to disable CPU hotplug.
+       ---help---
+         Say Y here to experiment with turning CPUs off and on.  CPUs
+         can be controlled through /sys/devices/system/cpu/cpu#.
+         Say N if you want to disable CPU hotplug.
+
+config ARCH_ENABLE_MEMORY_HOTPLUG
+       def_bool y
+
+config SCHED_SMT
+       bool "SMT scheduler support"
+       depends on SMP
+       help
+         Improves the CPU scheduler's decision making when dealing with
+         Intel IA64 chips with MultiThreading at a cost of slightly increased
+         overhead in some places. If unsure say N here.
+
+config PERMIT_BSP_REMOVE
+       bool "Support removal of Bootstrap Processor"
+       depends on HOTPLUG_CPU
+       default n
+       ---help---
+       Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
+       support. 
+
+config FORCE_CPEI_RETARGET
+       bool "Force assumption that CPEI can be re-targetted"
+       depends on PERMIT_BSP_REMOVE
+       default n
+       ---help---
+       Say Y if you need to force the assumption that CPEI can be re-targetted to
+       any cpu in the system. This hint is available via ACPI 3.0 specifications.
+       Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
+       This option it useful to enable this feature on older BIOS's as well.
+       You can also enable this by using boot command line option force_cpei=1.
 
 config PREEMPT
        bool "Preemptible Kernel"
@@ -261,10 +336,77 @@ config PREEMPT
           Say Y here if you are building a kernel for a desktop, embedded
           or real-time system.  Say N if you are unsure.
 
-config HAVE_DEC_LOCK
+source "mm/Kconfig"
+
+config ARCH_SELECT_MEMORY_MODEL
+       def_bool y
+
+config ARCH_DISCONTIGMEM_ENABLE
+       def_bool y
+       help
+         Say Y to support efficient handling of discontiguous physical memory,
+         for architectures which are either NUMA (Non-Uniform Memory Access)
+         or have huge holes in the physical address space for other reasons.
+         See <file:Documentation/vm/numa> for more.
+
+config ARCH_FLATMEM_ENABLE
+       def_bool y
+
+config ARCH_SPARSEMEM_ENABLE
+       def_bool y
+       depends on ARCH_DISCONTIGMEM_ENABLE
+
+config ARCH_DISCONTIGMEM_DEFAULT
+       def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
+       depends on ARCH_DISCONTIGMEM_ENABLE
+
+config NUMA
+       bool "NUMA support"
+       depends on !IA64_HP_SIM && !FLATMEM
+       default y if IA64_SGI_SN2
+       select ACPI_NUMA if ACPI
+       help
+         Say Y to compile the kernel to support NUMA (Non-Uniform Memory
+         Access).  This option is for configuring high-end multiprocessor
+         server systems.  If in doubt, say N.
+
+config NODES_SHIFT
+       int "Max num nodes shift(3-10)"
+       range 3 10
+       default "10"
+       depends on NEED_MULTIPLE_NODES
+       help
+         This option specifies the maximum number of nodes in your SSI system.
+         MAX_NUMNODES will be 2^(This value).
+         If in doubt, use the default.
+
+config ARCH_POPULATES_NODE_MAP
+       def_bool y
+
+# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
+# VIRTUAL_MEM_MAP has been retained for historical reasons.
+config VIRTUAL_MEM_MAP
+       bool "Virtual mem map"
+       depends on !SPARSEMEM
+       default y if !IA64_HP_SIM
+       help
+         Say Y to compile the kernel with support for a virtual mem map.
+         This code also only takes effect if a memory hole of greater than
+         1 Gb is found during boot.  You must turn this option on if you
+         require the DISCONTIGMEM option for your machine. If you are
+         unsure, say Y.
+
+config HOLES_IN_ZONE
        bool
-       depends on (SMP || PREEMPT)
-       default y
+       default y if VIRTUAL_MEM_MAP
+
+config HAVE_ARCH_EARLY_PFN_TO_NID
+       def_bool y
+       depends on NEED_MULTIPLE_NODES
+
+config HAVE_ARCH_NODEDATA_EXTENSION
+       def_bool y
+       depends on NUMA
 
 config IA32_SUPPORT
        bool "Support for Linux/x86 binaries"
@@ -302,6 +444,42 @@ config IA64_PALINFO
          To use this option, you have to ensure that the "/proc file system
          support" (CONFIG_PROC_FS) is enabled, too.
 
+config SGI_SN
+       def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
+
+config IA64_ESI
+       bool "ESI (Extensible SAL Interface) support"
+       help
+         If you say Y here, support is built into the kernel to
+         make ESI calls.  ESI calls are used to support vendor-specific
+         firmware extensions, such as the ability to inject memory-errors
+         for test-purposes.  If you're unsure, say N.
+
+source "drivers/sn/Kconfig"
+
+config KEXEC
+       bool "kexec system call (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
+       help
+         kexec is a system call that implements the ability to shutdown your
+         current kernel, and to start another kernel.  It is like a reboot
+         but it is indepedent of the system firmware.   And like a reboot
+         you can start any kernel with it, not just Linux.
+
+         The name comes from the similiarity to the exec system call.
+
+         It is an ongoing process to be certain the hardware in a machine
+         is properly shutdown, so do not be surprised if this code does not
+         initially work for you.  It may help to enable device hotplugging
+         support.  As of this writing the exact hardware interface is
+         strongly in flux, so no good recommendation can be made.
+
+config CRASH_DUMP
+         bool "kernel crash dumps (EXPERIMENTAL)"
+         depends on EXPERIMENTAL && IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
+         help
+           Generate crash dump after being started by kexec.
+
 source "drivers/firmware/Kconfig"
 
 source "fs/Kconfig.binfmt"
@@ -310,36 +488,14 @@ endmenu
 
 menu "Power management and ACPI"
 
-config PM
-       bool "Power Management support"
-       depends on IA64_GENERIC || IA64_DIG || IA64_HP_ZX1
-       default y
-       help
-         "Power Management" means that parts of your computer are shut
-         off or put into a power conserving "sleep" mode if they are not
-         being used.  There are two competing standards for doing this: APM
-         and ACPI.  If you want to use either one, say Y here and then also
-         to the requisite support below.
-
-         Power Management is most important for battery powered laptop
-         computers; if you have a laptop, check out the Linux Laptop home
-         page on the WWW at <http://www.linux-on-laptops.com/> and the
-         Battery Powered Linux mini-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         Note that, even if you say N here, Linux on the x86 architecture
-         will issue the hlt instruction if nothing is to be done, thereby
-         sending the processor to sleep and saving power.
-
-config ACPI
-       bool
-       depends on !IA64_HP_SIM
-       default y
-
-if !IA64_HP_SIM
+source "kernel/power/Kconfig"
 
 source "drivers/acpi/Kconfig"
 
+if PM
+
+source "arch/ia64/kernel/cpufreq/Kconfig"
+
 endif
 
 endmenu
@@ -351,20 +507,30 @@ menu "Bus options (PCI, PCMCIA)"
 config PCI
        bool "PCI support"
        help
-         Find out whether you have a PCI motherboard. PCI is the name of a
-         bus system, i.e. the way the CPU talks to the other stuff inside
-         your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
-         VESA. If you have PCI, say Y, otherwise N.
-
-         The PCI-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>, contains valuable
-         information about which PCI hardware does work under Linux and which
-         doesn't.
+         Real IA-64 machines all have PCI/PCI-X/PCI Express busses.  Say Y
+         here unless you are using a simulator without PCI support.
 
 config PCI_DOMAINS
        bool
        default PCI
 
+config XEN_PCIDEV_FRONTEND
+       bool "Xen PCI Frontend"
+       depends on PCI && XEN
+       default y
+       help
+         The PCI device frontend driver allows the kernel to import arbitrary
+         PCI devices from a PCI backend to support PCI driver domains.
+
+config XEN_PCIDEV_FE_DEBUG
+       bool "Xen PCI Frontend Debugging"
+       depends on XEN_PCIDEV_FRONTEND
+       default n
+       help
+         Enables some debug statements within the PCI Frontend.
+
+source "drivers/pci/pcie/Kconfig"
+
 source "drivers/pci/Kconfig"
 
 source "drivers/pci/hotplug/Kconfig"
@@ -375,16 +541,61 @@ endmenu
 
 endif
 
+source "net/Kconfig"
+
 source "drivers/Kconfig"
 
+config MSPEC
+       tristate "Memory special operations driver"
+       depends on IA64
+       select IA64_UNCACHED_ALLOCATOR
+       help
+         If you have an ia64 and you want to enable memory special
+         operations support (formerly known as fetchop), say Y here,
+         otherwise say N.
+
 source "fs/Kconfig"
 
 source "lib/Kconfig"
 
+#
+# Use the generic interrupt handling code in kernel/irq/:
+#
+config GENERIC_HARDIRQS
+       bool
+       default y
+
+config GENERIC_IRQ_PROBE
+       bool
+       default y
+
+config GENERIC_PENDING_IRQ
+       bool
+       depends on GENERIC_HARDIRQS && SMP
+       default y
+
+config IRQ_PER_CPU
+       bool
+       default y
+
 source "arch/ia64/hp/sim/Kconfig"
 
+menu "Instrumentation Support"
+        depends on EXPERIMENTAL
+
 source "arch/ia64/oprofile/Kconfig"
 
+config KPROBES
+       bool "Kprobes (EXPERIMENTAL)"
+       depends on KALLSYMS && EXPERIMENTAL && MODULES
+       help
+         Kprobes allows you to trap at almost any kernel address and
+         execute a callback function.  register_kprobe() establishes
+         a probepoint and specifies the callback.  Kprobes is useful
+         for kernel debugging, non-intrusive instrumentation and testing.
+         If in doubt, say "N".
+endmenu
+
 source "arch/ia64/Kconfig.debug"
 
 source "kernel/vserver/Kconfig"
@@ -392,3 +603,34 @@ source "kernel/vserver/Kconfig"
 source "security/Kconfig"
 
 source "crypto/Kconfig"
+
+#
+# override default values of drivers/xen/Kconfig
+#
+if XEN
+config XEN_UTIL
+       default n
+
+config HAVE_ARCH_ALLOC_SKB
+       default y
+
+config HAVE_ARCH_DEV_ALLOC_SKB
+       default y
+
+config XEN_BALLOON
+       default y
+
+config XEN_SKBUFF
+       default y
+
+config XEN_DEVMEM
+       default n
+
+config XEN_REBOOT
+       default y
+
+config XEN_SMPBOOT
+       default n
+endif
+
+source "drivers/xen/Kconfig"