Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / arch / sparc64 / Kconfig
index 5715671..73afb9c 100644 (file)
@@ -5,6 +5,20 @@
 
 mainmenu "Linux/UltraSPARC Kernel Configuration"
 
+config SPARC
+       bool
+       default y
+
+config SPARC64
+       bool
+       default y
+       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/>.
+
 config 64BIT
        def_bool y
 
@@ -12,85 +26,75 @@ config MMU
        bool
        default y
 
-source "init/Kconfig"
+config TIME_INTERPOLATION
+       bool
+       default y
 
+config ARCH_MAY_HAVE_PC_FDC
+       bool
+       default y
 
-menu "General setup"
+choice
+       prompt "Kernel page size"
+       default SPARC64_PAGE_SIZE_8KB
 
-config BBC_I2C
-       tristate "UltraSPARC-III bootbus i2c controller driver"
-       depends on PCI
+config SPARC64_PAGE_SIZE_8KB
+       bool "8KB"
        help
-         The BBC devices on the UltraSPARC III have two I2C controllers.  The
-         first I2C controller connects mainly to configuration PROMs (NVRAM,
-         CPU configuration, DIMM types, etc.).  The second I2C controller
-         connects to environmental control devices such as fans and
-         temperature sensors.  The second controller also connects to the
-         smartcard reader, if present.  Say Y to enable support for these.
-
-config VT
-       bool "Virtual terminal" if EMBEDDED
-       select INPUT
-       default y
-       ---help---
-         If you say Y here, you will get support for terminal devices with
-         display and keyboard devices. These are called "virtual" because you
-         can run several virtual terminals (also called virtual consoles) on
-         one physical terminal. This is rather useful, for example one
-         virtual terminal can collect system messages and warnings, another
-         one can be used for a text-mode user session, and a third could run
-         an X session, all in parallel. Switching between virtual terminals
-         is done with certain key combinations, usually Alt-<function key>.
-
-         The setterm command ("man setterm") can be used to change the
-         properties (such as colors or beeping) of a virtual terminal. The
-         man page console_codes(4) ("man console_codes") contains the special
-         character sequences that can be used to change those properties
-         directly. The fonts used on virtual terminals can be changed with
-         the setfont ("man setfont") command and the key bindings are defined
-         with the loadkeys ("man loadkeys") command.
-
-         You need at least one virtual terminal device in order to make use
-         of your keyboard and monitor. Therefore, only people configuring an
-         embedded system would want to say N here in order to save some
-         memory; the only way to log into such a system is then via a serial
-         or network connection.
-
-         If unsure, say Y, or else you won't be able to do much with your new
-         shiny Linux system :-)
-
-config VT_CONSOLE
-       bool "Support for console on virtual terminal" if EMBEDDED
-       depends on VT
+         This lets you select the page size of the kernel.
+
+         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
+       bool "Enable seccomp to safely compute untrusted bytecode"
+       depends on PROC_FS
        default y
-       ---help---
-         The system console is the device which receives all kernel messages
-         and warnings and which allows logins in single user mode. If you
-         answer Y here, a virtual terminal (the device used to interact with
-         a physical terminal) can be used as system console. This is the most
-         common mode of operations, so you should say Y here unless you want
-         the kernel messages be output only to a serial port (in which case
-         you should say Y to "Console on serial port", below).
-
-         If you do say Y here, by default the currently visible virtual
-         terminal (/dev/tty0) will be used as system console. You can change
-         that with a kernel command line option such as "console=tty3" which
-         would use the third virtual terminal as system console. (Try "man
-         bootparam" or see the documentation of your boot loader (lilo or
-         loadlin) about how to pass options to the kernel at boot time.)
+       help
+         This kernel feature is useful for number crunching applications
+         that may need to compute untrusted bytecode during their
+         execution. By using pipes or other transports made available to
+         the process as file descriptors supporting the read/write
+         syscalls, it's possible to isolate those applications in
+         their own address space using seccomp. Once seccomp is
+         enabled via /proc/<pid>/seccomp, it cannot be disabled
+         and the task is only allowed to execute a few safe syscalls
+         defined by each seccomp mode.
 
-         If unsure, say Y.
+         If unsure, say Y. Only embedded should say N here.
+
+source kernel/Kconfig.hz
 
-config HW_CONSOLE
+source "init/Kconfig"
+
+config SYSVIPC_COMPAT
        bool
