2005-04-17 06:20:36 +08:00
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
|
|
#
|
|
|
|
|
|
|
|
mainmenu "Linux/SPARC Kernel Configuration"
|
|
|
|
|
|
|
|
config MMU
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config HIGHMEM
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2007-02-10 17:43:14 +08:00
|
|
|
config ZONE_DMA
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config GENERIC_ISA_DMA
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2008-08-21 14:03:24 +08:00
|
|
|
config GENERIC_GPIO
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
Generic GPIO API support
|
|
|
|
|
2007-07-18 15:09:30 +08:00
|
|
|
config ARCH_NO_VIRT_TO_BUS
|
|
|
|
def_bool y
|
|
|
|
|
2007-05-01 14:26:07 +08:00
|
|
|
config OF
|
|
|
|
def_bool y
|
|
|
|
|
avoid overflows in kernel/time.c
When the conversion factor between jiffies and milli- or microseconds is
not a single multiply or divide, as for the case of HZ == 300, we currently
do a multiply followed by a divide. The intervening result, however, is
subject to overflows, especially since the fraction is not simplified (for
HZ == 300, we multiply by 300 and divide by 1000).
This is exposed to the user when passing a large timeout to poll(), for
example.
This patch replaces the multiply-divide with a reciprocal multiplication on
32-bit platforms. When the input is an unsigned long, there is no portable
way to do this on 64-bit platforms there is no portable way to do this
since it requires a 128-bit intermediate result (which gcc does support on
64-bit platforms but may generate libgcc calls, e.g. on 64-bit s390), but
since the output is a 32-bit integer in the cases affected, just simplify
the multiply-divide (*3/10 instead of *300/1000).
The reciprocal multiply used can have off-by-one errors in the upper half
of the valid output range. This could be avoided at the expense of having
to deal with a potential 65-bit intermediate result. Since the intent is
to avoid overflow problems and most of the other time conversions are only
semiexact, the off-by-one errors were considered an acceptable tradeoff.
At Ralf Baechle's suggestion, this version uses a Perl script to compute
the necessary constants. We already have dependencies on Perl for kernel
compiles. This does, however, require the Perl module Math::BigInt, which
is included in the standard Perl distribution starting with version 5.8.0.
In order to support older versions of Perl, include a table of canned
constants in the script itself, and structure the script so that
Math::BigInt isn't required if pulling values from said table.
Running the script requires that the HZ value is available from the
Makefile. Thus, this patch also adds the Kconfig variable CONFIG_HZ to the
architectures which didn't already have it (alpha, cris, frv, h8300, m32r,
m68k, m68knommu, sparc, v850, and xtensa.) It does *not* touch the sh or
sh64 architectures, since Paul Mundt has dealt with those separately in the
sh tree.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
Cc: Sam Ravnborg <sam@ravnborg.org>,
Cc: Paul Mundt <lethal@linux-sh.org>,
Cc: Richard Henderson <rth@twiddle.net>,
Cc: Michael Starvik <starvik@axis.com>,
Cc: David Howells <dhowells@redhat.com>,
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>,
Cc: Hirokazu Takata <takata@linux-m32r.org>,
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
Cc: Roman Zippel <zippel@linux-m68k.org>,
Cc: William L. Irwin <sparclinux@vger.kernel.org>,
Cc: Chris Zankel <chris@zankel.net>,
Cc: H. Peter Anvin <hpa@zytor.com>,
Cc: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-08 20:21:26 +08:00
|
|
|
config HZ
|
|
|
|
int
|
|
|
|
default 100
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
source "init/Kconfig"
|
|
|
|
|
|
|
|
menu "General machine setup"
|
|
|
|
|
|
|
|
config SMP
|
|
|
|
bool "Symmetric multi-processing support (does not work on sun4/sun4c)"
|
|
|
|
---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.
|
|
|
|
|
2008-02-03 21:50:21 +08:00
|
|
|
See also <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO
|
|
|
|
available at <http://www.tldp.org/docs.html#howto>.
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
|
|
|
|
config NR_CPUS
|
|
|
|
int "Maximum number of CPUs (2-32)"
|
|
|
|
range 2 32
|
|
|
|
depends on SMP
|
|
|
|
default "32"
|
|
|
|
|
2005-12-23 13:03:47 +08:00
|
|
|
config SPARC
|
|
|
|
bool
|
|
|
|
default y
|
2008-02-09 17:46:40 +08:00
|
|
|
select HAVE_IDE
|
2008-02-03 04:10:34 +08:00
|
|
|
select HAVE_OPROFILE
|
2008-04-29 17:38:50 +08:00
|
|
|
select HAVE_ARCH_KGDB if !SMP
|
2008-07-27 18:53:32 +08:00
|
|
|
select HAVE_ARCH_TRACEHOOK
|
2008-08-21 14:03:24 +08:00
|
|
|
select ARCH_WANT_OPTIONAL_GPIOLIB
|
2008-09-04 06:52:38 +08:00
|
|
|
select RTC_CLASS
|
|
|
|
select RTC_DRV_M48T59
|
2005-12-23 13:03:47 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
# Identify this as a Sparc32 build
|
|
|
|
config SPARC32
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
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/>.
|
|
|
|
|
|
|
|
# Global things across all Sun machines.
|
|
|
|
config ISA
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
ISA is found on Espresso only and is not supported currently.
|
|
|
|
Say N
|
|
|
|
|
|
|
|
config EISA
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
EISA is not supported.
|
|
|
|
Say N
|
|
|
|
|
|
|
|
config MCA
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
MCA is not supported.
|
|
|
|
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.
|
|
|
|
|
|
|
|
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>.
|
|
|
|
|
|
|
|
To compile this driver as modules, choose M here: the
|
|
|
|
modules will be called pcmcia_core and ds.
|
|
|
|
|
|
|
|
config SBUS
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config SBUSCHAR
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config SERIAL_CONSOLE
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
---help---
|
|
|
|
If you say Y here, it will be possible to use a serial port as the
|
|
|
|
system console (the system console is the device which receives all
|
|
|
|
kernel messages and warnings and which allows logins in single user
|
|
|
|
mode). This could be useful if some terminal or printer is connected
|
|
|
|
to that serial port.
|
|
|
|
|
|
|
|
Even if you say Y here, the currently visible virtual console
|
|
|
|
(/dev/tty0) will still be used as the system console by default, but
|
|
|
|
you can alter that using a kernel command line option such as
|
|
|
|
"console=ttyS1". (Try "man bootparam" or see the documentation of
|
|
|
|
your boot loader (silo) about how to pass options to the kernel at
|
|
|
|
boot time.)
|
|
|
|
|
|
|
|
If you don't have a graphics card installed and you say Y here, the
|
|
|
|
kernel will automatically use the first serial line, /dev/ttyS0, as
|
|
|
|
system console.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
config SUN_AUXIO
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config SUN_IO
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
|
|
bool
|
|
|
|
|
[PATCH] bitops: sparc: use generic bitops
- remove __{,test_and_}{set,clear,change}_bit() and test_bit()
- remove ffz()
- remove __ffs()
- remove sched_find_first_bit()
- remove ffs()
- remove generic_fls()
- remove generic_fls64()
- remove generic_hweight{32,16,8}()
- remove find_{next,first}{,_zero}_bit()
- remove ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()
- remove ext2_{set,clear}_bit_atomic()
- remove minix_{test,set,test_and_clear,test,find_first_zero}_bit()
Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
Cc: William Lee Irwin III <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-26 17:39:39 +08:00
|
|
|
config GENERIC_FIND_NEXT_BIT
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config GENERIC_HWEIGHT
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2005-09-06 08:48:42 +08:00
|
|
|
config ARCH_MAY_HAVE_PC_FDC
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2006-12-08 18:37:49 +08:00
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2007-05-29 16:11:57 +08:00
|
|
|
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.
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
config SUN_PM
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
Enable power management and CPU standby features on supported
|
|
|
|
SPARC platforms.
|
|
|
|
|
|
|
|
config PCI
|
|
|
|
bool "Support for PCI and PS/2 keyboard/mouse"
|
|
|
|
help
|
|
|
|
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.
|
|
|
|
|
2007-07-11 00:54:40 +08:00
|
|
|
config PCI_SYSCALL
|
|
|
|
def_bool PCI
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
|
|
|
|
config SUN_OPENPROMFS
|
|
|
|
tristate "Openprom tree appears in /proc/openprom"
|
|
|
|
help
|
|
|
|
If you say Y, the OpenPROM device tree will be available as a
|
|
|
|
virtual file system, which you can mount to /proc/openprom by "mount
|
|
|
|
-t openpromfs none /proc/openprom".
|
|
|
|
|
|
|
|
To compile the /proc/openprom support as a module, choose M here: the
|
|
|
|
module will be called openpromfs.
|
|
|
|
|
|
|
|
Only choose N if you know in advance that you will not need to modify
|
|
|
|
OpenPROM settings on the running system.
|
|
|
|
|
2005-11-08 06:08:04 +08:00
|
|
|
config SPARC_LED
|
|
|
|
tristate "Sun4m LED driver"
|
|
|
|
help
|
|
|
|
This driver toggles the front-panel LED on sun4m systems
|
2006-11-30 12:22:59 +08:00
|
|
|
in a user-specifiable manner. Its state can be probed
|
|
|
|
by reading /proc/led and its blinking mode can be changed
|
2005-11-08 06:08:04 +08:00
|
|
|
via writes to /proc/led
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
|
2005-06-23 15:10:18 +08:00
|
|
|
source "mm/Kconfig"
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
2005-07-12 12:03:49 +08:00
|
|
|
source "net/Kconfig"
|
|
|
|
|
2005-06-23 15:10:18 +08:00
|
|
|
source "drivers/Kconfig"
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
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"
|
|
|
|
|
|
|
|
source "security/Kconfig"
|
|
|
|
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
|
|
|
|
source "lib/Kconfig"
|