container freezer: implement freezer cgroup subsystem
[safe/jmp/linux-2.6] / arch / sparc64 / Kconfig
index 3fded69..035b15a 100644 (file)
@@ -1,19 +1,47 @@
-# $Id: config.in,v 1.158 2002/01/24 22:14:44 davem Exp $
-# For a description of the syntax of this configuration file,
-# see the Configure script.
-#
+# sparc64 configuration
+mainmenu "Linux Kernel Configuration for 64-bit SPARC"
 
-mainmenu "Linux/UltraSPARC Kernel Configuration"
+config SPARC
+       bool
+       default y
+       select HAVE_OPROFILE
+       select HAVE_KPROBES
+       select HAVE_KRETPROBES
 
 config SPARC64
        bool
        default y
+       select HAVE_DYNAMIC_FTRACE
+       select HAVE_FTRACE
+       select HAVE_IDE
+       select HAVE_LMB
+       select HAVE_ARCH_KGDB
+       select USE_GENERIC_SMP_HELPERS if SMP
+       select HAVE_ARCH_TRACEHOOK
+       select ARCH_WANT_OPTIONAL_GPIOLIB
+       select RTC_CLASS
+       select RTC_DRV_M48T59
+       select RTC_DRV_CMOS
+       select RTC_DRV_BQ4802
+       select RTC_DRV_SUN4V
+       select RTC_DRV_STARFIRE
+
+config GENERIC_TIME
+       bool
+       default y
+
+config GENERIC_CMOS_UPDATE
+       bool
+       default y
+
+config GENERIC_CLOCKEVENTS
+       bool
+       default y
+
+config GENERIC_GPIO
+       bool
        help
-         SPARC is a family of RISC microprocessors designed and marketed by
-         Sun Microsystems, incorporated.  This port covers the newer 64-bit
-         UltraSPARC.  The UltraLinux project maintains both the SPARC32 and
-         SPARC64 ports; its web page is available at
-         <http://www.ultralinux.org/>.
+         Generic GPIO API support
 
 config 64BIT
        def_bool y
@@ -22,7 +50,19 @@ config MMU
        bool
        default y
 
-config TIME_INTERPOLATION
+config IOMMU_HELPER
+       bool
+       default y
+
+config QUICKLIST
+       bool
+       default y
+
+config STACKTRACE_SUPPORT
+       bool
+       default y
+
+config LOCKDEP_SUPPORT
        bool
        default y
 
@@ -30,6 +70,36 @@ config ARCH_MAY_HAVE_PC_FDC
        bool
        default y
 
+config ARCH_HAS_ILOG2_U32
+       bool
+       default n
+
+config ARCH_HAS_ILOG2_U64
+       bool
+       default n
+
+config AUDIT_ARCH
+       bool
+       default y
+
+config HAVE_SETUP_PER_CPU_AREA
+       def_bool y
+
+config ARCH_NO_VIRT_TO_BUS
+       def_bool y
+
+config OF
+       def_bool y
+
+config GENERIC_HARDIRQS_NO__DO_IRQ
+       bool
+       def_bool y
+
+source "init/Kconfig"
+source "kernel/Kconfig.freezer"
+
+menu "Processor type and features"
+
 choice
        prompt "Kernel page size"
        default SPARC64_PAGE_SIZE_8KB
@@ -39,22 +109,14 @@ config SPARC64_PAGE_SIZE_8KB
        help
          This lets you select the page size of the kernel.
 
-         8KB and 64KB work quite well, since Sparc ELF sections
+         8KB and 64KB work quite well, since SPARC ELF sections
          provide for up to 64KB alignment.
 
-         Therefore, 512KB and 4MB are for expert hackers only.
-
          If you don't know what to do, choose 8KB.
 
 config SPARC64_PAGE_SIZE_64KB
        bool "64KB"
 
-config SPARC64_PAGE_SIZE_512KB
-       bool "512KB"
-
-config SPARC64_PAGE_SIZE_4MB
-       bool "4MB"
-
 endchoice
 
 config SECCOMP
@@ -76,55 +138,41 @@ config SECCOMP
 
 source kernel/Kconfig.hz
 
-source "init/Kconfig"
+config HOTPLUG_CPU
+       bool "Support for hot-pluggable CPUs"
+       depends on SMP
+       select 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 SYSVIPC_COMPAT
+config GENERIC_HARDIRQS
        bool
-       depends on COMPAT && SYSVIPC
        default y
 
-menu "General machine setup"
+source "kernel/time/Kconfig"
 
 config SMP
        bool "Symmetric multi-processing support"
-       ---help---
+       help
          This enables support for systems with more than one CPU. If you have
          a system with only one CPU, say N. If you have a system with more than
          one CPU, say Y.
 
          If you say N here, the kernel will run on single and multiprocessor
          machines, but will use only one CPU of a multiprocessor machine. If