+       depends on COMPAT && SYSVIPC
        default y
 
+menu "General machine setup"
+
 config SMP
        bool "Symmetric multi-processing support"
        ---help---
          This enables support for systems with more than one CPU. If you have
-         a system with only one CPU, like most personal computers, say N. If
-         you have a system with more than one CPU, say Y.
+         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
@@ -98,17 +102,11 @@ config SMP
          singleprocessor machines. On a singleprocessor machine, the kernel
          will run faster if you say N here.
 
-         Note that if you say Y here and choose architecture "586" or
-         "Pentium" under "Processor family", the kernel will not work on 486
-         architectures. Similarly, multiprocessor kernels for the "PPro"
-         architecture may not work on all Pentium based boards.
-
          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/i386/IO-APIC.txt>,
          <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
          <http://www.tldp.org/docs.html#howto>.
 
@@ -132,65 +130,47 @@ config NR_CPUS
        depends on SMP
        default "32"
 
-config CPU_FREQ
-       bool "CPU Frequency scaling"
-       help
-         Clock scaling allows you to change the clock speed of CPUs on the
-         fly.  Currently there are only sparc64 drivers for UltraSPARC-III
-         and UltraSPARC-IIe processors.
-
-         For details, take a look at linux/Documentation/cpu-freq.
-
-         If in doubt, say N.
-
-config CPU_FREQ_TABLE
-       tristate "CPU frequency table helpers"
-       depends on CPU_FREQ
-       default y
-       help
-         Many CPUFreq drivers use these helpers, so only say N here if
-        the CPUFreq driver of your choice doesn't need these helpers.
-
-        If in doubt, say Y.
+source "drivers/cpufreq/Kconfig"
 
 config US3_FREQ
        tristate "UltraSPARC-III CPU Frequency driver"
-       depends on CPU_FREQ_TABLE
+       depends on CPU_FREQ
+       select CPU_FREQ_TABLE
        help
          This adds the CPUFreq driver for UltraSPARC-III processors.
 
-         For details, take a look at linux/Documentation/cpu-freq.
+         For details, take a look at <file:Documentation/cpu-freq>.
 
          If in doubt, say N.
 
 config US2E_FREQ
        tristate "UltraSPARC-IIe CPU Frequency driver"
-       depends on CPU_FREQ_TABLE
+       depends on CPU_FREQ
+       select CPU_FREQ_TABLE
        help
          This adds the CPUFreq driver for UltraSPARC-IIe processors.
 
-         For details, take a look at linux/Documentation/cpu-freq.
+         For details, take a look at <file:Documentation/cpu-freq>.
 
          If in doubt, say N.
 
-source "drivers/cpufreq/Kconfig"
+# Global things across all Sun machines.
+config RWSEM_GENERIC_SPINLOCK
+       bool
 
-# Identify this as a Sparc64 build
-config SPARC64
+config RWSEM_XCHGADD_ALGORITHM
        bool
        default y
-       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/>.
 
-# Global things across all Sun machines.
-config RWSEM_GENERIC_SPINLOCK
+config GENERIC_FIND_NEXT_BIT
        bool
+       default y
 
-config RWSEM_XCHGADD_ALGORITHM
+config GENERIC_HWEIGHT
+       bool
+       default y if !ULTRA_HAS_POPULATION_COUNT
+
+config GENERIC_CALIBRATE_DELAY
        bool
        default y
 
@@ -203,13 +183,31 @@ config HUGETLB_PAGE_SIZE_4MB
        bool "4MB"
 
 config HUGETLB_PAGE_SIZE_512K
+       depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB
        bool "512K"
 
 config HUGETLB_PAGE_SIZE_64K
+       depends on !SPARC64_PAGE_SIZE_4MB && !SPARC64_PAGE_SIZE_512KB && !SPARC64_PAGE_SIZE_64KB
        bool "64K"
 
 endchoice
 
+endmenu
+
+config ARCH_SELECT_MEMORY_MODEL
+       def_bool y
+
+config ARCH_SPARSEMEM_ENABLE
+       def_bool y
+
+config ARCH_SPARSEMEM_DEFAULT
+       def_bool y
+
+config LARGE_ALLOCS
+       def_bool y
+
+source "mm/Kconfig"
+
 config GENERIC_ISA_DMA
        bool
        default y
@@ -308,33 +306,6 @@ config PCI_DOMAINS
        bool
        default PCI
 
