diff options
Diffstat (limited to 'arch/sparc/Kconfig')
-rw-r--r-- | arch/sparc/Kconfig | 498 |
1 files changed, 130 insertions, 368 deletions
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 26ddeedb5166..e594559c8dba 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig @@ -4,111 +4,21 @@ mainmenu "Linux/SPARC Kernel Configuration" -config SPARC - bool - default y - select HAVE_IDE - select HAVE_OPROFILE - select HAVE_ARCH_KGDB if !SMP || SPARC64 - select HAVE_ARCH_TRACEHOOK - select ARCH_WANT_OPTIONAL_GPIOLIB - select RTC_CLASS - select RTC_DRV_M48T59 - -# Identify this as a Sparc32 build -config SPARC32 - bool - default y if ARCH = "sparc" - help - SPARC is a family of RISC microprocessors designed and marketed by - Sun Microsystems, incorporated. They are very widely found in Sun - workstations and clones. This port covers the original 32-bit SPARC; - it is old and stable and usually considered one of the "big three" - along with the Intel and Alpha ports. The UltraLinux project - maintains both the SPARC32 and SPARC64 ports; its web page is - available at <http://www.ultralinux.org/>. - -config SPARC64 - bool - default y if ARCH = "sparc64" - select HAVE_FUNCTION_TRACER - select HAVE_KRETPROBES - select HAVE_KPROBES - select HAVE_LMB - select USE_GENERIC_SMP_HELPERS if SMP - select RTC_DRV_CMOS - select RTC_DRV_BQ4802 - select RTC_DRV_SUN4V - select RTC_DRV_STARFIRE - -config ARCH_DEFCONFIG - string - default "arch/sparc/configs/sparc32_defconfig" if SPARC32 - default "arch/sparc/configs/sparc64_defconfig" if SPARC64 - - - -config 64BIT - def_bool y if SPARC64 - -config GENERIC_TIME - bool - default y if SPARC64 - -config GENERIC_CMOS_UPDATE - bool - default y if SPARC64 - -config GENERIC_CLOCKEVENTS - bool - default y if SPARC64 - -config IOMMU_HELPER - bool - default y if SPARC64 - -config QUICKLIST - bool - default y if SPARC64 - -config STACKTRACE_SUPPORT - bool - default y if SPARC64 - -config LOCKDEP_SUPPORT - bool - default y if SPARC64 - -config HAVE_LATENCYTOP_SUPPORT - bool - default y if SPARC64 - -config AUDIT_ARCH - bool - default y if SPARC64 - -config HAVE_SETUP_PER_CPU_AREA - def_bool y if SPARC64 - -config GENERIC_HARDIRQS_NO__DO_IRQ - bool - def_bool y if SPARC64 - config MMU bool default y config HIGHMEM bool - default y if SPARC32 + default y config ZONE_DMA bool - default y if SPARC32 + default y config GENERIC_ISA_DMA bool - default y if SPARC32 + default y config GENERIC_GPIO bool @@ -121,11 +31,15 @@ config ARCH_NO_VIRT_TO_BUS config OF def_bool y +config HZ + int + default 100 + source "init/Kconfig" source "kernel/Kconfig.freezer" -menu "Processor type and features" +menu "General machine setup" config SMP bool "Symmetric multi-processing support (does not work on sun4/sun4c)" @@ -150,258 +64,82 @@ config SMP If you don't know what to do here, say N. config NR_CPUS - int "Maximum number of CPUs" + int "Maximum number of CPUs (2-32)" + range 2 32 depends on SMP - range 2 32 if SPARC32 - range 2 1024 if SPARC64 - default 32 if SPARC32 - default 64 if SPARC64 - -source kernel/Kconfig.hz - -config RWSEM_GENERIC_SPINLOCK - bool - default y if SPARC32 - -config RWSEM_XCHGADD_ALGORITHM - bool - default y if SPARC64 - -config GENERIC_FIND_NEXT_BIT - bool - default y + default "32" -config GENERIC_HWEIGHT - bool - default y if !ULTRA_HAS_POPULATION_COUNT - -config GENERIC_CALIBRATE_DELAY +config SPARC bool default y + select HAVE_IDE + select HAVE_OPROFILE + select HAVE_ARCH_KGDB if !SMP + select HAVE_ARCH_TRACEHOOK + select ARCH_WANT_OPTIONAL_GPIOLIB + select RTC_CLASS + select RTC_DRV_M48T59 -config ARCH_MAY_HAVE_PC_FDC +# Identify this as a Sparc32 build +config SPARC32 bool default y - -config ARCH_HAS_ILOG2_U32 - bool - default n - -config ARCH_HAS_ILOG2_U64 - bool - default n - -config EMULATED_CMPXCHG - bool - default y if SPARC32 - help - Sparc32 does not have a CAS instruction like sparc64. cmpxchg() - is emulated, and therefore it is not completely atomic. - -choice - prompt "Kernel page size" if SPARC64 - default SPARC64_PAGE_SIZE_8KB - -config SPARC64_PAGE_SIZE_8KB - bool "8KB" help - 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. - - If you don't know what to do, choose 8KB. - -config SPARC64_PAGE_SIZE_64KB - bool "64KB" - -endchoice + SPARC is a family of RISC microprocessors designed and marketed by + Sun Microsystems, incorporated. They are very widely found in Sun + workstations and clones. This port covers the original 32-bit SPARC; + it is old and stable and usually considered one of the "big three" + along with the Intel and Alpha ports. The UltraLinux project + maintains both the SPARC32 and SPARC64 ports; its web page is + available at <http://www.ultralinux.org/>. -config SECCOMP - bool "Enable seccomp to safely compute untrusted bytecode" - depends on SPARC64 && PROC_FS - default y - 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. Only embedded should say N here. - -config HOTPLUG_CPU - bool "Support for hot-pluggable CPUs" - depends on SPARC64 && SMP - select HOTPLUG +# Global things across all Sun machines. +config ISA + bool 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. + ISA is found on Espresso only and is not supported currently. + Say N -config GENERIC_HARDIRQS +config EISA bool - default y if SPARC64 - -source "kernel/time/Kconfig" - -if SPARC64 -source "drivers/cpufreq/Kconfig" - -config US3_FREQ - tristate "UltraSPARC-III CPU Frequency driver" - depends on CPU_FREQ - select CPU_FREQ_TABLE help - This adds the CPUFreq driver for UltraSPARC-III processors. - - For details, take a look at <file:Documentation/cpu-freq>. - - If in doubt, say N. + EISA is not supported. + Say N -config US2E_FREQ - tristate "UltraSPARC-IIe CPU Frequency driver" - depends on CPU_FREQ - select CPU_FREQ_TABLE +config MCA + bool help - This adds the CPUFreq driver for UltraSPARC-IIe processors. - - For details, take a look at <file:Documentation/cpu-freq>. + MCA is not supported. + Say N - If in doubt, say N. +config PCMCIA + tristate + ---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 + actually two varieties of these cards: the older 16 bit PCMCIA cards + and the newer 32 bit CardBus cards. If you want to use CardBus + cards, you need to say Y here and also to "CardBus support" below. -endif + To use your PC-cards, you will need supporting software from David + Hinds' pcmcia-cs package (see the file <file:Documentation/Changes> + for location). Please also read the PCMCIA-HOWTO, available from + <http://www.tldp.org/docs.html#howto>. -config US3_MC - tristate "UltraSPARC-III Memory Controller driver" - depends on SPARC64 - 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. + To compile this driver as modules, choose M here: the + modules will be called pcmcia_core and ds. - If in doubt, say Y, as this information can be very useful. - -# Global things across all Sun machines. -config GENERIC_LOCKBREAK +config SBUS bool default y - depends on SPARC64 && SMP && PREEMPT - -choice - prompt "SPARC64 Huge TLB Page Size" - depends on SPARC64 && HUGETLB_PAGE - default HUGETLB_PAGE_SIZE_4MB - -config HUGETLB_PAGE_SIZE_4MB - bool "4MB" - -config HUGETLB_PAGE_SIZE_512K - bool "512K" - -config HUGETLB_PAGE_SIZE_64K - depends on !SPARC64_PAGE_SIZE_64KB - bool "64K" - -endchoice - -config NUMA - bool "NUMA support" - depends on SPARC64 && SMP - -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 if SPARC64 - -config ARCH_SELECT_MEMORY_MODEL - def_bool y if SPARC64 - -config ARCH_SPARSEMEM_ENABLE - def_bool y if SPARC64 - select SPARSEMEM_VMEMMAP_ENABLE - -config ARCH_SPARSEMEM_DEFAULT - def_bool y if SPARC64 - -source "mm/Kconfig" - -config SCHED_SMT - bool "SMT (Hyperthreading) scheduler support" - depends on SPARC64 && SMP - default y - help - 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. -config SCHED_MC - bool "Multi-core scheduler support" - depends on SPARC64 && SMP - default y - help - 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. - -if SPARC64 -source "kernel/Kconfig.preempt" -endif - -config CMDLINE_BOOL - bool "Default bootloader kernel arguments" - depends on SPARC64 - -config CMDLINE - string "Initial kernel command string" - depends on CMDLINE_BOOL - default "console=ttyS0,9600 root=/dev/sda1" - help - Say Y here if you want to be able to pass default arguments to - the kernel. This will be overridden by the bootloader, if you - use one (such as SILO). This is most useful if you want to boot - a kernel from TFTP, and want default options to be available - with having them passed on the command line. - - NOTE: This option WILL override the PROM bootargs setting! - -config SUN_PM +config SBUSCHAR bool - default y if SPARC32 - help - Enable power management and CPU standby features on supported - SPARC platforms. - -config SPARC_LED - tristate "Sun4m LED driver" - depends on SPARC32 - help - This driver toggles the front-panel LED on sun4m systems - in a user-specifiable manner. Its state can be probed - by reading /proc/led and its blinking mode can be changed - via writes to /proc/led + default y config SERIAL_CONSOLE bool - depends on SPARC32 default y ---help--- If you say Y here, it will be possible to use a serial port as the @@ -423,75 +161,71 @@ config SERIAL_CONSOLE If unsure, say N. -endmenu +config SUN_AUXIO + bool + default y -menu "Bus options (PCI etc.)" -config ISA +config SUN_IO bool - help - ISA is found on Espresso only and is not supported currently. + default y -config ISAPNP +config RWSEM_GENERIC_SPINLOCK bool - help - ISAPNP is not supported + default y -config EISA +config RWSEM_XCHGADD_ALGORITHM bool - help - EISA is not supported. -config MCA +config GENERIC_FIND_NEXT_BIT bool - help - MCA is not supported. + default y -config SBUS +config GENERIC_HWEIGHT bool default y -config SBUSCHAR +config GENERIC_CALIBRATE_DELAY bool default y -config SUN_AUXIO +config ARCH_MAY_HAVE_PC_FDC bool default y -config SUN_IO +config ARCH_HAS_ILOG2_U32 + bool + default n + +config ARCH_HAS_ILOG2_U64 + bool + default n + +config EMULATED_CMPXCHG bool default y + help + Sparc32 does not have a CAS instruction like sparc64. cmpxchg() + is emulated, and therefore it is not completely atomic. -config SUN_LDOMS - bool "Sun Logical Domains support" - depends on SPARC64 +config SUN_PM + bool + default y help - Say Y here is you want to support virtual devices via - Logical Domains. + Enable power management and CPU standby features on supported + SPARC platforms. config PCI bool "Support for PCI and PS/2 keyboard/mouse" - select ARCH_SUPPORTS_MSI if SPARC64 help - 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 is needed for all JavaStation's (including MrCoffee), CP-1200, JavaEngine-1, Corona, Red October, and Serengeti SGSC. All of these platforms are extremely obscure, so say N if unsure. -config PCI_DOMAINS - def_bool PCI if SPARC64 - config PCI_SYSCALL def_bool PCI source "drivers/pci/Kconfig" -source "drivers/pcmcia/Kconfig" - config SUN_OPENPROMFS tristate "Openprom tree appears in /proc/openprom" help @@ -505,23 +239,17 @@ config SUN_OPENPROMFS Only choose N if you know in advance that you will not need to modify OpenPROM settings on the running system. - -endmenu - -menu "Executable file formats" +config SPARC_LED + tristate "Sun4m LED driver" + help + This driver toggles the front-panel LED on sun4m systems + in a user-specifiable manner. Its state can be probed + by reading /proc/led and its blinking mode can be changed + via writes to /proc/led source "fs/Kconfig.binfmt" -config COMPAT - bool - depends on SPARC64 - default y - select COMPAT_BINFMT_ELF - -config SYSVIPC_COMPAT - bool - depends on COMPAT && SYSVIPC - default y +source "mm/Kconfig" endmenu @@ -531,6 +259,40 @@ source "drivers/Kconfig" source "drivers/sbus/char/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. + +endmenu + source "fs/Kconfig" source "arch/sparc/Kconfig.debug" |