-         you say Y here, the kernel will run on many, but not all,
-         singleprocessor machines. On a singleprocessor machine, the kernel
-         will run faster if you say N here.
-
-         People using multiprocessor machines who say Y here should also say
-         Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
-         Management" code will be disabled if you say Y here.
-
-         See also the <file:Documentation/smp.txt>,
-         <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
-         <http://www.tldp.org/docs.html#howto>.
+         you say Y here, the kernel will run on single-processor machines.
+         On a single-processor machine, the kernel will run faster if you say
+         N here.
 
          If you don't know what to do here, say N.
 
-config PREEMPT
-       bool "Preemptible Kernel"
-       help
-         This option reduces the latency of the kernel when reacting to
-         real-time or interactive events by allowing a low priority process to
-         be preempted even if it is in kernel mode executing a system call.
-         This allows applications to run more reliably even when the system is
-         under load.
-
-         Say Y here if you are building a kernel for a desktop, embedded
-         or real-time system.  Say N if you are unsure.
-
 config NR_CPUS
-       int "Maximum number of CPUs (2-64)"
-       range 2 64
+       int "Maximum number of CPUs (2-1024)"
+       range 2 1024
        depends on SMP
-       default "32"
+       default "64"
 
 source "drivers/cpufreq/Kconfig"
 
@@ -150,7 +198,23 @@ config US2E_FREQ
 
          If in doubt, say N.
 
+config US3_MC
+       tristate "UltraSPARC-III Memory Controller driver"
+       default y
+       help
+         This adds a driver for the UltraSPARC-III memory controller.
+         Loading this driver allows exact mnemonic strings to be
+         printed in the event of a memory error, so that the faulty DIMM
+         on the motherboard can be matched to the error.
+
+         If in doubt, say Y, as this information can be very useful.
+
 # Global things across all Sun machines.
+config GENERIC_LOCKBREAK
+       bool
+       default y
+       depends on SMP && PREEMPT
+
 config RWSEM_GENERIC_SPINLOCK
        bool
 
@@ -158,6 +222,14 @@ config RWSEM_XCHGADD_ALGORITHM
        bool
        default y
 
+config GENERIC_FIND_NEXT_BIT
+       bool
+       default y
+
+config GENERIC_HWEIGHT
+       bool
+       default y if !ULTRA_HAS_POPULATION_COUNT
+
 config GENERIC_CALIBRATE_DELAY
        bool
        default y
@@ -171,69 +243,64 @@ config HUGETLB_PAGE_SIZE_4MB
        bool "4MB"
 
 config HUGETLB_PAGE_SIZE_512K
-       depends on !SPARC64_PAGE_SIZE_4MB
        bool "512K"
 
 config HUGETLB_PAGE_SIZE_64K
-       depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512K
+       depends on !SPARC64_PAGE_SIZE_64KB
        bool "64K"
 
 endchoice
 
 endmenu
 
-source "mm/Kconfig"
+config NUMA
+       bool "NUMA support"
+       depends on SMP
 
-config GENERIC_ISA_DMA
-       bool
-       default y
+config NODES_SHIFT
+       int
+       default "4"
+       depends on NEED_MULTIPLE_NODES
+
+# Some NUMA nodes have memory ranges that span
+# other nodes.  Even though a pfn is valid and
+# between a node's start and end pfns, it may not
+# reside on that node.  See memmap_init_zone()
+# for details.
+config NODES_SPAN_OTHER_NODES
+       def_bool y
+       depends on NEED_MULTIPLE_NODES
+
+config ARCH_POPULATES_NODE_MAP
+       def_bool y
+
+config ARCH_SELECT_MEMORY_MODEL
+       def_bool y
+
+config ARCH_SPARSEMEM_ENABLE
+       def_bool y
+       select SPARSEMEM_VMEMMAP_ENABLE
+
+config ARCH_SPARSEMEM_DEFAULT
+       def_bool y
+
+source "mm/Kconfig"
 
 config ISA
        bool