-config RTC
-       tristate
-       depends on PCI
-       default y
-       ---help---
-         If you say Y here and create a character special file /dev/rtc with
-         major number 10 and minor number 135 using mknod ("man mknod"), you
-         will get access to the real time clock (or hardware clock) built
-         into your computer.
-
-         Every PC has such a clock built in. It can be used to generate
-         signals from as low as 1Hz up to 8192Hz, and can also be used
-         as a 24 hour alarm. It reports status information via the file
-         /proc/driver/rtc and its behaviour is set by various ioctls on
-         /dev/rtc.
-
-         If you run Linux on a multiprocessor machine and said Y to
-         "Symmetric Multi Processing" above, you should say Y here to read
-         and set the RTC in an SMP compatible fashion.
-
-         If you think you have a use for such a device (such as periodic data
-         sampling), then say Y here, and read <file:Documentation/rtc.txt>
-         for details.
-
-         To compile this driver as a module, choose M here: the
-         module will be called rtc.
-
 source "drivers/pci/Kconfig"
 
 config SUN_OPENPROMFS
@@ -358,11 +329,6 @@ config COMPAT
        depends on SPARC32_COMPAT
        default y
 
-config UID16
-       bool
-       depends on SPARC32_COMPAT
-       default y
-
 config BINFMT_ELF32
        tristate "Kernel support for 32-bit ELF binaries"
        depends on SPARC32_COMPAT
@@ -378,10 +344,13 @@ config BINFMT_AOUT32
          If you want to run SunOS binaries (see SunOS binary emulation below)
          or other a.out binaries, say Y. If unsure, say N.
 
+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
@@ -391,7 +360,7 @@ config SUNOS_EMUL
 
 config SOLARIS_EMUL
        tristate "Solaris binary emulation (EXPERIMENTAL)"
-       depends on EXPERIMENTAL
+       depends on SPARC32_COMPAT && EXPERIMENTAL
        help
          This is experimental code which will enable you to run (many)
          Solaris binaries on your SPARC Linux machine.
@@ -399,56 +368,16 @@ config SOLARIS_EMUL
          To compile this code as a module, choose M here: the
          module will be called solaris.
 
