![David Howells](/assets/img/avatar_default.png)
This facility provides three entry points: ilog2() Log base 2 of unsigned long ilog2_u32() Log base 2 of u32 ilog2_u64() Log base 2 of u64 These facilities can either be used inside functions on dynamic data: int do_something(long q) { ...; y = ilog2(x) ...; } Or can be used to statically initialise global variables with constant values: unsigned n = ilog2(27); When performing static initialisation, the compiler will report "error: initializer element is not constant" if asked to take a log of zero or of something not reducible to a constant. They treat negative numbers as unsigned. When not dealing with a constant, they fall back to using fls() which permits them to use arch-specific log calculation instructions - such as BSR on x86/x86_64 or SCAN on FRV - if available. [akpm@osdl.org: MMC fix] Signed-off-by: David Howells <dhowells@redhat.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: David Howells <dhowells@redhat.com> Cc: Wojtek Kaniewski <wojtekka@toxygen.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
215 lines
5.9 KiB
Plaintext
215 lines
5.9 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/config-language.txt.
|
|
#
|
|
|
|
mainmenu "uClinux/h8300 (w/o MMU) Kernel Configuration"
|
|
|
|
config H8300
|
|
bool
|
|
default y
|
|
|
|
config MMU
|
|
bool
|
|
default n
|
|
|
|
config SWAP
|
|
bool
|
|
default n
|
|
|
|
config FPU
|
|
bool
|
|
default n
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
default y
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
default n
|
|
|
|
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_HWEIGHT
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config TIME_LOW_RES
|
|
bool
|
|
default y
|
|
|
|
config ISA
|
|
bool
|
|
default y
|
|
|
|
config PCI
|
|
bool
|
|
default n
|
|
|
|
source "init/Kconfig"
|
|
|
|
source "arch/h8300/Kconfig.cpu"
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/base/Kconfig"
|
|
|
|
source "drivers/mtd/Kconfig"
|
|
|
|
source "drivers/block/Kconfig"
|
|
|
|
source "drivers/ide/Kconfig"
|
|
|
|
source "arch/h8300/Kconfig.ide"
|
|
|
|
source "drivers/net/Kconfig"
|
|
|
|
#
|
|
# input - input/joystick depends on it. As does USB.
|
|
#
|
|
source "drivers/input/Kconfig"
|
|
|
|
menu "Character devices"
|
|
|
|
config VT
|
|
bool "Virtual terminal"
|
|
---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"
|
|
depends on VT
|
|
---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.)
|
|
|
|
If unsure, say Y.
|
|
|
|
config HW_CONSOLE
|
|
bool
|
|
depends on VT && !S390 && !UM
|
|
default y
|
|
|
|
comment "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.
|
|
|
|
source "drivers/char/pcmcia/Kconfig"
|
|
|
|
source "drivers/serial/Kconfig"
|
|
|
|
source "drivers/i2c/Kconfig"
|
|
|
|
source "drivers/hwmon/Kconfig"
|
|
|
|
source "drivers/usb/Kconfig"
|
|
|
|
endmenu
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/h8300/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|