-       help
-         Find out whether you have ISA slots on your motherboard.  ISA 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 PCI, EISA, MicroChannel
-         (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
-         newer boards don't support it.  If you have ISA, say Y, otherwise N.
 
 config ISAPNP
        bool
-       help
-         Say Y here if you would like support for ISA Plug and Play devices.
-         Some information is in <file:Documentation/isapnp.txt>.
-
-         To compile this driver as a module, choose M here: the
-         module will be called isapnp.
-
-         If unsure, say Y.
 
 config EISA
        bool
-       ---help---
-         The Extended Industry Standard Architecture (EISA) bus was
-         developed as an open alternative to the IBM MicroChannel bus.
-
-         The EISA bus provided some of the features of the IBM MicroChannel
-         bus while maintaining backward compatibility with cards made for
-         the older ISA bus.  The EISA bus saw limited use between 1988 and
-         1995 when it was made obsolete by the PCI bus.
-
-         Say Y here if you are building a kernel for an EISA-based machine.
-
-         Otherwise, say N.
 
 config MCA
        bool
-       help
-         MicroChannel Architecture is found in some IBM PS/2 machines and
-         laptops.  It is a bus system similar to PCI or ISA. See
-         <file:Documentation/mca.txt> (and especially the web page given
-         there) before attempting to build an MCA bus kernel.
 
 config PCMCIA
        tristate
-       ---help---
+       help
          Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
          computer.  These are credit-card size devices such as network cards,
          modems or hard drives often used with laptops computers.  There are
@@ -265,22 +332,26 @@ config SUN_IO
        bool
        default y
 
+config SUN_LDOMS
+       bool "Sun Logical Domains support"
+       help
+         Say Y here is you want to support virtual devices via
+         Logical Domains.
+
 config PCI
        bool "PCI support"
+       select ARCH_SUPPORTS_MSI
        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.
+         Find out whether your system includes a PCI bus. PCI is the name of
+         a bus system, i.e. the way the CPU talks to the other stuff inside
+         your box.  If you say Y here, the kernel will include drivers and
+         infrastructure code to support PCI bus devices.
 
 config PCI_DOMAINS
-       bool
-       default PCI
+       def_bool PCI
+
+config PCI_SYSCALL
+       def_bool PCI
 
 source "drivers/pci/Kconfig"
 
@@ -294,62 +365,41 @@ config SUN_OPENPROMFS
          To compile the /proc/openprom support as a module, choose M here: the
          module will be called openpromfs.  If unsure, choose M.
 
-config SPARC32_COMPAT
-       bool "Kernel support for Linux/Sparc 32bit binary compatibility"
-       help
-         This allows you to run 32-bit binaries on your Ultra.
-         Everybody wants this; say Y.
+menu "Executable file formats"
+
+source "fs/Kconfig.binfmt"
 
 config COMPAT
        bool
-       depends on SPARC32_COMPAT
        default y
+       select COMPAT_BINFMT_ELF
 
-config UID16
+config SYSVIPC_COMPAT
        bool
-       depends on SPARC32_COMPAT
+       depends on COMPAT && SYSVIPC
        default y
 
-config BINFMT_ELF32
-       tristate "Kernel support for 32-bit ELF binaries"
-       depends on SPARC32_COMPAT
-       help
-         This allows you to run 32-bit Linux/ELF binaries on your Ultra.
-         Everybody wants this; say Y.
+endmenu
 
-config BINFMT_AOUT32
-       bool "Kernel support for 32-bit (ie. SunOS) a.out binaries"
-       depends on SPARC32_COMPAT
+config SCHED_SMT
+       bool "SMT (Hyperthreading) scheduler support"
+       depends on SMP
+       default y
        help
-         This allows you to run 32-bit a.out format binaries on your Ultra.
-         If you want to run SunOS binaries (see SunOS binary emulation below)
-         or other a.out binaries, say Y. If unsure, say N.
+         SMT scheduler support improves the CPU scheduler's decision making
+         when dealing with SPARC cpus at a cost of slightly increased overhead
+         in some places. If unsure say N here.
 
-menu "Executable file formats"
-
-source "fs/Kconfig.binfmt"
-
-config SUNOS_EMUL
-       bool "SunOS binary emulation"
-       depends on BINFMT_AOUT32
-       help
-         This allows you to run most SunOS binaries.  If you want to do this,
-         say Y here and place appropriate files in /usr/gnemul/sunos. See
-         <http://www.ultralinux.org/faq.html> for more information.  If you
-         want to run SunOS binaries on an Ultra you must also say Y to
-         "Kernel support for 32-bit a.out binaries" above.
-
-config SOLARIS_EMUL
-       tristate "Solaris binary emulation (EXPERIMENTAL)"
-       depends on SPARC32_COMPAT && EXPERIMENTAL
+config SCHED_MC
+       bool "Multi-core scheduler support"
+       depends on SMP
+       default y
        help
-         This is experimental code which will enable you to run (many)
-         Solaris binaries on your SPARC Linux machine.
+         Multi-core scheduler support improves the CPU scheduler's decision
+         making when dealing with multi-core CPU chips at a cost of slightly
+         increased overhead in some places. If unsure say N here.
 
-         To compile this code as a module, choose M here: the
-         module will be called solaris.
-
-endmenu
+source "kernel/Kconfig.preempt"
 
 config CMDLINE_BOOL
        bool "Default bootloader kernel arguments"
@@ -373,25 +423,8 @@ source "drivers/Kconfig"
 
 source "drivers/sbus/char/Kconfig"
 
-source "drivers/fc4/Kconfig"
-
 source "fs/Kconfig"
 
-menu "Instrumentation Support"
-        depends on EXPERIMENTAL
-
-source "arch/sparc64/oprofile/Kconfig"
-
-config KPROBES
-       bool "Kprobes (EXPERIMENTAL)"
-       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/sparc64/Kconfig.debug"
 
 source "security/Kconfig"