-source "drivers/parport/Kconfig"
-
-config PRINTER
-       tristate "Parallel printer support"
-       depends on PARPORT
-       ---help---
-         If you intend to attach a printer to the parallel port of your Linux
-         box (as opposed to using a serial printer; if the connector at the
-         printer has 9 or 25 holes ["female"], then it's serial), say Y.
-         Also read the Printing-HOWTO, available from
-         <http://www.tldp.org/docs.html#howto>.
-
-         It is possible to share one parallel port among several devices
-         (e.g. printer and ZIP drive) and it is safe to compile the
-         corresponding drivers into the kernel.
-         To compile this driver as a module, choose M here and read
-         <file:Documentation/parport.txt>.  The module will be called lp.
-
-         If you have several parallel ports, you can specify which ports to
-         use with the "lp" kernel command line option.  (Try "man bootparam"
-         or see the documentation of your boot loader (lilo or loadlin) about
-         how to pass options to the kernel at boot time.)  The syntax of the
-         "lp" command line option can be found in <file:drivers/char/lp.c>.
-
-         If you have more than 8 printers, you need to increase the LP_NO
-         macro in lp.c and the PARPORT_MAX macro in parport.h.
+endmenu
 
-config ENVCTRL
-       tristate "SUNW, envctrl support"
-       depends on PCI
+config SCHED_SMT
+       bool "SMT (Hyperthreading) scheduler support"
+       depends on SMP
+       default y
        help
-         Kernel support for temperature and fan monitoring on Sun SME
-         machines.
-
-         To compile this driver as a module, choose M here: the
-         module will be called envctrl.
-
-config DISPLAY7SEG
-       tristate "7-Segment Display support"
-       depends on PCI
-       ---help---
-         This is the driver for the 7-segment display and LED present on
-         Sun Microsystems CompactPCI models CP1400 and CP1500.
-
-         To compile this driver as a module, choose M here: the
-         module will be called display7seg.
-
-         If you do not have a CompactPCI model CP1400 or CP1500, or
-         another UltraSPARC-IIi-cEngine boardset with a 7-segment display,
-         you should say N to this option.
+         SMT scheduler support improves the CPU scheduler's decision making
+         when dealing with UltraSPARC cpus at a cost of slightly increased
+         overhead in some places. If unsure say N here.
 
 config CMDLINE_BOOL
        bool "Default bootloader kernel arguments"
@@ -466,247 +395,34 @@ config CMDLINE
 
          NOTE: This option WILL override the PROM bootargs setting!
 
-endmenu
-
-source "drivers/base/Kconfig"
-
-source "drivers/video/Kconfig"
+source "net/Kconfig"
 
-source "drivers/serial/Kconfig"
+source "drivers/Kconfig"
 
 source "drivers/sbus/char/Kconfig"
 
-source "drivers/mtd/Kconfig"
-
-source "drivers/block/Kconfig"
-
-source "drivers/ide/Kconfig"
-
-source "drivers/scsi/Kconfig"
-
 source "drivers/fc4/Kconfig"
 
-source "drivers/md/Kconfig"
-
-if PCI
-source "drivers/message/fusion/Kconfig"
-endif
-
-source "drivers/ieee1394/Kconfig"
-
-source "net/Kconfig"
-
-source "drivers/isdn/Kconfig"
-
-source "drivers/telephony/Kconfig"
-
-# This one must be before the filesystem configs. -DaveM
-
-menu "Unix98 PTY support"
-
-config UNIX98_PTYS
-       bool "Unix98 PTY support"
-       ---help---
-         A pseudo terminal (PTY) is a software device consisting of two
-         halves: a master and a slave. The slave device behaves identical to
-         a physical terminal; the master device is used by a process to
-         read data from and write data to the slave, thereby emulating a
-         terminal. Typical programs for the master side are telnet servers
-         and xterms.
-
-         Linux has traditionally used the BSD-like names /dev/ptyxx for
-         masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
-         has a number of problems. The GNU C library glibc 2.1 and later,
-         however, supports the Unix98 naming standard: in order to acquire a
-         pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
-         terminal is then made available to the process and the pseudo
-         terminal slave can be accessed as /dev/pts/<number>. What was
-         traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
-
-         The entries in /dev/pts/ are created on the fly by a virtual
-         file system; therefore, if you say Y here you should say Y to
-         "/dev/pts file system for Unix98 PTYs" as well.
-
-         If you want to say Y here, you need to have the C library glibc 2.1
-         or later (equal to libc-6.1, check with "ls -l /lib/libc.so.*").
-         Read the instructions in <file:Documentation/Changes> pertaining to
-         pseudo terminals. It's safe to say N.
-
-config UNIX98_PTY_COUNT
-       int "Maximum number of Unix98 PTYs in use (0-2048)"
-       depends on UNIX98_PTYS
-       default "256"
-       help
-         The maximum number of Unix98 PTYs that can be used at any one time.
-         The default is 256, and should be enough for desktop systems. Server
-         machines which support incoming telnet/rlogin/ssh connections and/or
-         serve several X terminals may want to increase this: every incoming
-         connection and every xterm uses up one PTY.
-
-         When not in use, each additional set of 256 PTYs occupy
-         approximately 8 KB of kernel memory on 32-bit architectures.
-
-endmenu
-
-
-menu "XFree86 DRI support"
-
-config DRM
-       bool "Direct Rendering Manager (XFree86 DRI support)"
-       help
-         Kernel-level support for the Direct Rendering Infrastructure (DRI)
-         introduced in XFree86 4.0. If you say Y here, you need to select
-         the module that's right for your graphics card from the list below.
-         These modules provide support for synchronization, security, and
-         DMA transfers. Please see <http://dri.sourceforge.net/> for more
-         details.  You should also select and configure AGP
-         (/dev/agpgart) support.
-
-config DRM_FFB
-       tristate "Creator/Creator3D"
-       depends on DRM
-       help
-         Choose this option if you have one of Sun's Creator3D-based graphics
-         and frame buffer cards.  Product page at
-         <http://www.sun.com/desktop/products/Graphics/creator3d.html>.
-
-config DRM_TDFX
-       tristate "3dfx Banshee/Voodoo3+"
-       depends on DRM
-       help
-         Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
-         graphics card.  If M is selected, the module will be called tdfx.
-
-config DRM_R128
-       tristate "ATI Rage 128"
-       depends on DRM
-       help
-         Choose this option if you have an ATI Rage 128 graphics card.  If M
-         is selected, the module will be called r128.  AGP support for
-         this card is strongly suggested (unless you have a PCI version).
-
-endmenu
-
-source "drivers/input/Kconfig"
-
-source "drivers/i2c/Kconfig"
-
 source "fs/Kconfig"
 
-source "drivers/media/Kconfig"
-
-source "sound/Kconfig"
-
-source "drivers/usb/Kconfig"
-
-source "drivers/char/watchdog/Kconfig"
+menu "Instrumentation Support"
+        depends on EXPERIMENTAL
 
 source "arch/sparc64/oprofile/Kconfig"
 
-menu "Kernel hacking"
-
-config DEBUG_KERNEL
-       bool "Kernel debugging"
-       help
-         Say Y here if you are developing drivers or trying to debug and
-         identify kernel problems.
-
-config DEBUG_STACK_USAGE
-       bool "Enable stack utilization instrumentation"
-       depends on DEBUG_KERNEL
-       help
-         Enables the display of the minimum amount of free stack which each
-         task has ever had available in the sysrq-T and sysrq-P debug output.
-
-         This option will slow down process creation somewhat.
-
-config DEBUG_SLAB
-       bool "Debug memory allocations"
-       depends on DEBUG_KERNEL
-       help
-         Say Y here to have the kernel do limited verification on memory
-         allocation as well as poisoning memory on free to catch use of freed
-         memory.
-
-config MAGIC_SYSRQ
-       bool "Magic SysRq key"
-       depends on DEBUG_KERNEL
+config KPROBES
+       bool "Kprobes (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && MODULES
        help
-         If you say Y here, you will have some control over the system even
-         if the system crashes for example during kernel debugging (e.g., you
-         will be able to flush the buffer cache to disk, reboot the system
-         immediately or dump some status information). This is accomplished
-         by pressing various keys while holding SysRq (Alt+PrintScreen). It
-         also works on a serial console (on PC hardware at least), if you
-         send a BREAK and then within 5 seconds a command keypress. The
-         keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
-         unless you really know what this hack does.
-
-config DEBUG_SPINLOCK
-       bool "Spinlock debugging"
-       depends on DEBUG_KERNEL
-       help
-         Say Y here and build SMP to catch missing spinlock initialization
-         and certain other kinds of spinlock errors commonly made.  This is
-         best used in conjunction with the NMI watchdog so that spinlock
-         deadlocks are also debuggable.
-
-config DEBUG_SPINLOCK_SLEEP
-       bool "Sleep-inside-spinlock checking"
-       depends DEBUG_KERNEL
-       help
-         If you say Y here, various routines which may sleep will become very
-         noisy if they are called with a spinlock held.        
-
-config DEBUG_BUGVERBOSE
-       bool "Verbose BUG() reporting (adds 70K)"
-       depends on DEBUG_KERNEL
-       help
-         Say Y here to make BUG() panics output the file name and line number
-         of the BUG call as well as the EIP and oops trace.  This aids
-         debugging but costs about 70-100K of memory.
-
-config DEBUG_DCFLUSH
-       bool "D-cache flush debugging"
-       depends on DEBUG_KERNEL
-
-config DEBUG_INFO
-       bool "Compile the kernel with debug info"
-       depends on DEBUG_KERNEL
-       help
-          If you say Y here the resulting kernel image will include
-         debugging info resulting in a larger kernel image.
-         Say Y here only if you plan to use gdb to debug the kernel.
-         If you don't debug the kernel, you can say N.
-         
-config STACK_DEBUG
-       depends on DEBUG_KERNEL
-       bool "Stack Overflow Detection Support"
-
-config DEBUG_BOOTMEM
-       depends on DEBUG_KERNEL
-       bool "Debug BOOTMEM initialization"
-
-# We have a custom atomic_dec_and_lock() implementation but it's not
-# compatible with spinlock debugging so we need to fall back on
-# the generic version in that case.
-config HAVE_DEC_LOCK
-       bool
-       depends on SMP && !DEBUG_SPINLOCK
-       default y
-
-config MCOUNT
-       bool
-       depends on STACK_DEBUG
-       default y
-
-config FRAME_POINTER
-       bool
-       depends on MCOUNT
-       default y
-
+         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 "kernel/vserver/Kconfig"
 
 source "security/Kconfig"
@@ -714,4 +430,3 @@ source "security/Kconfig"
 source "crypto/Kconfig"
 
 source "lib/Kconfig"
-