summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjdike <jdike>2003-09-02 20:08:39 +0000
committerjdike <jdike>2003-09-02 20:08:39 +0000
commit78cfa1405d438c8a34bee61086f3458ba6d161ee (patch)
treeed96a790ce5fa8c92136655eff65c68fac52caee
parentabb37cf6f11573b380f259dc09076eec2d0f6133 (diff)
downloaduml-history-78cfa1405d438c8a34bee61086f3458ba6d161ee.tar.gz
Updated to 2.4.22.
-rw-r--r--CREDITS143
-rw-r--r--Documentation/Configure.help1707
-rw-r--r--MAINTAINERS368
-rw-r--r--Makefile26
-rw-r--r--arch/um/defconfig20
-rw-r--r--arch/um/include/um_uaccess.h51
-rw-r--r--arch/um/kernel/process_kern.c2
-rw-r--r--arch/um/kernel/sys_call_table.c15
-rw-r--r--drivers/char/Makefile28
-rw-r--r--drivers/char/tty_io.c88
-rw-r--r--include/asm-um/processor-generic.h3
-rw-r--r--include/linux/fs.h124
-rw-r--r--include/linux/kernel_stat.h9
-rw-r--r--include/linux/mm.h13
-rw-r--r--include/linux/tty.h3
-rw-r--r--init/do_mounts.c53
-rw-r--r--mm/mmap.c8
-rw-r--r--mm/slab.c8
18 files changed, 2223 insertions, 446 deletions
diff --git a/CREDITS b/CREDITS
index 64dac68..9964253 100644
--- a/CREDITS
+++ b/CREDITS
@@ -111,16 +111,18 @@ S: San Jose, California 95129
S: USA
N: Andrea Arcangeli
-E: andrea@e-mind.com
-W: http://e-mind.com/~andrea/
-P: 1024/CB4660B9 CC A0 71 81 F4 A0 63 AC C0 4B 81 1D 8C 15 C8 E5
+E: andrea@suse.de
+W: http://www.kernel.org/pub/linux/kernel/people/andrea/
+P: 1024D/68B9CB43 13D9 8355 295F 4823 7C49 C012 DFA1 686E 68B9 CB43
+P: 1024R/CB4660B9 CC A0 71 81 F4 A0 63 AC C0 4B 81 1D 8C 15 C8 E5
D: Parport hacker
D: Implemented a workaround for some interrupt buggy printers
-D: Author of pscan that helps to fix lp/parport bug
+D: Author of pscan that helps to fix lp/parport bugs
D: Author of lil (Linux Interrupt Latency benchmark)
D: Fixed the shm swap deallocation at swapoff time (try_to_unuse message)
+D: VM hacker
D: Various other kernel hacks
-S: Via Ciaclini 26
+S: Via Cicalini 26
S: Imola 40026
S: Italy
@@ -601,10 +603,6 @@ S: (ask for current address)
S: USA
N: Alan Cox
-W: http://roadrunner.swansea.linux.org.uk/alan.shtml
-E: alan@lxorguk.ukuu.org.uk
-E: alan@www.linux.org.uk (linux.org.uk stuff)
-E: Alan.Cox@linux.org (if others fail)
D: Linux Networking (0.99.10->2.0.29)
D: Original Appletalk, AX.25, and IPX code
D: Current 3c501 hacker. >>More 3c501 info/tricks wanted<<.
@@ -734,7 +732,7 @@ D: Linux/IA-64
D: Dell PowerEdge server, SCSI layer, misc drivers, and other patches
S: Dell Computer Corporation
S: One Dell Way
-S: Round Rock, TX 78681
+S: Round Rock, TX 78682
S: USA
N: Eddie C. Dost
@@ -1009,7 +1007,7 @@ S: Mountain View, California 94040
S: USA
N: Jeff Garzik
-E: jgarzik@mandrakesoft.com
+E: jgarzik@pobox.com
N: Jacques Gelinas
E: jacques@solucorp.qc.ca
@@ -1066,6 +1064,11 @@ D: Made support for modules, ramdisk, generic-serial, etc. optional.
D: Transformed old user space bdflush into 1st kernel thread - kflushd.
D: Many other patches, documentation files, mini kernels, utilities, ...
+N: Masanori GOTO
+E: gotom@debian.or.jp
+D: Workbit NinjaSCSI-32Bi/UDE driver
+S: Japan
+
N: John E. Gotts
E: jgotts@linuxsavvy.com
D: kernel hacker
@@ -1170,6 +1173,10 @@ S: 25360 Georgia Tech Station
S: Atlanta, Georgia 30332
S: USA
+N: Brad Hards
+E: bradh@frogmouth.net
+D: Various USB bits, other minor patches
+
N: Angelo Haritsis
E: ah@computer.org
D: kernel patches (serial, watchdog)
@@ -1232,16 +1239,18 @@ S: Germany
N: Christoph Hellwig
E: hch@infradead.org
-D: misc driver & makefile hacking
+E: hch@sgi.com
+D: all kinds of driver, filesystem & core kernel hacking
D: freevxfs driver
D: sysvfs maintainer
-S: Triftstraße 26
-S: 38644 Goslar
+D: chief codingstyle nitpicker
+S: Auweg 38
+S: 85748 Garching
S: Germany
N: Richard Henderson
E: rth@twiddle.net
-E: rth@cygnus.com
+E: rth@redhat.com
D: Alpha hacker, kernel and userland
S: 1668 California St.
S: Mountain View, California 94041
@@ -1338,7 +1347,9 @@ S: USA
N: Marcel Holtmann
E: marcel@holtmann.org
W: http://www.holtmann.org
-D: Author of the Linux Bluetooth Subsystem PC Card drivers
+D: Author and maintainer of the various Bluetooth HCI drivers
+D: Author and maintainer of the CAPI message transport protocol driver
+D: Various other Bluetooth related patches, cleanups and fixes
S: Germany
N: Rob W. W. Hooft
@@ -1489,7 +1500,7 @@ S: Herts, WD6 4PJ
S: United Kingdom
N: Ani Joshi
-E: ajoshi@shell.unixbox.com
+E: ajoshi@kernel.crashing.org
D: fbdev hacking
N: Bernhard Kaindl
@@ -1502,6 +1513,18 @@ S: Tallak 95
S: 8103 Rein
S: Austria
+N: Mitsuru Kanda
+E: mk@linux-ipv6.org
+E: mk@isl.rdc.toshiba.co.jp
+E: mk@karaba.org
+W: http://www.karaba.org/~mk/
+P: 1024D/2EC7E30D 9A35 D378 F084 9EA4 EFBA 925B 1C93 B376 F0EF BE59
+D: IPsec, IPv6
+D: USAGI/WIDE Project, TOSHIBA CORPORATION
+S: 2-47-8, Takinogawa,
+S: Kita, Tokyo 114-0023
+S: Japan
+
N: Jan Kara
E: jack@atrey.karlin.mff.cuni.cz
E: jack@suse.cz
@@ -1889,7 +1912,8 @@ N: Pavel Machek
E: pavel@ucw.cz
E: pavel@suse.cz
D: Softcursor for vga, hypertech cdrom support, vcsa bugfix, nbd
-D: sun4/330 port, capabilities for elf, speedup for rm on ext2, USB
+D: sun4/330 port, capabilities for elf, speedup for rm on ext2, USB,
+D: x86-64 port, software suspend
S: Volkova 1131
S: 198 00 Praha 9
S: Czech Republic
@@ -1918,9 +1942,14 @@ S: Halifax, Nova Scotia
S: Canada B3J 3C8
N: Kai Mäkisara
-E: Kai.Makisara@metla.fi
+E: Kai.Makisara@kolumbus.fi
D: SCSI Tape Driver
+N: Dan Malek
+E: dan@mvista.com
+D: PowerPC 8xx, 4xx work.
+S: USA
+
N: Asit Mallick
E: asit.k.mallick@intel.com
D: Linux/IA-64
@@ -2132,6 +2161,17 @@ S: 1805 Marquette
S: Richardson, Texas 75081
S: USA
+N: Kazunori Miyazawa
+E: miyazawa@linux-ipv6.org
+E: Kazunori.Miyazawa@jp.yokogawa.com
+E: kazunori@miyazawa.org
+W: http://www.miyazawa.org/~kazunori/
+D: IPsec, IPv6
+D: USAGI/WIDE Project, Yokogawa Electric Corporation
+S: 2-20-4-203, Nakacho,
+S: Musashino, Tokyo 180-0006
+S: Japan
+
N: Patrick Mochel
E: pat@osdl.org
E: mochelp@infinity.powertie.org
@@ -2211,11 +2251,12 @@ S: Derbyshire DE4 3RL
S: United Kingdom
N: Ian S. Nelson
-E: ian.nelson@echostar.com
+E: nelsonis@earthlink.net
D: Minor mmap and ide hacks
S: 1370 Atlantis Ave.
S: Lafayette CO, 80026
S: USA
+P: 1024D/DD478240 4073 9AF8 027F 278D CBBB DA3C 9905 0415 DD47 8240
N: Russell Nelson
E: nelson@crynwr.com
@@ -2227,6 +2268,15 @@ S: 521 Pleasant Valley Road
S: Potsdam, New York 13676
S: USA
+N: Dave Neuer
+E: dneuer@innovation-charter.com
+E: mr_fred_smoothie@yahoo.com
+D: Helped implement support for Compaq's H31xx series iPAQs
+D: Other mostly minor tweaks & bugfixes
+S: 325 E. Main St., Suite 3
+S: Carnegie, PA 15105
+S: USA
+
N: Michael Neuffer
E: mike@i-Connect.Net
E: neuffer@goofy.zdv.uni-mainz.de
@@ -2398,18 +2448,24 @@ E: ken@halcyon.com
D: CDROM driver "sonycd535" (Sony CDU-535/531)
N: Stelian Pop
-E: stelian.pop@fr.alcove.com
+E: stelian@popies.net
P: 1024D/EDBB6147 7B36 0E07 04BC 11DC A7A0 D3F7 7185 9E7A EDBB 6147
D: sonypi, meye drivers, mct_u232 usb serial hacks
-S: Alcôve
-S: 153, bd. Anatole France
-S: 93200 Saint Denis
-S: France
+S: Paris, France
N: Frederic Potter
E: fpotter@cirpack.com
D: Some PCI kernel support
+N: Matt Porter
+E: porter@cox.net
+E: mporter@mvista.com
+D: Motorola PowerPC PReP support
+D: cPCI PowerPC support
+D: Embedded PowerPC 440/6xx/7xx/74xx support
+S: Chandler, Arizona 85249
+S: USA
+
N: Rui Prior
E: rprior@inescn.pt
D: ATM device driver for NICStAR based cards
@@ -2521,6 +2577,12 @@ S: Kasarmikatu 11 A4
S: 70110 Kuopio
S: Finland
+N: Tom Rini
+E: trini@kernel.crashing.org
+D: Lots of PowerPC cleanups, minor matroxfb work
+S: Tucson, Arizona
+S: USA
+
N: William E. Roadcap
E: roadcapw@cfw.com
W: http://www.cfw.com/~roadcapw
@@ -2649,6 +2711,14 @@ N: Robert Sanders
E: gt8134b@prism.gatech.edu
D: Dosemu
+N: Duncan Sands
+E: duncan.sands@wanadoo.fr
+W: http://topo.math.u-psud.fr/~sands
+D: Alcatel SpeedTouch USB driver
+S: 69 rue Dunois
+S: 75013 Paris
+S: France
+
N: Hannu Savolainen
E: hannu@opensound.com
D: Maintainer of the sound drivers until 2.1.x days.
@@ -3024,7 +3094,7 @@ S: Germany
N: Geert Uytterhoeven
E: geert@linux-m68k.org
W: http://home.tvd.be/cr26864/
-P: 1024/EC4A1EE1 8B 88 38 35 88 1E 95 A1 CD 9E AE DC 4B 4A 2F 41
+P: 1024/862678A6 C51D 361C 0BD1 4C90 B275 C553 6EEA 11BA 8626 78A6
D: m68k/Amiga and PPC/CHRP Longtrail coordinator
D: Frame buffer device and XF68_FBDev maintainer
D: m68k IDE maintainer
@@ -3033,8 +3103,8 @@ D: Amiga Buddha and Catweasel chipset IDE
D: Atari Falcon chipset IDE
D: Amiga Gayle chipset IDE
D: mipsel NEC DDB Vrc-5074
-S: C. Huysmansstraat 12
-S: B-3128 Baal
+S: Holsbeeksesteenweg 166
+S: B-3010 Kessel-Lo
S: Belgium
N: Petr Vandrovec
@@ -3283,6 +3353,23 @@ S: POB 1822
S: Socorro NM, 87801
S: USA
+N: Hiroshi YOKOTA
+E: yokota@netlab.is.tsukuba.ac.jp
+D: Workbit NinjaSCSI-3/32Bi PCMCIA driver
+D: Workbit NinjaSCSI-32Bi/UDE driver
+S: Japan
+
+N: Hideaki YOSHIFUJI
+E: hideaki@yoshifuji.org
+E: yoshfuji@linux-ipv6.org
+W: http://www.yoshifuji.org/~hideaki/
+P: 1024D/E0620EEA 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
+D: IPv6 and other networking related stuff
+D: USAGI/WIDE Project, The University of Tokyo
+S: Green House #102, 1-15-5, Nishikata,
+S: Bunkyo, Tokyo 113-0024
+S: Japan
+
N: Eric Youngdale
E: eric@andante.org
W: http://www.andante.org
diff --git a/Documentation/Configure.help b/Documentation/Configure.help
index 939603a..ba7697f 100644
--- a/Documentation/Configure.help
+++ b/Documentation/Configure.help
@@ -12,8 +12,8 @@
# <http://nevod.perm.su/service/linux/doc/kernel/Configure.help>
# - French, by Pierre Tane <mailto:tanep@bigfoot.com>, at
# <http://www.traduc.org/kernelfr/>
-# - Polish, by Dominik Mierzejewski <mailto:dmierzej@elka.pw.edu.pl>, at
-# <http://home.elka.pw.edu.pl/~dmierzej/linux/kernel/>
+# - Polish, by Dominik Mierzejewski <mailto:dominik@piorunek.pl>, at
+# <http://www.piorunek.pl/~dominik/linux/kernel/>
# - German, by SuSE, at <http://www.suse.de/~ke/kernel/>. This patch
# also includes infrastructure to support different languages.
# - Catalan, by Antoni Bella <mailto:bella5@teleline.es>, at
@@ -246,14 +246,22 @@ CONFIG_X86_TSC_DISABLE
If unsure, say N.
-Multiquad support for NUMA systems
-CONFIG_MULTIQUAD
+Multiquad support for NUMAQ systems
+CONFIG_X86_NUMAQ
This option is used for getting Linux to run on a (IBM/Sequent) NUMA
multiquad box. This changes the way that processors are bootstrapped,
and uses Clustered Logical APIC addressing mode instead of Flat Logical.
You will need a new lynxer.elf file to flash your firmware with - send
email to Martin.Bligh@us.ibm.com
+Support for IBM Summit (EXA) systems
+CONFIG_X86_SUMMIT
+ This option is needed for IBM systems that use the Summit/EXA chipset.
+ (EXA: Extendable Xseries Architecture)In particular, it is needed for
+ the x440 (even for the 4-CPU model).
+
+ If you don't have this computer, you may safely say N.
+
IO-APIC support on uniprocessors
CONFIG_X86_UP_IOAPIC
An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
@@ -459,6 +467,18 @@ CONFIG_BLK_DEV_INITRD
"real" root file system, etc. See <file:Documentation/initrd.txt>
for details.
+Embed root filesystem ramdisk into the kernel
+CONFIG_EMBEDDED_RAMDISK
+ Select this option if you want to build the ramdisk image into the
+ the final kernel binary.
+
+Filename of gziped ramdisk image
+CONFIG_EMBEDDED_RAMDISK_IMAGE
+ This is the filename of the ramdisk image to be built into the
+ kernel. Relative pathnames are relative to arch/mips/ramdisk/.
+ The ramdisk image is not part of the kernel distribution; you must
+ provide one yourself.
+
Loopback device support
CONFIG_BLK_DEV_LOOP
Saying Y here will allow you to use a regular file as a block
@@ -1033,7 +1053,7 @@ CONFIG_BLK_DEV_ADMA
Pacific Digital A-DMA support (EXPERIMENTAL)
CONFIG_BLK_DEV_PDC_ADMA
- Please read the comments at the top of <file:drivers/ide/ide-pci.c>.
+ Please read the comments at the top of <file:drivers/ide/setup-pci.c>.
3ware Hardware ATA-RAID support
CONFIG_BLK_DEV_3W_XXXX_RAID
@@ -1063,13 +1083,13 @@ CONFIG_BLK_DEV_AEC62XX
The ATP860 is an UltraDMA 66 chipset base.
The ATP860M(acintosh) version is an UltraDMA 66 chipset base.
- Please read the comments at the top of <file:drivers/ide/aec62xx.c>.
+ Please read the comments at the top of <file:drivers/ide/pci/aec62xx.c>.
If you say Y here, then say Y to "Use DMA by default when available"
as well.
AEC62XX Tuning support
CONFIG_AEC62XX_TUNING
- Please read the comments at the top of <file:drivers/ide/aec62xx.c>.
+ Please read the comments at the top of <file:drivers/ide/pci/aec62xx.c>.
If unsure, say N.
ALI M15x3 chipset support
@@ -1080,7 +1100,7 @@ CONFIG_BLK_DEV_ALI15X3
If you say Y here, you also need to say Y to "Use DMA by default
when available", above. Please read the comments at the top of
- <file:drivers/ide/alim15x3.c>.
+ <file:drivers/ide/pci/alim15x3.c>.
If unsure, say N.
@@ -1097,14 +1117,16 @@ CONFIG_WDC_ALI15X3
SAY N!
-AMD Viper (7401/7409/7411) chipset support
+AMD and nVidia IDE support
CONFIG_BLK_DEV_AMD74XX
- This driver ensures (U)DMA support for the AMD756/760 Viper
- chipsets.
+ This driver adds explicit support for AMD-7xx and AMD-8111 chips
+ and also for the nVidia nForce chip. This allows the kernel to
+ change PIO, DMA and UDMA speeds and to configure the chip to
+ optimum performance.
If you say Y here, you also need to say Y to "Use DMA by default
when available", above.
- Please read the comments at the top of <file:drivers/ide/amd74xx.c>.
+ Please read the comments at the top of <file:drivers/ide/pci/amd74xx.c>.
If unsure, say N.
@@ -1114,10 +1136,10 @@ CONFIG_AMD74XX_OVERRIDE
This effect can be also invoked by calling "idex=ata66"
If unsure, say N.
-CMD64X and CMD680 chipset support
+CMD64X/CMD680 chipset support
CONFIG_BLK_DEV_CMD64X
Say Y here if you have an IDE controller which uses any of these
- chipsets: CMD643, CMD646, CMD648, CMD649 or CMD680.
+ chipsets: CMD643, CMD646 and CMD648.
CY82C693 chipset support
CONFIG_BLK_DEV_CY82C693
@@ -1148,16 +1170,18 @@ CONFIG_BLK_DEV_HPT34X
HPT34X AUTODMA support (WIP)
CONFIG_HPT34X_AUTODMA
This is a dangerous thing to attempt currently! Please read the
- comments at the top of <file:drivers/ide/hpt34x.c>. If you say Y
+ comments at the top of <file:drivers/ide/pci/hpt34x.c>. If you say Y
here, then say Y to "Use DMA by default when available" as well.
If unsure, say N.
-HPT366/368/370 chipset support
+HPT36X/37X chipset support
CONFIG_BLK_DEV_HPT366
HPT366 is an Ultra DMA chipset for ATA-66.
HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
HPT370 is an Ultra DMA chipset for ATA-100.
+ HPT372 is an Ultra DMA chipset for ATA-133.
+ HPT374 is an Ultra DMA chipset for ATA-133.
This driver adds up to 4 more EIDE devices sharing a single
interrupt.
@@ -1179,12 +1203,12 @@ CONFIG_BLK_DEV_NS87415
This driver adds detection and support for the NS87415 chip
(used in SPARC64, among others).
- Please read the comments at the top of <file:drivers/ide/ns87415.c>.
+ Please read the comments at the top of <file:drivers/ide/pci/ns87415.c>.
OPTi 82C621 chipset enhanced support (EXPERIMENTAL)
CONFIG_BLK_DEV_OPTI621
This is a driver for the OPTi 82C621 EIDE controller.
- Please read the comments at the top of <file:drivers/ide/opti621.c>.
+ Please read the comments at the top of <file:drivers/ide/pci/opti621.c>.
ServerWorks OSB4/CSB5 chipset support
CONFIG_BLK_DEV_SVWKS
@@ -1198,7 +1222,7 @@ CONFIG_BLK_DEV_PIIX
PIO 0-4 mode settings, this allows dynamic tuning of the chipset
via the standard end-user tool 'hdparm'.
- Please read the comments at the top of <file:drivers/ide/piix.c>.
+ Please read the comments at the top of <file:drivers/ide/pci/piix.c>.
If you say Y here, you should also say Y to "PIIXn Tuning support",
below.
@@ -1218,7 +1242,7 @@ CONFIG_PIIX_TUNING
If unsure, say N.
PROMISE PDC20246/PDC20262/PDC20265/PDC20267/PDC20268 support
-CONFIG_BLK_DEV_PDC202XX
+CONFIG_BLK_DEV_PDC202XX_OLD
Promise Ultra33 or PDC20246
Promise Ultra66 or PDC20262
Promise Ultra100 or PDC20265/PDC20267/PDC20268
@@ -1236,7 +1260,7 @@ CONFIG_BLK_DEV_PDC202XX
available" as well.
Please read the comments at the top of
- <file:drivers/ide/pdc202xx.c>.
+ <file:drivers/ide/pci/pdc202xx_old.c>.
If unsure, say N.
@@ -1251,7 +1275,7 @@ CONFIG_PDC202XX_BURST
when the PDC20265 BIOS has been disabled (for faster boot up).
Please read the comments at the top of
- <file:drivers/ide/pdc202xx.c>.
+ <file:drivers/ide/pci/pdc202xx_old.c>.
If unsure, say N.
@@ -1274,7 +1298,12 @@ CONFIG_BLK_DEV_SIS5513
If you say Y here, you need to say Y to "Use DMA by default when
available" as well.
- Please read the comments at the top of <file:drivers/ide/sis5513.c>.
+ Please read the comments at the top of <file:drivers/ide/pci/sis5513.c>.
+
+Silicon Image chipset support
+CONFIG_BLK_DEV_SIIMAGE
+ This driver provides (U)DMA support for the SII3112 SATA controllers and
+ for the CMD/SI680 UDMA/DMA ATA controller.
SLC90E66 chipset support
CONFIG_BLK_DEV_SLC90E66
@@ -1288,7 +1317,7 @@ CONFIG_BLK_DEV_SLC90E66
available" as well.
Please read the comments at the top of
- <file:drivers/ide/slc90e66.c>.
+ <file:drivers/ide/pci/slc90e66.c>.
Winbond SL82c105 support
CONFIG_BLK_DEV_SL82C105
@@ -1301,7 +1330,7 @@ CONFIG_BLK_DEV_TRM290
This driver adds support for bus master DMA transfers
using the Tekram TRM290 PCI IDE chip. Volunteers are
needed for further tweaking and development.
- Please read the comments at the top of <file:drivers/ide/trm290.c>.
+ Please read the comments at the top of <file:drivers/ide/pci/trm290.c>.
VIA82CXXX chipset support
CONFIG_BLK_DEV_VIA82CXXX
@@ -1313,7 +1342,7 @@ CONFIG_BLK_DEV_VIA82CXXX
system" support.
Please read the comments at the top of
- <file:drivers/ide/via82cxxx.c>.
+ <file:drivers/ide/pci/via82cxxx.c>.
If you say Y here, then say Y to "Use DMA by default when available"
as well.
@@ -1353,7 +1382,7 @@ CONFIG_BLK_DEV_ALI14XX
boot parameter. It enables support for the secondary IDE interface
of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
I/O speeds to be set as well. See the files
- <file:Documentation/ide.txt> and <file:drivers/ide/ali14xx.c> for
+ <file:Documentation/ide.txt> and <file:drivers/ide/legacy/ali14xx.c> for
more info.
DTC-2278 support
@@ -1362,7 +1391,7 @@ CONFIG_BLK_DEV_DTC2278
boot parameter. It enables support for the secondary IDE interface
of the DTC-2278 card, and permits faster I/O speeds to be set as
well. See the <file:Documentation/ide.txt> and
- <file:drivers/ide/dtc2278.c> files for more info.
+ <file:drivers/ide/legacy/dtc2278.c> files for more info.
Holtek HT6560B support
CONFIG_BLK_DEV_HT6560B
@@ -1370,7 +1399,7 @@ CONFIG_BLK_DEV_HT6560B
boot parameter. It enables support for the secondary IDE interface
of the Holtek card, and permits faster I/O speeds to be set as well.
See the <file:Documentation/ide.txt> and
- <file:drivers/ide/ht6560b.c> files for more info.
+ <file:drivers/ide/legacy/ht6560b.c> files for more info.
PROMISE DC4030 support (EXPERIMENTAL)
CONFIG_BLK_DEV_PDC4030
@@ -1380,14 +1409,14 @@ CONFIG_BLK_DEV_PDC4030
attached to the secondary interface. CD-ROM and TAPE devices are
not supported yet. This driver is enabled at runtime using the
"ide0=dc4030" kernel boot parameter. See the
- <file:Documentation/ide.txt> and <file:drivers/ide/pdc4030.c> files
+ <file:Documentation/ide.txt> and <file:drivers/ide/legacy/pdc4030.c> files
for more info.
QDI QD65XX support
CONFIG_BLK_DEV_QD65XX
This driver is enabled at runtime using the "ide0=qd65xx" kernel
boot parameter. It permits faster I/O speeds to be set. See the
- <file:Documentation/ide.txt> and <file:drivers/ide/qd65xx.c> for
+ <file:Documentation/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> for
more info.
UMC 8672 support
@@ -1396,7 +1425,7 @@ CONFIG_BLK_DEV_UMC8672
boot parameter. It enables support for the secondary IDE interface
of the UMC-8672, and permits faster I/O speeds to be set as well.
See the files <file:Documentation/ide.txt> and
- <file:drivers/ide/umc8672.c> for more info.
+ <file:drivers/ide/legacy/umc8672.c> for more info.
Amiga Gayle IDE interface support
CONFIG_BLK_DEV_GAYLE
@@ -1457,6 +1486,11 @@ CONFIG_BLK_DEV_IDEDMA_PMAC
to transfer data to and from memory. Saying Y is safe and improves
performance.
+Broadcom SiByte onboard IDE support
+CONFIG_BLK_DEV_IDE_SIBYTE
+ Include the driver for on-board IDE on the SiByte Generic Bus. Note
+ that this limits the number of IDE devices to 4 (ide0...ide3).
+
Use DMA by default
CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO
This option allows the driver for the built-in IDE controller on
@@ -2078,6 +2112,78 @@ CONFIG_MIPS_MALTA
This enables support for the VR5000-based MIPS Malta evaluation
board.
+# Choice: bcmboard
+Support for Broadcom SiByte boards
+CONFIG_SIBYTE_SWARM
+ Enable support for boards based on the Broadcom SiByte family:
+
+ BCM91250A-SWARM BCM1250 ATX size Eval Board (BCM91250A-SWARM)
+
+ BCM91250E-Sentosa BCM1250 PCI card Eval Board (BCM91250E-Sentosa)
+
+ BCM91125E-Rhone BCM1125 PCI card Eval Board (BCM91125E-Rhone)
+
+ Other Non-Broadcom SiByte-based platform
+
+# Choice: bcmsoc
+Support for Broadcom BCM1xxx SOCs
+CONFIG_SIBYTE_SB1250
+
+ BCM1250 Dual-CPU SB1 with PCI and HyperTransport.
+
+ BCM1120 Uniprocessor SB1.
+
+ BCM1125 Uniprocessor SB1 with PCI (and HyperTransport for 1125H).
+
+BCM1250 Stepping
+CONFIG_CPU_SB1_PASS_1
+ Which pass of the SOC is supported (see the "system_revision"
+ register in the User Manual for more discussion of revisions):
+
+ Pass1 1250 "Pass 1"
+
+ An 1250 "Pass 2"
+
+ Bn 1250 "Pass 2.2"
+
+ Cn 1250 "Pass 3"
+
+BCM112x Stepping
+CONFIG_CPU_SB1_PASS_2
+ Which pass of the SOC is supported (see the "system_revision"
+ register in the User Manual for more discussion of revisions):
+
+ Hybrid 1250 "Pass 2"
+
+ An 112x "Pass 1"
+
+Booting from CFE
+CONFIG_SIBYTE_CFE
+ Make use of the CFE API for enumerating available memory,
+ controlling secondary CPUs, and possibly console output.
+
+Use firmware console
+CONFIG_SIBYTE_CFE_CONSOLE
+ Use the CFE API's console write routines during boot. Other console
+ options (VT console, sb1250 duart console, etc.) should not be
+ configured.
+
+Support for Bus Watcher statistics
+CONFIG_SIBYTE_BUS_WATCHER
+ Handle and keep statistics on the bus error interrupts (COR_ECC,
+ BAD_ECC, IO_BUS).
+
+Corelis Debugger
+CONFIG_SB1XXX_CORELIS
+ Select compile flags that produce code that can be processed by the
+ Corelis mksym utility and UDB Emulator.
+
+DMA for page clear and copy
+CONFIG_SIBYTE_DMA_PAGEOPS
+ Instead of using the CPU to zero and copy pages, use a Data Mover
+ channel. These DMA channels are otherwise unused by the standard
+ SiByte Linux port. Seems to give a small performance benefit.
+
Support for Galileo Evaluation board or CoSine Orion
CONFIG_ORION
Say Y if configuring for the Galileo evaluation board
@@ -2147,11 +2253,6 @@ CONFIG_JAZZ_ESP
4000, Acer PICA, Olivetti M700-10 and a few other identical OEM
systems.
-MIPS GT96100 support
-CONFIG_MIPS_GT96100
- Say Y here to support the Galileo Technology GT96100 communications
- controller card. There is a web page at <http://www.galileot.com/>.
-
MIPS GT96100 Ethernet support
CONFIG_MIPS_GT96100ETH
Say Y here to support the Ethernet subsystem on your GT96100 card.
@@ -2164,16 +2265,31 @@ CONFIG_SCSI_ZALON
workstations). Say Y here to make sure it gets initialized
correctly before the Linux kernel tries to talk to the controller.
-Kernel floating-point instruction emulation
-CONFIG_MIPS_FPU_EMULATOR
- This option enables the MIPS software floating support. Due to
- the way floating point works you should always enable this option
- unless you exactly know what you're doing.
-
SGI PROM Console Support
CONFIG_SGI_PROM_CONSOLE
Say Y here to set up the boot console on serial port 0.
+DECstation serial support
+CONFIG_SERIAL_DEC
+ This selects whether you want to be asked about drivers for
+ DECstation serial ports.
+
+ Note that the answer to this question won't directly affect the
+ kernel: saying N will just cause the configurator to skip all
+ the questions about DECstation serial ports.
+
+ If unsure, say Y.
+
+Support for console on a DECstation serial port
+CONFIG_SERIAL_DEC_CONSOLE
+ 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). Note that the firmware uses ttyS0 as the serial console on
+ the Maxine and ttyS2 on the others.
+
+ If unsure, say Y.
+
DZ11 Serial Support
CONFIG_DZ
DZ11-family serial controllers for VAXstations, including the
@@ -2293,6 +2409,8 @@ CONFIG_CPU_R3000
R10000 MIPS Technologies R10000-series processors.
+ SB1 Broadcom SiByte SB1 processor.
+
R6000
CONFIG_CPU_R6000
MIPS Technologies R6000-series processors, including the 64474,
@@ -2323,6 +2441,10 @@ R10000
CONFIG_CPU_R10000
MIPS Technologies R10000-series processors.
+SB1
+CONFIG_CPU_SB1
+ Broadcom SiByte SB1 processor.
+
Discontiguous Memory Support
CONFIG_DISCONTIGMEM
Say Y to support efficient handling of discontiguous physical memory,
@@ -2508,6 +2630,19 @@ CONFIG_IP_NF_CONNTRACK
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
+Amanda protocol support
+CONFIG_IP_NF_AMANDA
+ If you are running the Amanda backup package (http://www.amanda.org/)
+ on this machine or machines that will be MASQUERADED through this
+ machine, then you may want to enable this feature. This allows the
+ connection tracking and natting code to allow the sub-channels that
+ Amanda requires for communication of the backup data, messages and
+ index.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
+
IRC Send/Chat protocol support
CONFIG_IP_NF_IRC
There is a commonly-used extension to IRC called
@@ -2522,6 +2657,16 @@ CONFIG_IP_NF_IRC
If you want to compile it as a module, say 'M' here and read
Documentation/modules.txt. If unsure, say 'N'.
+TFTP protocol support
+CONFIG_IP_NF_TFTP
+ TFTP connection tracking helper, this is required depending
+ on how restrictive your ruleset is.
+ If you are using a tftp client behind -j SNAT or -j MASQUERADING
+ you will need this.
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `Y'.
+
FTP protocol support
CONFIG_IP_NF_FTP
Tracking FTP connections is problematic: special helpers are
@@ -2549,6 +2694,17 @@ CONFIG_IP_NF_IPTABLES
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
+recent match support
+CONFIG_IP_NF_MATCH_RECENT
+ This match is used for creating one or many lists of recently
+ used addresses and then matching against that/those list(s).
+
+ Short options are available by using 'iptables -m recent -h'
+ Official Website: <http://snowman.net/projects/ipt_recent/>
+
+ If you want to compile it as a module, say M here and read
+ Documentation/modules.txt. If unsure, say `N'.
+
limit match support
CONFIG_IP_NF_MATCH_LIMIT
limit matching allows you to control the rate at which a rule can be
@@ -3012,6 +3168,11 @@ CONFIG_IP6_NF_TARGET_MARK
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
+ARP payload mangling
+CONFIG_IP_NF_ARP_MANGLE
+ Allows altering the ARP packet payload: source and destination
+ hardware and network addresses.
+
TCP Explicit Congestion Notification support
CONFIG_INET_ECN
Explicit Congestion Notification (ECN) allows routers to notify
@@ -3301,7 +3462,7 @@ CONFIG_ALPHA_SRM
here. If MILO doesn't work on your system (true for Jensen
motherboards), you can bypass it altogether and boot Linux directly
from an SRM console; say Y here in order to do that. Note that you
- won't be able to boot from an IDE disk using SRM.
+ won't be able to boot from an IDE disk using old versions of SRM.
If unsure, say N.
@@ -3392,18 +3553,11 @@ CONFIG_SERIAL_MULTIPORT
servicing. Say Y here to enable the serial driver to take advantage
of those special I/O ports.
-SGI Zilog85C30 serial support
-CONFIG_SGI_SERIAL
- If you want to use your SGI's built-in serial ports under Linux,
+SGI IP22 Zilog85C30 serial support
+CONFIG_IP22_SERIAL
+ If you want to use your IP22's built-in serial ports under Linux,
answer Y.
-SGI Newport Graphics support
-CONFIG_SGI_NEWPORT_GFX
- If you have an SGI machine and you want to compile the graphics
- drivers, say Y here. This will include the code for the
- /dev/graphics and /dev/gfx drivers into the kernel for supporting
- virtualized access to your graphics hardware.
-
SGI Newport Console support
CONFIG_SGI_NEWPORT_CONSOLE
Say Y here if you want the console on the Newport aka XL graphics
@@ -3543,6 +3697,13 @@ CONFIG_AGP_AMD
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
+CONFIG_AGP_AMD_8151
+ This option gives you AGP support for the GLX component of
+ XFree86 on AMD K8 with an AGP 8151 chipset.
+
+ You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+ use GLX or DRI. If unsure, say N.
+
Generic SiS support
CONFIG_AGP_SIS
This option gives you AGP support for the GLX component of the "soon
@@ -3559,6 +3720,14 @@ CONFIG_AGP_SWORKS
Say Y here to support the Serverworks AGP card. See
<http://www.serverworks.com/> for product descriptions and images.
+NVIDIA chipset support
+CONFIG_AGP_NVIDIA
+ This option gives you AGP support for the GLX component of the
+ XFree86 4.x on NVIDIA nForce/nForce2 chipsets.
+
+ You should say Y here if you use XFree86 3.3.6 or 4.x and want to
+ use GLX or DRI. If unsure, say N.
+
ALI chipset support
CONFIG_AGP_ALI
This option gives you AGP support for the GLX component of the
@@ -3930,6 +4099,11 @@ CONFIG_TCIC
"Bridge" is the name used for the hardware inside your computer that
PCMCIA cards are plugged into. If unsure, say N.
+CONFIG_PCMCIA_SIBYTE
+ Say Y here to include support for the SiByte SOC's built-in PCMCIA
+ interface. Only ATA cards and CompactFlash are currently
+ supported.
+
System V IPC
CONFIG_SYSVIPC
Inter Process Communication is a suite of library functions and
@@ -4155,6 +4329,7 @@ CONFIG_M386
- "Winchip-2" for IDT Winchip 2.
- "Winchip-2A" for IDT Winchips with 3dNow! capabilities.
- "CyrixIII" for VIA Cyrix III or VIA C3.
+ - "VIA C3-2 for VIA C3-2 "Nehemiah" (model 9 and above).
If you don't know what to do, choose "386".
@@ -4176,6 +4351,13 @@ CONFIG_M586TSC
Select this for a Pentium Classic processor with the RDTSC (Read
Time Stamp Counter) instruction for benchmarking.
+VIA C3-2 (Nehemiah)
+CONFIG_MVIAC3_2
+ Select this for a VIA C3 "Nehemiah". Selecting this enables usage of SSE
+ and tells gcc to treat the CPU as a 686.
+
+ Note, this kernel will not boot on older (pre model 9) C3s.
+
32-bit PDC
CONFIG_PDC_NARROW
Saying Y here will allow developers with a C180, C200, C240, C360,
@@ -4416,7 +4598,7 @@ CONFIG_FB_TRIDENT
The driver is also available as a module ( = code which can be
inserted and removed from the running kernel whenever you want). The
- module will be called rivafb.o. If you want to compile it as a
+ module will be called tridentfb.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
ATI Mach64 display support
@@ -4442,21 +4624,20 @@ CONFIG_FB_ATY128
Maxine (Personal DECstation) onboard framebuffer support
CONFIG_FB_MAXINE
- Say Y here to directly support the on-board framebuffer in the
- Maxine (5000/20, /25, /33) version of the DECstation. There is a
- page dedicated to Linux on DECstations at <http://decstation.unix-ag.org/>.
+ Support for the onboard framebuffer (1024x768x8) in the Personal
+ DECstation series (Personal DECstation 5000/20, /25, /33, /50,
+ Codename "Maxine").
PMAG-BA TURBOchannel framebuffer support
CONFIG_FB_PMAG_BA
- Say Y here to directly support the on-board PMAG-BA framebuffer in
- the 5000/1xx versions of the DECstation. There is a page dedicated
- to Linux on DECstations at <http://decstation.unix-ag.org/>.
+ Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
+ used mainly in the MIPS-based DECstation series.
PMAGB-B TURBOchannel framebuffer support
CONFIG_FB_PMAGB_B
- Say Y here to directly support the on-board PMAGB-B framebuffer in
- the 5000/1xx versions of the DECstation. There is a page dedicated
- to Linux on DECstations at <http://decstation.unix-ag.org/>.
+ Support for the PMAGB-B TURBOchannel framebuffer card used mainly
+ in the MIPS-based DECstation series. The card is currently only
+ supported in 1280x1024x8 mode.
FutureTV PCI card
CONFIG_ARCH_FTVPCI
@@ -4563,14 +4744,11 @@ CONFIG_FB_STI
BIOS routines contained in a ROM chip in HP PA-RISC based machines.
Enabling this option will implement the linux framebuffer device and
an fbcon color text console using calls to the STI BIOS routines.
- The HP framebuffer device is usually planar, uses a strange memory
+ The HP framebuffer device is sometimes planar, using a strange memory
layout, and changing the plane mask to create colored pixels
- requires a call to the STI routines, so do not expect /dev/fb to
- actually be useful. However, it is the best we have as far as
- graphics on the HP chipsets due to lack of hardware level
- documentation for the various on-board HP chipsets used in these
- systems. It is sufficient for basic text console functions,
- including fonts.
+ can require a call to the STI routines, so /dev/fb may not actually
+ be useful. However, on some systems packed pixel formats are supported.
+ It is sufficient for basic text console functions, including fonts.
You should probably enable this option, unless you are having
trouble getting video when booting the kernel (make sure it isn't
@@ -4740,27 +4918,46 @@ CONFIG_FB_MATROX_MYSTIQUE
packed pixel and 32 bpp packed pixel. You can also use font widths
different from 8.
-Matrox G100/G200/G400/G450/G550 support
-CONFIG_FB_MATROX_G100
- Say Y here if you have a Matrox G100, G200, G400, G450, or G550
- based video card. If you select "Advanced lowlevel driver options",
- you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
- packed pixel and 32 bpp packed pixel. You can also use font widths
+CONFIG_FB_MATROX_G450
+ Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
+ video card. If you select "Advanced lowlevel driver options", you
+ should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
+ pixel and 32 bpp packed pixel. You can also use font widths
different from 8.
If you need support for G400 secondary head, you must first say Y to
"I2C support" and "I2C bit-banging support" in the character devices
section, and then to "Matrox I2C support" and "G400 second head
- support" here in the framebuffer section.
+ support" here in the framebuffer section. G450/G550 secondary head
+ and digital output are supported without additional modules.
- If you have G550, you must also compile support for G450/G550 secondary
- head into kernel, otherwise picture will be shown only on the output you
- are probably not using...
+ The driver starts in monitor mode. You must use the matroxset tool
+ (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
+ swap primary and secondary head outputs, or to change output mode.
+ Secondary head driver always start in 640x480 resolution and you
+ must use fbset to change it.
- If you need support for G450 or G550 secondary head, say Y to
- "Matrox G450/G550 second head support" below.
+ Do not forget that second head supports only 16 and 32 bpp
+ packed pixels, so it is a good idea to compile them into the kernel
+ too. You can use only some font widths, as the driver uses generic
+ painting procedures (the secondary head does not use acceleration
+ engine).
+
+ G450/G550 hardware can display TV picture only from secondary CRTC,
+ and it performs no scaling, so picture must have 525 or 625 lines.
+
+CONFIG_FB_MATROX_G100A
+ Say Y here if you have a Matrox G100, G200 or G400 based
+ video card. If you select "Advanced lowlevel driver options", you
+ should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
+ pixel and 32 bpp packed pixel. You can also use font widths
+ different from 8.
+
+ If you need support for G400 secondary head, you must first say Y to
+ "I2C support" and "I2C bit-banging support" in the character devices
+ section, and then to "Matrox I2C support" and "G400 second head
+ support" here in the framebuffer section.
-Matrox I2C support
CONFIG_FB_MATROX_I2C
This drivers creates I2C buses which are needed for accessing the
DDC (I2C) bus present on all Matroxes, an I2C bus which
@@ -4803,32 +5000,14 @@ CONFIG_FB_MATROX_MAVEN
painting procedures (the secondary head does not use acceleration
engine).
-Matrox G450 second head support
-CONFIG_FB_MATROX_G450
- Say Y or M here if you want to use a secondary head (meaning two
- monitors in parallel) on G450, or if you are using analog output
- of G550.
-
- If you compile it as module, two modules are created,
- matroxfb_crtc2.o and matroxfb_g450.o. Both modules are needed if you
- want two independent display devices.
-
- The driver starts in monitor mode and currently does not support
- output in TV modes. You must use the matroxset tool (available
- at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to swap
- primary and secondary head outputs. Secondary head driver always
- start in 640x480 resolution and you must use fbset to change it.
-
- Note on most G550 cards the analog output is the secondary head,
- so you will need to say Y here to use it.
-
- Also do not forget that second head supports only 16 and 32 bpp
- packed pixels, so it is a good idea to compile them into the kernel
- too. You can use only some font widths, as the driver uses generic
- painting procedures (the secondary head does not use acceleration
- engine).
-
-Matrox unified driver multihead support
+CONFIG_FB_MATROX_PROC
+ Say Y or M here if you want to access some informations about driver
+ state through /proc interface.
+
+ You should download matrox_pins tool (available at
+ <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to get human
+ readable output.
+
CONFIG_FB_MATROX_MULTIHEAD
Say Y here if you have more than one (supported) Matrox device in
your computer and you want to use all of them for different monitors
@@ -5424,11 +5603,6 @@ CONFIG_IP_ROUTE_VERBOSE
handled by the klogd daemon which is responsible for kernel messages
("man klogd").
-Large routing tables
-CONFIG_IP_ROUTE_LARGE_TABLES
- If you have routing zones that grow to more than about 64 entries,
- you may want to say Y here to speed up the routing process.
-
Fast network address translation
CONFIG_IP_ROUTE_NAT
If you say Y here, your router will be able to modify source and
@@ -6852,6 +7026,15 @@ CONFIG_ATM_FORE200E_DEBUG
the performances of the driver, and the size of your syslog files!
Keep the debugging level to 0 during normal operations.
+ForeRunner HE Series
+CONFIG_ATM_HE
+ This is a driver for the Marconi ForeRunner HE-series ATM adapter
+ cards. It simultaneously supports the 155 and 622 versions.
+
+Use S/UNI PHY driver
+ Support for the S/UNI-Ultra and S/UNI-622 found in the ForeRunner
+ HE cards. This driver provides carrier detection some statistics.
+
PPP over ATM
CONFIG_PPPOATM
Support PPP (Point to Point Protocol) encapsulated in ATM frames.
@@ -7238,47 +7421,40 @@ CONFIG_SCSI_AHA1740
Adaptec AIC7xxx support
CONFIG_SCSI_AIC7XXX
- This driver supports all of Adaptec's PCI based SCSI controllers
- (not the hardware RAID controllers though) as well as the aic7770
- based EISA and VLB SCSI controllers (the 274x and 284x series).
- This is an Adaptec sponsored driver written by Justin Gibbs. It is
- intended to replace the previous aic7xxx driver maintained by Doug
- Ledford since Doug is no longer maintaining that driver.
+ This driver supports all of Adaptec's Fast through Ultra 160 PCI
+ based SCSI controllers as well as the aic7770 based EISA and VLB
+ SCSI controllers (the 274x and 284x series). For AAA and ARO based
+ configurations, only SCSI functionality is provided.
If you want to compile the driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called aic7xxx.o.
-Adaptec I2O RAID support
-CONFIG_SCSI_DPT_I2O
- This driver supports all of Adaptec's I2O based RAID controllers as
- well as the DPT SmartRaid V cards. This is an Adaptec maintained
- driver by Deanna Bonds. See <file:drivers/scsi/README.dpti>.
-
- This driver is also available as a module ( = code which can be
- inserted in and removed from the running kernel whenever you want).
- If you want to compile it as a module, say M here and read
- <file:Documentation/modules.txt>. The module will be called
- dpt_i2o.o.
-
-Default number of TCQ commands per device
+Maximum number of TCQ commands per device
CONFIG_AIC7XXX_CMDS_PER_DEVICE
Specify the number of commands you would like to allocate per SCSI
device when Tagged Command Queueing (TCQ) is enabled on that device.
This is an upper bound value for the number of tagged transactions
to be used for any device. The aic7xxx driver will automatically
- vary this number based on device behaviour. For devices with a
+ vary this number based on device behavior. For devices with a
fixed maximum, the driver will eventually lock to this maximum
and display a console message indicating this value.
- Note: Unless you experience some type of device failure, the default
- value, no enforced limit, should work for you.
+ Due to resource allocation issues in the Linux SCSI mid-layer, using
+ a high number of commands per device may result in memory allocation
+ failures when many devices are attached to the system. For this reason,
+ the default is set to 32. Higher values may result in higer performance
+ on some devices. The upper bound is 253. 0 disables tagged queueing.
+
+ Per device tag depth can be controlled via the kernel command line
+ "tag_info" option. See drivers/scsi/aic7xxx/README.aic7xxx
+ for details.
- Default: 253
+ Default: 32
-Delay in seconds after SCSI bus reset
+Initial bus reset delay in milli-seconds
CONFIG_AIC7XXX_RESET_DELAY_MS
The number of milliseconds to delay after an initial bus reset.
The bus settle delay following all error recovery actions is
@@ -7286,16 +7462,43 @@ CONFIG_AIC7XXX_RESET_DELAY_MS
Default: 15000 (15 seconds)
-Build Adapter Firmware with Kernel Build
+Probe for EISA and VL AIC7XXX Adapters
+CONFIG_AIC7XXX_PROBE_EISA_VL
+ Probe for EISA and VLB Aic7xxx controllers. In many newer systems,
+ the invasive probes necessary to detect these controllers can cause
+ other devices to fail. For this reason, the non-PCI probe code is
+ disabled by default. The current value of this option can be "toggled"
+ via the no_probe kernel command line option.
+
CONFIG_AIC7XXX_BUILD_FIRMWARE
This option should only be enabled if you are modifying the firmware
source to the aic7xxx driver and wish to have the generated firmware
include files updated during a normal kernel build. The assembler
for the firmware requires lex and yacc or their equivalents, as well
as the db v1 library. You may have to install additional packages
- or modify the assembler make file or the files it includes if your
+ or modify the assembler Makefile or the files it includes if your
build environment is different than that of the author.
+Compile in Debugging Code
+CONFIG_AIC7XXX_DEBUG_ENABLE
+ Compile in aic7xxx debugging code that can be useful in diagnosing
+ driver errors.
+
+Debug code enable mask (2048 for all debugging)
+CONFIG_AIC7XXX_DEBUG_MASK
+ Bit mask of debug options that is only valid if the
+ CONFIG_AIC7XXX_DEBUG_ENBLE option is enabled. The bits in this mask
+ are defined in the drivers/scsi/aic7xxx/aic7xxx.h - search for the
+ variable ahc_debug in that file to find them.
+
+ Default: 0
+
+Decode registers during diagnostics
+CONFIG_AIC7XXX_REG_PRETTY_PRINT
+ Compile in register value tables for the output of expanded register
+ contents in diagnostics. This make it much easier to understand debug
+ output without having to refer to a data book and/or the aic7xxx.reg file.
+
Old Adaptec AIC7xxx support
CONFIG_SCSI_AIC7XXX_OLD
WARNING This driver is an older aic7xxx driver and is no longer
@@ -7404,6 +7607,83 @@ CONFIG_AIC7XXX_OLD_PROC_STATS
If unsure, say N.
+CONFIG_SCSI_AIC79XX
+ This driver supports all of Adaptec's Ultra 320 PCI-X based SCSI controllers.
+
+CONFIG_AIC79XX_CMDS_PER_DEVICE 32
+ Specify the number of commands you would like to allocate per SCSI
+ device when Tagged Command Queueing (TCQ) is enabled on that device.
+
+ This is an upper bound value for the number of tagged transactions
+ to be used for any device. The aic7xxx driver will automatically
+ vary this number based on device behavior. For devices with a
+ fixed maximum, the driver will eventually lock to this maximum
+ and display a console message indicating this value.
+
+ Due to resource allocation issues in the Linux SCSI mid-layer, using
+ a high number of commands per device may result in memory allocation
+ failures when many devices are attached to the system. For this reason,
+ the default is set to 32. Higher values may result in higer performance
+ on some devices. The upper bound is 253.
+
+ Per device tag depth can be controlled via the kernel command line
+ "tag_info" option. See drivers/scsi/aic7xxx/README.aic79xx
+ for details.
+
+ Default: 32
+
+CONFIG_AIC79XX_RESET_DELAY_MS 15000
+ The number of milliseconds to delay after an initial bus reset.
+ The bus settle delay following all error recovery actions is
+ dictated by the SCSI layer and is not affected by this value.
+
+ Default: 15000 (15 seconds)
+
+CONFIG_AIC79XX_BUILD_FIRMWARE
+ This option should only be enabled if you are modifying the firmware
+ source to the aic7xxx driver and wish to have the generated firmware
+ include files updated during a normal kernel build. The assembler
+ for the firmware requires lex and yacc or their equivalents, as well
+ as the db v1 library. You may have to install additional packages
+ or modify the assembler Makefile or the files it includes if your
+ build environment is different than that of the author.
+
+CONFIG_AIC79XX_ENABLE_RD_STRM
+ Read Streaming is a U320 protocol option that should enhance performance.
+ Early U320 drive firmware actually performs slower with read streaming
+ enabled so it is disabled by default. Read Streaming can be configured
+ in much the same way as tagged queueing using the "rd_strm" command line
+ option. See drivers/scsi/aic7xxx/README.aic79xx for details.
+
+CONFIG_AIC79XX_DEBUG_ENABLE
+ Compile in aic79xx debugging code that can be useful in diagnosing
+ driver errors.
+
+CONFIG_AIC79XX_DEBUG_MASK
+ Bit mask of debug options that is only valid if the
+ CONFIG_AIC79XX_DEBUG_ENBLE option is enabled. The bits in this mask
+ are defined in the drivers/scsi/aic7xxx/aic79xx.h - search for the
+ variable ahd_debug in that file to find them.
+
+ Default: 0
+
+CONFIG_AIC79XX_REG_PRETTY_PRINT
+ Compile in register value tables for the output of expanded register
+ contents in diagnostics. This make it much easier to understand debug
+ output without having to refer to a data book and/or the aic7xxx.reg file.
+
+Adaptec I2O RAID support
+CONFIG_SCSI_DPT_I2O
+ This driver supports all of Adaptec's I2O based RAID controllers as
+ well as the DPT SmartRaid V cards. This is an Adaptec maintained
+ driver by Deanna Bonds. See <file:drivers/scsi/README.dpti>.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>. The module will be called
+ dpt_i2o.o.
+
IBM ServeRAID support
CONFIG_SCSI_IPS
This is support for the IBM ServeRAID hardware RAID controllers.
@@ -7907,6 +8187,17 @@ CONFIG_SCSI_NCR53C8XX_PQS_PDS
The common answer here is N, but answering Y is safe.
+Workbit NinjaSCSI-32Bi/UDE support
+CONFIG_SCSI_NSP32
+ This is support for the Workbit NinjaSCSI-32Bi/UDE PCI/Cardbus
+ SCSI host adapter. Please read the SCSI-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called nsp32.o.
+
IBMMCA SCSI support
CONFIG_SCSI_IBMMCA
This is support for the IBM SCSI adapter found in many of the PS/2
@@ -9621,6 +9912,26 @@ CONFIG_FARSYNC
should add "alias syncX farsync" to /etc/modules.conf for each
interface, where X is 0, 1, 2, ...
+CONFIG_HDLC_DEBUG_PKT
+ This option is for developers only - do NOT use on production
+ systems.
+
+CONFIG_HDLC_DEBUG_HARD_HEADER
+ This option is for developers only - do NOT use on production
+ systems.
+
+CONFIG_HDLC_DEBUG_ECN
+ This option is for developers only - do NOT use on production
+ systems.
+
+CONFIG_HDLC_DEBUG_RINGS
+ If you answer Y here you will be able to get a diagnostic dump of
+ port's TX and RX packet rings, using "sethdlc hdlcX private"
+ command. It does not affect normal operations.
+
+ If unsure, say Y here.
+
+
Frame Relay (DLCI) support
CONFIG_DLCI
This is support for the frame relay protocol; frame relay is a fast
@@ -10816,6 +11127,15 @@ CONFIG_YELLOWFIN
say M here and read <file:Documentation/modules.txt>. This is
recommended. The module will be called yellowfin.o.
+Realtek 8169 Gigabit Ethernet support
+CONFIG_R8169
+ Say Y here if you have a Realtek 8169 PCI Gigabit Ethernet adapter.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. This is
+ recommended. The module will be called r8169.o.
+
General Instruments Surfboard 1000
CONFIG_NET_SB1000
This is a driver for the General Instrument (also known as
@@ -10875,31 +11195,41 @@ CONFIG_ACENIC_OMIT_TIGON_I
The safe and default value for this is N.
-SysKonnect SK-98xx support
+SysKonnect SK-98xx and SK-95xx Gigabit Ethernet Adapter family support
CONFIG_SK98LIN
- Say Y here if you have a SysKonnect SK-98xx Gigabit Ethernet Server
- Adapter. The following adapters are supported by this driver:
- - SK-9841 (single link 1000Base-LX)
- - SK-9842 (dual link 1000Base-LX)
- - SK-9843 (single link 1000Base-SX)
- - SK-9844 (dual link 1000Base-SX)
- - SK-9821 (single link 1000Base-T)
- - SK-9822 (dual link 1000Base-T)
- - SK-9861 (single link Volition connector)
- - SK-9862 (dual link Volition connector)
- The driver also supports the following adapters from Allied Telesyn:
- - AT2970...
-
- The dual link adapters support a link-failover feature. Read
- <file:Documentation/networking/sk98lin.txt> for information about
+ Say Y here if you have a SysKonnect SK-98xx or SK-95xx Gigabit
+ Ethernet Server Adapter. The following adapters are supported by
+ this driver:
+ - SK-9521 10/100/1000Base-T Adapter
+ - SK-9821 Gigabit Ethernet 1000Base-T Server Adapter
+ - SK-9822 Gigabit Ethernet 1000Base-T Dual Port Server Adapter
+ - SK-9841 Gigabit Ethernet 1000Base-LX Server Adapter
+ - SK-9842 Gigabit Ethernet 1000Base-LX Dual Port Server Adapter
+ - SK-9843 Gigabit Ethernet 1000Base-SX Server Adapter
+ - SK-9844 Gigabit Ethernet 1000Base-SX Dual Port Server Adapter
+ - SK-9861 Gigabit Ethernet 1000Base-SX Server Adapter
+ - SK-9862 Gigabit Ethernet 1000Base-SX Dual Port Server Adapter
+ - SK-9871 Gigabit Ethernet 1000Base-ZX Server Adapter
+ - SK-9872 Gigabit Ethernet 1000Base-ZX Dual Port Server Adapter
+ - SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter
+ - SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter
+ - SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter
+ - SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter
+ - SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter
+ - SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter
+
+ The adapters support Jumbo Frames.
+ The dual link adapters support link-failover and dual port features.
+ The V2.0 adapters support the scatter-gather functionality with
+ sendfile(). Read Documentation/networking/sk98lin.txt for information about
optional driver parameters.
Questions concerning this driver may be addressed to:
linux@syskonnect.de
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
- say M here and read <file:Documentation/modules.txt>. This is
- recommended. The module will be called sk98lin.o.
+ say M here and read Documentation/modules.txt. This is recommended.
+ The module will be called sk98lin.o.
Sun GEM support
CONFIG_SUNGEM
@@ -11038,6 +11368,7 @@ CONFIG_E1000
82544 PRO/1000 XF Server Adapter A50484-xxx
82544 PRO/1000 T Desktop Adapter A62947-xxx
82540 PRO/1000 MT Desktop Adapter A78408-xxx
+ 82541 PRO/1000 MT Desktop Adapter C91016-xxx
82545 PRO/1000 MT Server Adapter A92165-xxx
82546 PRO/1000 MT Dual Port Server Adapter A92111-xxx
82545 PRO/1000 MF Server Adapter A91622-xxx
@@ -11227,6 +11558,24 @@ CONFIG_VORTEX
say M here and read <file:Documentation/modules.txt>. The module
will be called 3c59x.o.
+3cr990 series "Typhoon" support
+CONFIG_TYPHOON
+ This option enables driver support for the 3cr990 series of cards:
+
+ 3C990-TX, 3CR990-TX-95, 3CR990-TX-97, 3CR990-FX-95, 3CR990-FX-97,
+ 3CR990SVR, 3CR990SVR95, 3CR990SVR97, 3CR990-FX-95 Server,
+ 3CR990-FX-97 Server, 3C990B-TX-M, 3C990BSVR
+
+ If you have a network (Ethernet) card of this type, say Y and read
+ the Ethernet-HOWTO, available from
+ <http://www.linuxdoc.org/docs.html#howto>.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called typhoon.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt> as well
+ as <file:Documentation/networking/net-modules.txt>.
+
Other ISA cards
CONFIG_NET_ISA
If your network (Ethernet) card hasn't been mentioned yet and its
@@ -11368,6 +11717,18 @@ CONFIG_E2100
module, say M here and read <file:Documentation/modules.txt> as well
as <file:Documentation/networking/net-modules.txt>.
+Broadcom 4400 ethernet support (EXPERIMENTAL)
+CONFIG_B44
+ If you have a network (Ethernet) controller of this type, say Y and
+ read the Ethernet-HOWTO, available from
+ <http://www.tldp.org/docs.html#howto>.
+
+ If you want to compile this as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt> as well as
+ <file:Documentation/networking/net-modules.txt>. The module will be
+ called b44.
+
CS89x0 support (Daynaport CS and LC cards)
CONFIG_CS89x0
Support for CS89x0 chipset based Ethernet cards. If you have a
@@ -11644,6 +12005,18 @@ CONFIG_PCNET32
module, say M here and read <file:Documentation/modules.txt> as well
as <file:Documentation/networking/net-modules.txt>.
+AMD 8111 (new PCI lance) support
+CONFIG_AMD8111_ETH
+ If you have an AMD 8111-based PCI lance ethernet card,
+ answer Y here and read the Ethernet-HOWTO, available from
+ <http://www.tldp.org/docs.html#howto>.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called amd8111e.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt> as well
+ as <file:Documentation/networking/net-modules.txt>.
+
Ansel Communications EISA 3200 support
CONFIG_AC3200
If you have a network (Ethernet) card of this type, say Y and read
@@ -11728,15 +12101,6 @@ CONFIG_TULIP
module, say M here and read <file:Documentation/modules.txt> as well
as <file:Documentation/networking/net-modules.txt>.
-New Tulip bus configuration
-CONFIG_TULIP_MWI
- This configures your Tulip card specifically for the card and
- system cache line size type you are using.
-
- This is experimental code, not yet tested on many boards.
-
- If unsure, say N.
-
Use PCI shared memory for NIC registers
CONFIG_TULIP_MMIO
Use PCI shared memory for the NIC registers, rather than going through
@@ -11771,6 +12135,13 @@ CONFIG_EEPRO100
a module, say M here and read <file:Documentation/modules.txt> as
well as <file:Documentation/networking/net-modules.txt>.
+Use PIO instead of MMIO
+CONFIG_EEPRO100_PIO
+ This instructs the driver to use programmed I/O ports (PIO) instead
+ of PCI shared memory (MMIO). This can possibly solve some problems
+ in case your mainboard has memory consistency issues. If unsure,
+ say N.
+
Enable Power Management
CONFIG_EEPRO100_PM
Many Intel EtherExpress PRO/100 PCI network cards are capable
@@ -12649,10 +13020,18 @@ CONFIG_QUOTA
If you say Y here, you will be able to set per user limits for disk
usage (also called disk quotas). Currently, it works only for the
ext2 file system. You need additional software in order to use quota
- support; for details, read the Quota mini-HOWTO, available from
+ support (you can download sources from
+ <http://www.sf.net/projects/linuxquota/>). For further details, read
+ the Quota mini-HOWTO, available from
<http://www.tldp.org/docs.html#howto>. Probably the quota
support is only useful for multi user systems. If unsure, say N.
+VFS v0 quota format support
+CONFIG_QFMT_V2
+ This quota format allows using quotas with 32-bit UIDs/GIDs. If you
+ need this functionality say Y here. Note that you will need latest
+ quota utilities for new quota format with this kernel.
+
Memory Technology Device (MTD) support
CONFIG_MTD
Memory Technology Devices are flash, RAM and similar chips, often
@@ -12713,22 +13092,40 @@ CONFIG_MTD_REDBOOT_PARTS
<file:Documentation/modules.txt>. The module will be called
redboot.o
-Compaq bootldr partition table parsing
-CONFIG_MTD_BOOTLDR_PARTS
- The Compaq bootldr deals with multiple 'images' in flash devices
- by putting a table in one of the first erase blocks of the device,
- similar to a partition table, which gives the offsets, lengths and
- names of all the images stored in the flash.
-
- If you need code which can detect and parse this table, and register
- MTD 'partitions' corresponding to each image in the table, enable
- this option.
+CONFIG_MTD_CMDLINE_PARTS
+ Allow generic configuration of the MTD paritition tables via the kernel
+ command line. Multiple flash resources are supported for hardware where
+ different kinds of flash memory are available.
You will still need the parsing functions to be called by the driver
for your particular device. It won't happen automatically. The
SA1100 map driver (CONFIG_MTD_SA1100) has an option for this, for
example.
+ The format for the command line is as follows:
+
+ mtdparts=<mtddef>[;<mtddef]
+ <mtddef> := <mtd-id>:<partdef>[,<partdef>]
+ <partdef> := <size>[@offset][<name>][ro]
+ <mtd-id> := unique id used in mapping driver/device
+ <size> := standard linux memsize OR "-" to denote all
+ remaining space
+ <name> := (NAME)
+
+ Due to the way Linux handles the command line, no spaces are
+ allowed in the partition definition, including mtd id's and partition
+ names.
+
+ Examples:
+
+ 1 flash resource (mtd-id "sa1100"), with 1 single writable partition:
+ mtdparts=sa1100:-
+
+ Same flash, but 2 named partitions, the first one being read-only:
+ mtdparts=sa1100:256k(ARMboot)ro,-(root)
+
+ If unsure, say 'N'.
+
ARM Firmware Suite flash layout / partition parsing
CONFIG_MTD_AFS_PARTS
The ARM Firmware Suite allows the user to divide flash devices into
@@ -12896,6 +13293,10 @@ CONFIG_MTD_CFI_B4
If you wish to support CFI devices on a physical bus which is
32 bits wide, say 'Y'.
+CONFIG_MTD_CFI_B8
+ If you wish to support CFI devices on a physical bus which is
+ 64 bits wide, say 'Y'.
+
Support 1-chip flash interleave
CONFIG_MTD_CFI_I1
If your flash chips are not interleaved - i.e. you only have one
@@ -12911,6 +13312,10 @@ CONFIG_MTD_CFI_I4
If your flash chips are interleaved in fours - i.e. you have four
flash chips addressed by each bus cycle, then say 'Y'.
+CONFIG_MTD_CFI_I8
+ If your flash chips are interleaved in eights - i.e. you have eight
+ flash chips addressed by each bus cycle, then say 'Y'.
+
# Choice: mtd_data_swap
Flash cmd/query data swapping
CONFIG_MTD_CFI_NOSWAP
@@ -12975,6 +13380,11 @@ CONFIG_MTD_AMDSTD
<file:Documentation/modules.txt>. The module will be called
amd_flash.o
+CONFIG_MTD_CFI_STAA
+ The Common Flash Interface defines a number of different command
+ sets which a CFI-compliant chip may claim to implement. This code
+ provides support for one of those command sets.
+
Support for RAM chips in bus mapping
CONFIG_MTD_RAM
This option enables basic support for RAM chips accessed through
@@ -13395,6 +13805,18 @@ CONFIG_MTD_SLRAM
<file:Documentation/modules.txt>. The module will be called
slram.o
+DEC MS02-NV NVRAM module support
+CONFIG_MTD_MS02NV
+ This is a MTD driver for the DEC's MS02-NV (54-20948-01) battery
+ backed-up NVRAM module. The module was originally meant as an NFS
+ accelerator. Say Y here if you have a DECstation 5000/2x0 or a
+ DECsystem 5900 equipped with such a module.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module will
+ be called ms02-nv.o.
+
Debugging RAM test driver
CONFIG_MTD_MTDRAM
This enables a test MTD device driver which uses vmalloc() to
@@ -13764,11 +14186,27 @@ CONFIG_USB_WACOM
The module will be called wacom.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
-Aiptek 6000U/8000U tablet support
+Griffin Technology PowerMate support
+CONFIG_USB_POWERMATE
+ Say Y here if you want to use the Griffin Technology, Inc. USB
+ PowerMate device. This device is an aluminum dial which can
+ measure clockwise and anticlockwise rotation. The dial also
+ acts as a pushbutton. The base contains an LED which can be
+ instructed to pulse or to switch to a particular intensity.
+
+ You can download userspace tools from http://sowerbutts.com/powermate/
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called powermate.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
+Aiptek HyperPen tablet support
CONFIG_USB_AIPTEK
- Say Y here if you want to use the USB version of the Aiptek 6000U/8000U
- tablet. Make sure to say Y to "Event interface support"
- (CONFIG_INPUT_EVDEV) as well.
+ Say Y here if you want to use the USB version of the Aiptek HyperPen
+ Digital Tablet (models 4000U, 5000U, 6000U, 8000U, and 12000U.)
+ Make sure to say Y to "Mouse support" (CONFIG_INPUT_MOUSEDEV) and/or
+ "Event interface support" (CONFIG_INPUT_EVDEV) as well.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
@@ -13858,8 +14296,8 @@ CONFIG_INPUT_EVDEV
USB Scanner support
CONFIG_USB_SCANNER
Say Y here if you want to connect a USB scanner to your computer's
- USB port. Please read <file:Documentation/usb/scanner.txt> and
- <file:Documentation/usb/scanner-hp-sane.txt> for more information.
+ USB port. Please read <file:Documentation/usb/scanner.txt> for more
+ information.
This code is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
@@ -13955,10 +14393,10 @@ CONFIG_USB_SERIAL_VISOR
The module will be called visor.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
-USB Compaq iPAQ Driver
+USB PocketPC PDA Driver
CONFIG_USB_SERIAL_IPAQ
- Say Y here if you want to connect to your Compaq iPAQ, HP Jornada 548/568
- or Casio EM500 running Windows CE 3.0 or PocketPC 2002 using a USB
+ Say Y here if you want to connect to your Compaq iPAQ, HP Jornada,
+ or any other PDA running Windows CE 3.0 or PocketPC 2002 using a USB
cradle/cable. For information on using the driver,
read <file:Documentation/usb/usb-serial.txt>.
@@ -14145,6 +14583,17 @@ CONFIG_USB_SERIAL_PL2303
The module will be called pl2303.o. If you want to compile it as
a module, say M here and read <file:Documentation/modules.txt>.
+USB KOBIL chipcard reader
+CONFIG_USB_SERIAL_KOBIL_SCT
+ Say Y here if you want to use one of the following KOBIL USB chipcard
+ readers: TWIN, KAAN Standard Plus, SecOVID Reader Plus, B1 PRO, KAAN PRO
+
+ Note that you need a current CT-API.
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called kobil_sct.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
USB REINER SCT cyberJack pinpad/e-com chipcard reader
CONFIG_USB_SERIAL_CYBERJACK
Say Y here if you want to use a cyberJack pinpad/e-com USB chipcard
@@ -14235,6 +14684,21 @@ CONFIG_USB_IBMCAM
you load the module. Read <file:Documentation/usb/ibmcam.txt> to
learn more.
+CONFIG_USB_KONICAWC
+ Say Y here if you want support for webcams based on a Konica
+ chipset. This is known to work with the Intel YC76 webcam.
+
+ This driver uses the Video For Linux API. You must enable
+ (Y or M in config) Video For Linux (under Character Devices)
+ to use this driver. Information on this API and pointers to
+ "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called konicawc.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
USB OV511 Camera support
CONFIG_USB_OV511
Say Y here if you want to connect this type of camera to your
@@ -14361,7 +14825,7 @@ CONFIG_USB_PEGASUS
If in doubt then look at linux/drivers/usb/pegasus.h for the complete
list of supported devices.
If your particular adapter is not in the list and you are _sure_ it
- is Pegasus or Pegasus-II based then send me (pmanolov@users.sourceforge.net)
+ is Pegasus or Pegasus-II based then send me (petkan@users.sourceforge.net)
vendor and device IDs.
This code is also available as a module ( = code which can be
@@ -14439,6 +14903,24 @@ CONFIG_USB_CATC
The module will be called catc.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
+USB ASIX AX88172 based ethernet device support
+CONFIG_USB_AX8817X
+ Say Y if you want to use one of the following 10/100 USB2 Ethernet
+ devices based on the ASIX AX88172 chip. Supported devices are:
+ Linksys USB200M
+ Netgear FA120
+ D-Link DUB-E100
+ Hawking UF200
+
+ This driver makes the adapter appear as a normal Ethernet interface,
+ typically on eth0, if it is the only ethernet device, or perhaps on
+ eth1, if you have a PCI or ISA ethernet card installed.
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called ax8817x.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>.
+
USB Kodak DC-2xx Camera support
CONFIG_USB_DC2XX
Say Y here if you want to connect this type of still camera to your
@@ -14620,7 +15102,7 @@ CONFIG_USB_RIO500
The module will be called rio500.o. If you want to compile it as
a module, say M here and read <file:Documenatation/modules.txt>.
-USB Auerswald ISDN device support
+Auerswald device support
CONFIG_USB_AUERSWALD
Say Y here if you want to connect an Auerswald USB ISDN Device
to your computer's USB port.
@@ -14630,8 +15112,18 @@ CONFIG_USB_AUERSWALD
The module will be called auerswald.o. If you want to compile it as
a module, say M here and read <file:Documenatation/modules.txt>
+USB Auerswald ISDN modem support
+CONFIG_USB_AUERISDN
+ Say Y here if you want to enable the ISDN modem option
+ of your Auerswald ISDN devices.
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called auerswald.o. If you want to compile it as
+ a module, say M here and read <file:Documenatation/modules.txt>
+
CONFIG_USB_TIGL
- If you own a Texas Instruments graphing calculator and use a
+ If you own a Texas Instruments graphing calculator and use a
TI-GRAPH LINK USB cable (aka SilverLink), then you might be
interested in this driver.
@@ -14649,6 +15141,28 @@ CONFIG_USB_TIGL
If unsure, say N.
+Texas Instruments parallel link cable support
+CONFIG_TIPAR
+ If you own a Texas Instruments graphing calculator and use a
+ parallel link cable, then you might be interested in this driver.
+
+ If you enable this driver, you will be able to communicate with
+ your calculator through a set of device nodes under /dev. The
+ main advantage of this driver is that you don't have to be root
+ to use this precise link cable (depending on the permissions on
+ the device nodes, though).
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called tipar.o. If you want to compile it as a
+ module, say M here and read <file:Documentation/modules.txt>
+
+ If you don't know what a parallel link cable is or what a Texas
+ Instruments graphing calculator is, then you probably don't need this
+ driver.
+
+ If unsure, say N.
+
Tieman Voyager USB Braille display support
CONFIG_USB_BRLVOYAGER
Say Y here if you want to use the Voyager USB Braille display from
@@ -14696,6 +15210,17 @@ CONFIG_BLK_DEV_UBD
Unless you know that you do not need such virtual block devices say
Y here.
+Alcatel Speedtouch USB support
+CONFIG_USB_SPEEDTOUCH
+ Say Y here if you have an Alcatel SpeedTouch USB or SpeedTouch 330
+ modem. In order to use your modem you will need to install some user
+ space tools, see <http://www.linux-usb.org/SpeedTouch/> for details.
+
+ This code is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module will be called speedtch.o. If you want to compile it as
+ a module, say M here and read <file:Documentation/modules.txt>.
+
Always do synchronous disk IO for UBD
CONFIG_BLK_DEV_UBD_SYNC
Writes to the virtual block device are not immediately written to the host's
@@ -15102,8 +15627,7 @@ USB Bluetooth support
CONFIG_USB_BLUETOOTH
Say Y here if you want to connect a USB Bluetooth device to your
computer's USB port. You will need the Bluetooth stack (available
- at <http://developer.axis.com/software/index.shtml>) to fully use
- the device.
+ at <http://developer.axis.com/software>) to fully use the device.
This code is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
@@ -15744,6 +16268,30 @@ CONFIG_NFS_V3
If unsure, say N.
+Allow direct I/O on files in NFS
+CONFIG_NFS_DIRECTIO
+ There are important applications whose performance or correctness
+ depends on uncached access to file data. Database clusters (multiple
+ copies of the same instance running on separate hosts) implement their
+ own cache coherency protocol that subsumes the NFS cache protocols.
+ Applications that process datasets considerably larger than the client's
+ memory do not always benefit from a local cache. A streaming video
+ server, for instance, has no need to cache the contents of a file.
+
+ This option enables applications to perform direct I/O on files in NFS
+ file systems using the O_DIRECT open() flag. When O_DIRECT is set for
+ files, their data is not cached in the system's page cache. Direct
+ read and write operations are aligned to block boundaries. Data is
+ moved to and from user-level application buffers directly.
+
+ Unless your program is designed to use O_DIRECT properly, you are much
+ better off allowing the NFS client to manage caching for you. Misusing
+ O_DIRECT can cause poor server performance or network storms. This
+ kernel build option defaults OFF to avoid exposing system administrators
+ unwittingly to a potentially hazardous feature.
+
+ If unsure, say N.
+
Root file system on NFS
CONFIG_ROOT_NFS
If you want your Linux box to mount its whole root file system (the
@@ -15900,7 +16448,7 @@ CONFIG_AFFS_FS
say M here and read <file:Documentation/modules.txt>. If unsure,
say N.
-Apple Macintosh file system support
+Apple HFS file system support
CONFIG_HFS_FS
If you say Y here, you will be able to mount Macintosh-formatted
floppy disks and hard drive partitions with full read-write access.
@@ -15913,6 +16461,21 @@ CONFIG_HFS_FS
compile it as a module, say M here and read
<file:Documentation/modules.txt>.
+Apple HFS+ (Extended HFS) file system support
+CONFIG_HFSPLUS_FS
+ If you say Y here, you will be able to mount extended format
+ Macintosh-formatted hard drive partitions with full read-write access.
+
+ This file system is often called HFS+ and was introduced with
+ MacOS 8. It includes all Mac specific filesystem data such as
+ data forks and creator codes, but it also has several UNIX
+ style features such as file ownership and permissions.
+
+ This file system is also available as a module ( = code which can
+ be inserted in and removed from the running kernel whenever you
+ want). The module is called hfsplus.o. If you want to compile it
+ as a module, say M here and read Documentation/modules.txt.
+
ROM file system support
CONFIG_ROMFS_FS
This is a very small read-only file system mainly intended for
@@ -17228,6 +17791,13 @@ CONFIG_SERIAL_CONSOLE
If unsure, say N.
+Support for serial port described by EFI HCDP table
+CONFIG_SERIAL_HCDP
+ If you wish to make the serial console port described by the EFI
+ HCDP table available for use as serial console or general
+ purpose port, say Y here. See
+ <http://www.dig64.org/specifications/DIG64_HCDPv10a_01.pdf>.
+
Support for PowerMac serial ports
CONFIG_MAC_SERIAL
If you have Macintosh style serial ports (8 pin mini-DIN), say Y
@@ -17811,6 +18381,16 @@ CONFIG_ITE_I2C_ADAP
<file:Documentation/modules.txt>.
The module will be called i2c-adap-ite.o.
+SiByte I2C Algorithm
+CONFIG_I2C_ALGO_SIBYTE
+ Supports the SiByte SOC on-chip I2C interfaces (2 channels).
+
+MAX1617 Temperature Sensor
+CONFIG_I2C_MAX1617
+ This builds a simple polling driver for the Maxim 1617 temperature
+ sensor. Currently the device is only supported on a SiByte I2C
+ adapter, and the driver prints status updates to the system log.
+
I2C device interface
CONFIG_I2C_CHARDEV
Say Y here to use i2c-* device files, usually found in the /dev
@@ -18543,6 +19123,25 @@ CONFIG_ACPI
The ACPI Sourceforge project may also be of interest:
<http://sf.net/projects/acpi/>
+ACPI Processor Enumeration for HT
+CONFIG_ACPI_HT_ONLY
+ ACPI enumerates both logical (a.k.a. Hyper-Threaded -- HT)
+ and physical processors. It is designed to obsolete several older
+ specifications, including the MultiProcessor Specification (MPS),
+ which supported only physical processors.
+
+ CONFIG_ACPI_HT_ONLY includes just the minimal ACPI boot-time code
+ necessary to enumerate logical processors and enable HT.
+
+ CONFIG_ACPI includes this code, plus IO APIC enumeration,
+ and the hooks to run the ACPI AML interpreter for run-time events.
+
+ When CONFIG_ACPI is selected, the command-line option "acpi=ht"
+ is available to run just the ACPI boot-time code -- just as if
+ only CONFIG_ACPI_HT_ONLY were selected.
+
+ Note that "acpi=off" can be used to disable all ACPI code in the kernel.
+
Enable ACPI 2.0 with errata 1.3
CONFIG_ACPI20
Enable support for the 2.0 version of the ACPI interpreter. See the
@@ -18559,6 +19158,14 @@ CONFIG_ACPI_DEBUG
of verbosity. Saying Y enables these statements. This will increase
your kernel size by around 50K.
+ACPI Relaxed AML Checking
+CONFIG_ACPI_RELAXED_AML
+ If you say `Y' here, the ACPI interpreter will relax its checking
+ for valid AML and will ignore some AML mistakes, such as off-by-one
+ errors in region sizes. Some laptops may require this option. In
+ particular, many Toshiba laptops require this for correct operation
+ of the AC module.
+
ACPI Bus Manager
CONFIG_ACPI_BUSMGR
The ACPI Bus Manager enumerates devices in the ACPI namespace, and
@@ -18584,6 +19191,20 @@ CONFIG_ACPI_BUTTON
down the system. Until then, you can cat it, and see output when
a button is pressed.
+CONFIG_ACPI_BATTERY
+ This driver adds support for battery information through
+ /proc/acpi/battery. If you have a mobile system with a battery,
+ say Y.
+
+CONFIG_ACPI_FAN
+ This driver adds support for ACPI fan devices, allowing user-mode
+ applications to perform basic fan control (on, off, status).
+
+CONFIG_ACPI_PROCESSOR
+ This driver installs ACPI as the idle handler for Linux, and uses
+ ACPI C2 and C3 processor states to save power, on systems that
+ support it.
+
ACPI AC Adapter
CONFIG_ACPI_AC
This driver adds support for the AC Adapter object, which indicates
@@ -18606,6 +19227,53 @@ CONFIG_ACPI_THERMAL
This driver handles overheating conditions on laptops. It is HIGHLY
recommended, as your laptop CPU may be damaged without it.
+ACPI ASUS/Medion Laptop Extras
+CONFIG_ACPI_ASUS
+ This driver provides support for extra features of ACPI-compatible
+ ASUS laptops. As some of Medion laptops are made by ASUS, it may also
+ support some Medion laptops (such as 9675 for example). It makes all
+ the extra buttons generate standard ACPI events that go through
+ /proc/acpi/events, and (on some models) adds support for changing the
+ display brightness and output, switching the LCD backlight on and off,
+ and most importantly, allows you to blink those fancy LEDs intended
+ for reporting mail and wireless status.
+
+ All settings are changed via /proc/acpi/asus directory entries. Owner
+ and group for these entries can be set with asus_uid and asus_gid
+ parameters.
+
+ More information and a userspace daemon for handling the extra buttons
+ at <http://sourceforge.net/projects/acpi4asus/>.
+
+ If you have an ACPI-compatible ASUS laptop, say Y or M here. This
+ driver is still under development, so if your laptop is unsupported or
+ something works not quite as expected, please use the mailing list
+ available on the above page (acpi4asus-user@lists.sourceforge.net)
+
+ACPI Toshiba Laptop Extras
+CONFIG_ACPI_TOSHIBA
+ This driver adds support for access to certain system settings
+ on "legacy free" Toshiba laptops. These laptops can be recognized by
+ their lack of a BIOS setup menu and APM support.
+
+ On these machines, all system configuration is handled through the
+ ACPI. This driver is required for access to controls not covered
+ by the general ACPI drivers, such as LCD brightness, video output,
+ etc.
+
+ This driver differs from the non-ACPI Toshiba laptop driver (located
+ under "Processor type and features") in several aspects.
+ Configuration is accessed by reading and writing text files in the
+ /proc tree instead of by program interface to /dev. Furthermore, no
+ power management functions are exposed, as those are handled by the
+ general ACPI drivers.
+
+ More information about this driver is available at
+ <http://memebeam.org/toys/ToshibaAcpiDriver>.
+
+ If you have a legacy free Toshiba laptop (such as the Libretto L1
+ series), say Y.
+
Advanced Power Management BIOS support
CONFIG_APM
APM is a BIOS specification for saving power using several different
@@ -19112,6 +19780,45 @@ CONFIG_RTC
The module is called rtc.o. If you want to compile it as a module,
say M here and read <file:Documentation/modules.txt>.
+Generic MIPS RTC Support
+CONFIG_MIPS_RTC
+
+ If your machine is a MIPS machine, this option provides a simple,
+ generic RTC driver for /dev/rtc device. It only implements two IOCTL
+ operations of the standard PC RTC driver: RTC_RD_TIME and RTC_SET_TIME.
+ It is sufficient to run hwclock program.
+
+ You should say Y here if there is no machine-specific RTC driver for your
+ MIPS machine but you do want a simple RTC driver for your RTC device.
+
+Generic Real Time Clock Support
+CONFIG_GEN_RTC
+ 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.
+
+ In 2.4 and later kernels this is the only way to set and get rtc
+ time on m68k systems so it is highly recommended.
+
+ It reports status information via the file /proc/driver/rtc and its
+ behaviour is set by various ioctls on /dev/rtc. If you enable the
+ "extended RTC operation" below it will also provide an emulation
+ for RTC_UIE which is required by some programs and may improve
+ precision in some cases.
+
+ This driver is also available as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want).
+ The module is called genrtc.o. If you want to compile it as a module,
+ say M here and read <file:Documentation/modules.txt>. To load the
+ module automatically add 'alias char-major-10-135 genrtc' to your
+ /etc/modules.conf
+
+Extended RTC operation
+CONFIG_GEN_RTC_X
+ Provides an emulation for RTC_UIE which is required by some programs
+ and may improve precision of the generic RTC support in some cases.
+
Tadpole ANA H8 Support
CONFIG_H8
The Hitachi H8/337 is a microcontroller used to deal with the power
@@ -19205,10 +19912,11 @@ CONFIG_INPUT_CS461X
The module will be called cs461x.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
-Aureal Vortex and Trident 4DWave gameports
+Aureal Vortex, Trident 4DWave, and ALi 5451 gameports
CONFIG_INPUT_PCIGAME
Say Y here if you have a Trident 4DWave DX/NX or Aureal Vortex 1/2
- card. For more information on how to use the driver please read
+ card or an ALi 5451 chip on your motherboard. For more information
+ on how to use the driver please read
<file:Documentation/input/joystick.txt>.
This driver is also available as a module ( = code which can be
@@ -19833,6 +20541,14 @@ CONFIG_SOUND_CS4232
See <file:Documentation/sound/CS4232> for more information on
configuring this card.
+Support for Crystal CS4297a on SiByte syncser
+CONFIG_SOUND_BCM_CS4297A
+ The BCM91250A has a Crystal CS4297a on synchronous serial port B (in
+ addition to the DB-9 serial port). Say Y or M here to enable the
+ sound chip instead of the UART. Also note that CONFIG_KGDB should
+ not be enabled at the same time, since it also attempts to use this
+ UART port.
+
Support for Yamaha OPL3-SA2 and SA3 based PnP cards
CONFIG_SOUND_OPL3SA2
Say Y or M if you have a card based on one of these Yamaha sound
@@ -20435,6 +21151,23 @@ CONFIG_MIPS32_COMPAT
compatibility. Since all software available for Linux/MIPS is
currently 32-bit you should say Y here.
+Kernel support for o32 binaries
+CONFIG_MIPS32_O32
+ Select this option if you want to run o32 binaries. These are pure
+ 32-bit binaries as used by the 32-bit Linux/MIPS port. Most of
+ existing binaries are in this format.
+
+ If unsure, say Y.
+
+Kernel support for n32 binaries
+CONFIG_MIPS32_N32
+ Select this option if you want to run n32 binaries. These are
+ 64-bit binaries using 32-bit quantities for addressing and certain
+ data that would normally be 64-bit. They are used in special
+ cases.
+
+ If unsure, say N.
+
Build fp exception handler module
CONFIG_MIPS_FPE_MODULE
Build the floating point exception handler module. This option is
@@ -20503,19 +21236,12 @@ CONFIG_NINO_16MB
Palm PCs from Philips (INCOMPLETE).
Model-300/301/302/319
-Low-level debugging
-CONFIG_LL_DEBUG
- Enable low-level debugging assertion macros in the kernel code.
- Currently used only by the time services code in the MIPS port.
- Don't turn this on unless you know what you are doing.
-
-Remote GDB kernel debugging
-CONFIG_REMOTE_DEBUG
- If you say Y here, it will be possible to remotely debug the MIPS
- kernel using gdb. This enlarges your kernel image disk size by
- several megabytes and requires a machine with more than 16 MB,
- better 32 MB RAM to avoid excessive linking time. This is only
- useful for kernel hackers. If unsure, say N.
+Enable run-time debugging
+CONFIG_RUNTIME_DEBUG
+ If you say Y here, some debugging macros will do run-time checking.
+ If you say N here, those macros will mostly turn to no-ops. Currently
+ supported by MIPS arch. See include/asm-mips/debug.h for debuging macros.
+ If unsure, say N.
Run uncached
CONFIG_MIPS_UNCACHED
@@ -20585,6 +21311,17 @@ CONFIG_ISDN_PPP
feature. See <file:Documentation/isdn/README.syncppp> and
<file:Documentation/isdn/syncPPP.FAQ> for more information.
+PPP filtering for ISDN
+CONFIG_IPPP_FILTER
+ Say Y here if you want to be able to filter the packets passing over
+ IPPP interfaces. This allows you to control which packets count as
+ activity (i.e. which packets will reset the idle timer or bring up
+ a demand-dialled link) and which packets are to be dropped entirely.
+ You need to say Y here if you wish to use the pass-filter and
+ active-filter options to ipppd.
+
+ If unsure, say N.
+
Support generic MP (RFC 1717)
CONFIG_ISDN_MPP
With synchronous PPP enabled, it is possible to increase throughput
@@ -21431,6 +22168,9 @@ CONFIG_BLUEZ
HCI Device drivers (interface to the hardware)
L2CAP Module (L2CAP protocol)
SCO Module (SCO links)
+ RFCOMM Module (RFCOMM protocol)
+ BNEP Module (BNEP protocol)
+ CMTP Module (CMTP protocol)
Say Y here to enable Linux Bluetooth support and to build BlueZ Core
layer.
@@ -21459,6 +22199,19 @@ CONFIG_BLUEZ_SCO
Say Y here to compile SCO support into the kernel or say M to
compile it as module (sco.o).
+RFCOMM protocol support
+CONFIG_BLUEZ_RFCOMM
+ RFCOMM provides connection oriented stream transport. RFCOMM
+ support is required for Dialup Networking, OBEX and other Bluetooth
+ applications.
+
+ Say Y here to compile RFCOMM support into the kernel or say M to
+ compile it as module (rfcomm.o).
+
+RFCOMM TTY emulation support
+CONFIG_BLUEZ_RFCOMM_TTY
+ This option enables TTY emulation support for RFCOMM channels.
+
BNEP protocol support
CONFIG_BLUEZ_BNEP
BNEP (Bluetooth Network Encapsulation Protocol) is Ethernet
@@ -21472,6 +22225,23 @@ CONFIG_BLUEZ_BNEP
Say Y here to compile BNEP support into the kernel or say M to
compile it as module (bnep.o).
+CMTP protocol support
+CONFIG_BLUEZ_CMTP
+ CMTP (CAPI Message Transport Protocol) is a transport layer
+ for CAPI messages. CMTP is required for the Bluetooth Common
+ ISDN Access Profile.
+
+ Say Y here to compile CMTP support into the kernel or say M to
+ compile it as module (cmtp.o).
+
+BNEP multicast filter support
+CONFIG_BLUEZ_BNEP_MC_FILTER
+ This option enables the multicast filter support for BNEP.
+
+BNEP protocol filter support
+CONFIG_BLUEZ_BNEP_PROTO_FILTER
+ This option enables the protocol filter support for BNEP.
+
HCI UART driver
CONFIG_BLUEZ_HCIUART
Bluetooth HCI UART driver.
@@ -21486,11 +22256,26 @@ CONFIG_BLUEZ_HCIUART
HCI UART (H4) protocol support
CONFIG_BLUEZ_HCIUART_H4
UART (H4) is serial protocol for communication between Bluetooth
- device and host. This protocol is required for most UART based
- Bluetooth device (including PCMCIA and CF).
+ device and host. This protocol is required for most Bluetooth devices
+ with UART interface, including PCMCIA and CF cards.
Say Y here to compile support for HCI UART (H4) protocol.
+HCI BCSP protocol support
+CONFIG_BLUEZ_HCIUART_BCSP
+ BCSP (BlueCore Serial Protocol) is serial protocol for communication
+ between Bluetooth device and host. This protocol is required for non
+ USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
+ CF cards.
+
+ Say Y here to compile support for HCI BCSP protocol.
+
+HCI BCSP transmit CRC with every BCSP packet
+CONFIG_BLUEZ_HCIUART_BCSP_TXCRC
+ If you say Y here, a 16-bit CRC checksum will be transmitted along with
+ every BCSP (BlueCore Serial Protocol) packet sent to the Bluetooth chip.
+ This increases reliability, but slightly reduces efficiency.
+
HCI USB driver
CONFIG_BLUEZ_HCIUSB
Bluetooth HCI USB driver.
@@ -21500,12 +22285,21 @@ CONFIG_BLUEZ_HCIUSB
Say Y here to compile support for Bluetooth USB devices into the
kernel or say M to compile it as module (hci_usb.o).
+HCI USB SCO (voice) support
+CONFIG_BLUEZ_USB_SCO
+ This option enables the SCO support in the HCI USB driver. You need this
+ to transmit voice data with your Bluetooth USB device. And your device
+ must also support sending SCO data over the HCI layer, because some of
+ them sends the SCO data to an internal PCM adapter.
+
+ Say Y here to compile support for HCI SCO data.
+
HCI USB zero packet support
CONFIG_BLUEZ_USB_ZERO_PACKET
- Support for USB zero packets.
This option is provided only as a work around for buggy Bluetooth USB
- devices. Do _not_ enable it unless you know for sure that your device
+ devices. Do NOT enable it unless you know for sure that your device
requires zero packets.
+
Most people should say N here.
HCI VHCI Virtual HCI device driver
@@ -21516,6 +22310,16 @@ CONFIG_BLUEZ_HCIVHCI
Say Y here to compile support for virtual HCI devices into the
kernel or say M to compile it as module (hci_vhci.o).
+HCI BFUSB device driver
+CONFIG_BLUEZ_HCIBFUSB
+ Bluetooth HCI BlueFRITZ! USB driver.
+ This driver provides support for Bluetooth USB devices with AVM
+ interface:
+ AVM BlueFRITZ! USB
+
+ Say Y here to compile support for HCI BFUSB devices into the
+ kernel or say M to compile it as module (bfusb.o).
+
HCI DTL1 (PC Card) device driver
CONFIG_BLUEZ_HCIDTL1
Bluetooth HCI DTL1 (PC Card) driver.
@@ -21552,6 +22356,20 @@ CONFIG_BLUEZ_HCIBLUECARD
Say Y here to compile support for HCI BlueCard devices into the
kernel or say M to compile it as module (bluecard_cs.o).
+HCI UART (PC Card) device driver
+CONFIG_BLUEZ_HCIBTUART
+ Bluetooth HCI UART (PC Card) driver.
+ This driver provides support for Bluetooth PCMCIA devices with
+ an UART interface:
+ Xircom CreditCard Bluetooth Adapter
+ Xircom RealPort2 Bluetooth Adapter
+ Sphinx PICO Card
+ H-Soft blue+Card
+ Cyber-blue Compact Flash Card
+
+ Say Y here to compile support for HCI UART devices into the
+ kernel or say M to compile it as module (btuart_cs.o).
+
# The following options are for Linux when running on the Hitachi
# SuperH family of RISC microprocessors.
@@ -21562,6 +22380,24 @@ CONFIG_SH_RTC
If unsure, say N.
+SuperH peripheral clock frequency
+CONFIG_SH_PCLK_FREQ
+ Set this value or add "sh_pclk=" command line option to tell
+ peripheral clock frequency to kernel, if your system has no RTC.
+ Otherwise leave it 0, and kernel measures peripheral clock frequency
+ using TMU and RTC while system startup.
+
+ If unsure, set 0.
+
+Wakeup UBC on startup
+CONFIG_UBC_WAKEUP
+ Selecting this option will wakeup the User Break Controller (UBC) on
+ startup. Although the UBC is left in an awake state when the processor
+ comes up, some boot loaders misbehave by putting the UBC to sleep in a
+ power saving state, which causes issues with things like ptrace().
+
+ If unsure, say N.
+
SuperH DMAC support
CONFIG_SH_DMA
Selecting this option will provide same API as PC's Direct Memory
@@ -22037,8 +22873,8 @@ CONFIG_HYDRA
Sun3 NCR5380 SCSI
CONFIG_SUN3_SCSI
This option will enable support for the OBIO (onboard io) NCR5380
- SCSI controller found in the Sun 3/50 and 3/60. Note that this
- driver does not provide support for VME SCSI boards.
+ SCSI controller found in the Sun 3/50 and 3/60, as well as for
+ "Sun3" type VME scsi controllers also based on the NCR5380.
General Linux information on the Sun 3 series (now discontinued)
is at <http://www.angelfire.com/ca2/tech68k/sun3.html>.
@@ -22763,7 +23599,10 @@ CONFIG_MAC_ADBKEYCODES
sysctl and with the "keyboard_sends_linux_keycodes=" kernel
argument.
- If unsure, say Y here.
+ This option is now deprecated and will be removed in a future
+ kernel release.
+
+ If unsure, say N here.
I2C/SPI Microcode Patch
CONFIG_UCODE_PATCH
@@ -23041,6 +23880,23 @@ CONFIG_RADIO_SF16FMI
say M here and read <file:Documentation/modules.txt>. The module
will be called radio-sf16fmi.o.
+SF16FMR2 Radio
+CONFIG_RADIO_SF16FMR2
+ Choose Y here if you have one of these FM radio cards. If you
+ compile the driver into the kernel and your card is not PnP one, you
+ have to add "sf16fmr2=<io>" to the kernel command line (I/O address is
+ 0x284 or 0x384, default 0x384).
+
+ In order to control your radio card, you will need to use programs
+ that are compatible with the Video For Linux API. Information on
+ this API and pointers to "v4l" programs may be found on the WWW at
+ <http://roadrunner.swansea.uk.linux.org/v4l.shtml>.
+
+ If you want to compile this driver as a module ( = code which can be
+ inserted in and removed from the running kernel whenever you want),
+ say M here and read <file:Documentation/modules.txt>. The module
+ will be called radio-sf16fmr2.o.
+
Typhoon Radio (a.k.a. EcoRadio)
CONFIG_RADIO_TYPHOON
Choose Y here if you have one of these FM radio cards, and then fill
@@ -23369,6 +24225,12 @@ CONFIG_VIDEO_W9966
Check out <file:drivers/media/video4linux/w9966.txt> and
<file:drivers/media/video/w9966.c> for more information.
+Philips SAA7114H for SiByte BCM91250A
+CONFIG_VIDEO_SWARM_7114H
+ Say Y or M to build the video4linux driver for the Philips SAA7114H
+ video decoder on Broadcom SWARM board (BCM91250A). The decoder chip
+ is on the BCM1250's "E2" 8-bit FIFO port.
+
CPiA Video For Linux
CONFIG_VIDEO_CPIA
This is the video4linux driver for cameras based on Vision's CPiA
@@ -23642,6 +24504,20 @@ CONFIG_CHSC
enabled, you'll be able to toggle chpids logically offline and online. Even
if you don't understand what this means, you should say "Y".
+Process warning machine checks
+CONFIG_MACHCHK_WARNING
+ Select this option if you want the machine check handler on IBM S/390 or
+ zSeries to process warning machine checks (e.g. on power failures).
+ If unsure, say "Y".
+
+Use chscs for Common I/O
+CONFIG_CHSC
+ Select this option if you want the s390 common I/O layer to use information
+ obtained by channel subsystem calls. This will enable Linux to process link
+ failures and resource accessibility events. Moreover, if you have procfs
+ enabled, you'll be able to toggle chpids logically offline and online. Even
+ if you don't understand what this means, you should say "Y".
+
Kernel support for 31 bit ELF binaries
CONFIG_S390_SUPPORT
Select this option if you want to enable your system kernel to
@@ -24566,13 +25442,24 @@ CONFIG_NS83820
say M here and read <file:Documentation/modules.txt>. The module
will be called ns83820.o.
+Toshiba Type-O IR Port device driver (old driver)
+CONFIG_TOSHIBA_OLD
+ Say Y here if you want to build support for the Toshiba Type-O IR
+ chipset. This chipset is used by the Toshiba Libretto 100CT, and
+ many more laptops. This driver is obsolete, will no more be
+ maintained and will be removed in favor of the new driver.
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called toshoboe.o.
+
Toshiba Type-O IR Port device driver
CONFIG_TOSHIBA_FIR
Say Y here if you want to build support for the Toshiba Type-O IR
- chipset. This chipset is used by the Toshiba Libretto 100CT, and
- many more laptops. If you want to compile it as a module, say M
- here and read <file:Documentation/modules.txt>. The module will be
- called toshoboe.o.
+ and Donau oboe chipsets. These chipsets are used by the Toshiba
+ Libretto 100/110CT, Tecra 8100, Portege 7020 and many more laptops.
+ If you want to compile it as a module, say M here and read
+ <file:Documentation/modules.txt>.
+ The module will be called donauboe.o.
SMC IrCC
CONFIG_SMC_IRCC_FIR
@@ -25591,16 +26478,6 @@ CONFIG_IA64_HP_ZX1
for the zx1 IOMMU and makes root bus bridges appear in PCI config space
(required for zx1 agpgart support).
-CONFIG_IA64_SGI_SN_SIM
- Build a kernel that runs on both the SGI simulator AND on hardware.
- There is a very slight performance penalty on hardware for including this
- option.
-
-CONFIG_IA64_SGI_SN_DEBUG
- This enables addition debug code that helps isolate
- platform/kernel bugs. There is a small but measurable performance
- degradation when this option is enabled.
-
# Choice: pagesize
Kernel page size
CONFIG_IA64_PAGE_SIZE_4KB
@@ -25908,6 +26785,9 @@ CONFIG_SH_GENERIC
Select SolutionEngine if configuring for a Hitachi SH7709
or SH7750/7750S evaluation board.
+ Select SHMobileSolutionEngine if configuring for SH-Mobile Solution
+ Engine.
+
Select Overdrive if configuring for a ST407750 Overdrive board.
More information at
<http://linuxsh.sourceforge.net/docs/7750overdrive.php3>.
@@ -25961,6 +26841,11 @@ CONFIG_SH_7751_SOLUTION_ENGINE
Select 7751 SolutionEngine if configuring for a Hitachi SH7751
evaluation board.
+SHMobileSolutionEngine
+CONFIG_SH_MOBILE_SOLUTION_ENGINE
+ Select SHMobileSolutionEngine if configuring for SH-Mobile Solution
+ Engine.
+
Overdrive
CONFIG_SH_OVERDRIVE
Select Overdrive if configuring for a ST407750 Overdrive board.
@@ -26008,6 +26893,14 @@ CONFIG_SH_DREAMCAST
<http://www.m17n.org/linux-sh/dreamcast/>. There is a
Dreamcast project is at <http://linuxdc.sourceforge.net/>.
+SH-2000
+CONFIG_SH_SH2000
+ SH-2000 is a single-board computer based around SH7709A chip
+ intended for embedded applications.
+ It has an Ethernet interface (CS8900A), direct connected
+ Compact Flash socket, three serial ports and PC-104 bus.
+ More information at <http://sh2000.sh-linux.org>.
+
BareCPU
CONFIG_SH_UNKNOWN
"Bare CPU" aka "unknown" means an SH-based system which is not one
@@ -26037,6 +26930,12 @@ CONFIG_CPU_SUBTYPE_SH7707
Select SH7751 if you have a SH7751
Select ST40STB1 if you have a ST40STB1
+ Select ST40RA/ST40STB1 if you have a ST40RA
+ (previously known as ST40STB1).
+
+ Select ST40GX1 if you have an ST40GX1.
+
+ Select SH7300 if you have a HD6417300 CPU.
SH7708
CONFIG_CPU_SUBTYPE_SH7708
@@ -26051,6 +26950,35 @@ SH7750
CONFIG_CPU_SUBTYPE_SH7750
Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
+SH7751
+CONFIG_CPU_SUBTYPE_SH7751
+ Select SH7750 if you have a 166 Mhz SH-4 HD6417751 CPU.
+
+ST40RA/ST40STB1
+CONFIG_CPU_SUBTYPE_ST40STB1
+ Select ST40RA/ST40STB1 if you have a ST40RA. This chip was
+ previously called the ST40STB1. Early versions were also
+ erronously labelled ST40AR166.
+
+ST40GX1
+CONFIG_CPU_SUBTYPE_ST40GX1
+ Select ST40GX1 if you have a ST40GX1 CPU.
+
+SH7300
+CONFIG_CPU_SUBTYPE_SH7300
+ Select SH7300 if you have a HD6417300 CPU.
+
+Memory on LMI
+CONFIG_ST40_LMI_MEMORY
+ Currently all ST40 CPUs have two external buses the
+ 'Local Memory Interface' (LMI) which supports SDRAM and
+ DDR SDRAM, and the 'Enhanced flash Memory Interface' (EMI),
+ which supports SDRAM, Flash, peripherials and MPX. Linux
+ can support memory on either of these buses, it is simply
+ necessary to specify its base address. This option is simply
+ a shortcut method of specifying that RAM starts from the
+ bottom of the LMI.
+
Physical memory start address
CONFIG_MEMORY_START
Computers built with Hitachi SuperH processors always
@@ -26334,7 +27262,7 @@ CONFIG_IEEE1394_CMP
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read Documentation/modules.txt. The module
- will be called amdtp.o.
+ will be called cmp.o.
OHCI-DV I/O support
CONFIG_IEEE1394_DV1394
@@ -26395,6 +27323,323 @@ CONFIG_TULIP_MWI
If unsure, say N.
+NatSemi SCx200 support
+CONFIG_SCx200
+ This provides basic support for the National Semiconductor SCx200
+ processor. Right now this is just a driver for the GPIO pins.
+
+ If you don't know what to do here, say N.
+
+ This support is also available as a module. If compiled as a
+ module, it will be called scx200.o.
+
+NatSemi SCx200 Watchdog
+CONFIG_SCx200_WDT
+ Enable the built-in watchdog timer support on the National
+ Semiconductor SCx200 processors.
+
+ If compiled as a module, it will be called scx200_watchdog.o.
+
+Flash device mapped with DOCCS on NatSemi SCx200
+CONFIG_MTD_SCx200_DOCFLASH
+ Enable support for a flash chip mapped using the DOCCS signal on a
+ National Semiconductor SCx200 processor.
+
+ If you don't know what to do here, say N.
+
+ If compiled as a module, it will be called scx200_docflash.o.
+
+BIOS flash chip on AMD76x southbridge
+CONFIG_MTD_AMD76XROM
+ Support for treating the BIOS flash chip on AMD76x motherboards
+ as an MTD device - with this you can reprogram your BIOS.
+
+ BE VERY CAREFUL.
+
+ If compiled as a module, it will be called amd76xrom.o.
+
+BIOS flash chip on Intel Hub Controller 2
+CONFIG_MTD_ICH2ROM
+ Support for treating the BIOS flash chip on ICH2 motherboards
+ as an MTD device - with this you can reprogram your BIOS.
+
+ BE VERY CAREFUL.
+
+ If compiled as a module, it will be called ich2rom.o.
+
+BIOS flash chip on Intel SCB2 boards
+CONFIG_MTD_SCB2_FLASH
+ Support for treating the BIOS flash chip on Intel SCB2 boards
+ as an MTD device - with this you can reprogram your BIOS.
+
+ BE VERY CAREFUL.
+
+ If compiled as a module, it will be called scb2_flash.o.
+
+Flash chips on Tsunami TIG bus
+CONFIG_MTD_TSUNAMI
+ Support for the flash chip on Tsunami TIG bus.
+
+ If compiled as a module, it will be called tsunami_flash.o.
+
+Flash chips on LASAT board
+CONFIG_MTD_LASAT
+ Support for the flash chips on the Lasat 100 and 200 boards.
+
+ If compiled as a module, it will be called lasat.o.
+
+CFI flash device on SnapGear/SecureEdge
+CONFIG_MTD_NETtel
+ Support for flash chips on NETtel/SecureEdge/SnapGear boards.
+
+ If compiled as a module, it will be called nettel.o.
+
+CFI Flash device mapped on DIL/Net PC
+CONFIG_MTD_DILNETPC
+ MTD map driver for SSV DIL/Net PC Boards "DNP" and "ADNP".
+ For details, see <http://www.ssv-embedded.de/ssv/pc104/p169.htm>
+ and <http://www.ssv-embedded.de/ssv/pc104/p170.htm>
+
+ If compiled as a module, it will be called dilnetpc.o.
+
+Size of DIL/Net PC flash boot partition
+CONFIG_MTD_DILNETPC_BOOTSIZE
+ The amount of space taken up by the kernel or Etherboot
+ on the DIL/Net PC flash chips.
+
+CFI Flash device mapped on Epxa10db
+CONFIG_MTD_EPXA10DB
+ This enables support for the flash devices on the Altera
+ Excalibur XA10 Development Board. If you are building a kernel
+ for on of these boards then you should say 'Y' otherwise say 'N'.
+
+ If compiled as a module, it will be called epxa10db-flash.o.
+
+CFI Flash device mapped on the FortuNet board
+CONFIG_MTD_FORTUNET
+ This enables access to the Flash on the FortuNet board. If you
+ have such a board, say 'Y'.
+
+ If compiled as a module, it will be called fortunet.o.
+
+NV-RAM mapping AUTCPU12 board
+CONFIG_MTD_AUTCPU12
+ This enables access to the NV-RAM on autronix autcpu12 board.
+ If you have such a board, say 'Y'.
+
+ If compiled as a module, it will be called autcpu12-nvram.o.
+
+CFI Flash device mapped on EDB7312
+CONFIG_MTD_EDB7312
+ This enables access to the CFI Flash on the Cogent EDB7312 board.
+ If you have such a board, say 'Y' here.
+
+ If compiled as a module, it will be called edb7312.o.
+
+JEDEC Flash device mapped on impA7
+CONFIG_MTD_IMPA7
+ This enables access to the NOR Flash on the impA7 board of
+ implementa GmbH. If you have such a board, say 'Y' here.
+
+ If compiled as a module, it will be called impa7.o.
+
+JEDEC Flash device mapped on Ceiva/Polaroid PhotoMax Digital Picture Frame
+CONFIG_MTD_CEIVA
+ This enables access to the flash chips on the Ceiva/Polaroid
+ PhotoMax Digital Picture Frame.
+ If you have such a device, say 'Y'.
+
+ If compiled as a module, it will be called ceiva.o.
+
+System flash on MBX860 board
+CONFIG_MTD_MBX860
+ This enables access routines for the flash chips on the Motorola
+ MBX860 board. If you have one of these boards and would like
+ to use the flash chips on it, say 'Y'.
+
+ If compiled as a module, it will be called mbx860.o.
+
+PCI MTD driver
+CONFIG_MTD_PCI
+ Mapping for accessing flash devices on add-in cards like the Intel XScale
+ IQ80310 card, and the Intel EBSA285 card in blank ROM programming mode
+ (please see the manual for the link settings).
+
+ If compiled as a module, it will be called pci.o.
+
+ If you are not sure, say N.
+
+PCMCIA MTD driver
+CONFIG_MTD_PCMCIA
+ Map driver for accessing PCMCIA linear flash memory cards. These
+ cards are usually around 4-16MiB in size. This does not include
+ Compact Flash cards which are treated as IDE devices.
+
+ If compiled as a module, it will be called pcmciamtd.o.
+
+Generic uClinux RAM/ROM filesystem support
+CONFIG_MTD_UCLINUX
+ Map driver to support image based filesystems for uClinux.
+
+ If compiled as a module, it will be called uclinux.o.
+
+NatSemi SCx200 I2C using GPIO pins
+CONFIG_SCx200_GPIO
+ Enable the use of two GPIO pins of a SCx200 processor as an I2C bus.
+
+ If you don't know what to do here, say N.
+
+ If compiled as a module, it will be called scx200_i2c.o.
+
+GPIO pin used for SCL
+CONFIG_SCx200_I2C_SCL
+ Enter the GPIO pin number used for the SCL signal. This value can
+ also be specified with a module parameter.
+
+GPIO pin used for SDA
+CONFIG_SCx200_I2C_SDA
+ Enter the GPIO pin number used for the SSA signal. This value can
+ also be specified with a module parameter.
+
+NatSemi SCx200 ACCESS.bus
+CONFIG_SCx200_ACB
+ Enable the use of the ACCESS.bus controllers of a SCx200 processor.
+
+ If you don't know what to do here, say N.
+
+ If compiled as a module, it will be called scx200_acb.o.
+
+IPMI top-level message handler
+CONFIG_IPMI_HANDLER
+ This enables the central IPMI message handler, required for IPMI
+ to work. Note that you must have this enabled to do any other IPMI
+ things.
+
+ IPMI is a standard for managing sensors (temperature,
+ voltage, etc.) in a system.
+
+ See Documentation/IPMI.txt for more details on the driver.
+
+ If unsure, say N.
+
+Generate a panic event to all BMCs on a panic
+CONFIG_IPMI_PANIC_EVENT
+ When a panic occurs, this will cause the IPMI message handler to
+ generate an IPMI event describing the panic to each interface
+ registered with the message handler.
+
+Device interface for IPMI
+CONFIG_IPMI_DEVICE_INTERFACE
+ This provides an IOCTL interface to the IPMI message handler so
+ userland processes may use IPMI. It supports poll() and select().
+
+IPMI KCS handler
+CONFIG_IPMI_KCS
+ Provides a driver for a KCS-style interface to a BMC.
+
+IPMI Watchdog Timer
+CONFIG_IPMI_WATCHDOG
+ This enables the IPMI watchdog timer.
+
+CRC32 functions
+CONFIG_CRC32
+ This option is provided for the case where no in-kernel-tree
+ modules require CRC32 functions, but a module built outside the
+ kernel tree does. Such modules that use library CRC32 functions
+ require that you say M or Y here.
+
+CONFIG_CRYPTO
+ This option provides the core Cryptographic API.
+
+CONFIG_CRYPTO_HMAC
+ HMAC: Keyed-Hashing for Message Authentication (RFC2104).
+ This is required for IPSec.
+
+CONFIG_CRYPTO_NULL
+ These are 'Null' algorithms, used by IPsec, which do nothing.
+
+CONFIG_CRYPTO_MD4
+ MD4 message digest algorithm (RFC1320).
+
+CONFIG_CRYPTO_MD5
+ MD5 message digest algorithm (RFC1321).
+
+CONFIG_CRYPTO_SHA1
+ SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
+
+CONFIG_CRYPTO_SHA256
+ SHA256 secure hash standard (DFIPS 180-2).
+
+ This version of SHA implements a 256 bit hash with 128 bits of
+ security against collision attacks.
+
+CONFIG_CRYPTO_SHA512
+ SHA512 secure hash standard (DFIPS 180-2).
+
+ This version of SHA implements a 512 bit hash with 256 bits of
+ security against collision attacks.
+
+ This code also includes SHA-384, a 384 bit hash with 192 bits
+ of security against collision attacks.
+
+CONFIG_CRYPTO_DES
+ DES cipher algorithm (FIPS 46-2), and Triple DES EDE (FIPS 46-3).
+
+CONFIG_CRYPTO_BLOWFISH
+ Blowfish cipher algorithm, by Bruce Schneier.
+
+ This is a variable key length cipher which can use keys from 32
+ bits to 448 bits in length. It's fast, simple and specifically
+ designed for use on "large microprocessors".
+
+ See also <http://www.counterpane.com/blowfish.html>.
+
+CONFIG_CRYPTO_TWOFISH
+ Twofish cipher algorithm.
+
+ Twofish was submitted as an AES (Advanced Encryption Standard)
+ candidate cipher by researchers at CounterPane Systems. It is a
+ 16 round block cipher supporting key sizes of 128, 192, and 256
+ bits.
+
+ See also:
+ http://www.counterpane.com/twofish.html
+
+CONFIG_CRYPTO_SERPENT
+ Serpent cipher algorithm, by Anderson, Biham & Knudsen.
+
+ Keys are allowed to be from 0 to 256 bits in length, in steps
+ of 8 bits.
+
+ See also:
+ http://www.cl.cam.ac.uk/~rja14/serpent.html
+
+CONFIG_CRYPTO_AES
+ AES cipher algorithms (FIPS-197). AES uses the Rijndael
+ algorithm.
+
+ Rijndael appears to be consistently a very good performer in
+ both hardware and software across a wide range of computing
+ environments regardless of its use in feedback or non-feedback
+ modes. Its key setup time is excellent, and its key agility is
+ good. Rijndael's very low memory requirements make it very well
+ suited for restricted-space environments, in which it also
+ demonstrates excellent performance. Rijndael's operations are
+ among the easiest to defend against power and timing attacks.
+
+ The AES specifies three key sizes: 128, 192 and 256 bits
+
+ See http://csrc.nist.gov/encryption/aes/ for more information.
+
+CONFIG_CRYPTO_DEFLATE
+ This is the Deflate algorithm (RFC1951), specified for use in
+ IPSec with the IPCOMP protocol (RFC3173, RFC2394).
+
+ You will most probably want this if using IPSec.
+
+CONFIG_CRYPTO_TEST
+ Quick & dirty crypto test module.
+
#
# A couple of things I keep forgetting:
# capitalize: AppleTalk, Ethernet, DOS, DMA, FAT, FTP, Internet,
diff --git a/MAINTAINERS b/MAINTAINERS
index ed55fad..077fb7e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -78,18 +78,18 @@ L: linux-tr@linuxtr.net
W: http://www.linuxtr.net
S: Maintained
-3C501 NETWORK DRIVER
-P: Alan Cox
-M: alan@the.3c501.cabal.tm
-L: linux-net@vger.kernel.org
-S: Maintained for 2.2 only
-
3C505 NETWORK DRIVER
P: Philip Blundell
M: Philip.Blundell@pobox.com
L: linux-net@vger.kernel.org
S: Maintained
+3CR990 NETWORK DRIVER
+P: David Dillow
+M: dave@thedillows.org
+L: linux-net@vger.kernel.org
+S: Maintained
+
53C700 AND 53C700-66 SCSI DRIVER
P: James E.J. Bottomley
M: James.Bottomley@HansenPartnership.com
@@ -104,12 +104,12 @@ S: Maintained
8139CP 10/100 FAST ETHERNET DRIVER
P: Jeff Garzik
-M: jgarzik@mandrakesoft.com
+M: jgarzik@pobox.com
S: Maintained
8139TOO 10/100 FAST ETHERNET DRIVER
P: Jeff Garzik
-M: jgarzik@mandrakesoft.com
+M: jgarzik@pobox.com
W: http://sourceforge.net/projects/gkernel/
S: Maintained
@@ -154,6 +154,14 @@ M: sullivam@us.ibm.com
W: http://www.ibm.com/linux/ltc/
S: Supported
+AACRAID SCSI RAID DRIVER
+P: Adaptec OEM Raid Solutions
+M: linux-aacraid-devel@dell.com
+L: linux-aacraid-devel@dell.com
+L: linux-aacraid-announce@dell.com
+W: http://domsch.com/linux
+S: Supported
+
ACPI
P: Andy Grover
M: andrew.grover@intel.com
@@ -192,6 +200,28 @@ M: Juergen Fischer <fischer@norbit.de>
L: linux-scsi@vger.kernel.org
S: Maintained
+ALCATEL SPEEDTOUCH USB DRIVER
+P: Duncan Sands
+M: duncan.sands@wanadoo.fr
+L: linux-usb-users@lists.sourceforge.net
+L: linux-usb-devel@lists.sourceforge.net
+W: http://www.linux-usb.org/SpeedTouch/
+S: Maintained
+
+AIPTEK USB TABLET DRIVER
+P: Bryan W. Headley
+M: Bryan W. Headley <bwheadley@earthlink.net>
+W: http://aiptektablet.sourceforge.net
+L: aiptektablet-users@sourceforge.net
+S: Maintained
+
+ALTERA EPXA1/EPXA10 DEVELOPMENT BOARD PORT
+P: Clive Davies
+M: cdavies@altera.com
+L: linux-arm-kernel@lists.arm.linux.org.uk
+W: http://www.arm.linux.org.uk/
+S: Maintained
+
APM DRIVER
P: Stephen Rothwell
M: sfr@canb.auug.org.au
@@ -210,6 +240,13 @@ P: Dave Gilbert
M: linux@treblig.org
S: Maintained
+ARM/PT DIGITAL BOARD PORT
+P: Stefan Eletzhofer
+M: stefan.eletzhofer@eletztrick.de
+L: linux-arm-kernel@lists.arm.linux.org.uk
+W: http://www.arm.linux.org.uk/
+S: Maintained
+
ARM/SHARK MACHINE SUPPORT
P: Alexander Schulz
M: alex@shark-linux.de
@@ -229,6 +266,13 @@ M: layes@loran.com
L: linux-net@vger.kernel.org
S: Maintained
+ATM
+P: Chas Williams
+M: chas@cmf.nrl.navy.mil
+L: linux-atm-general@lists.sourceforge.net
+W: http://linux-atm.sourceforge.net
+S: Maintained
+
AX.25 NETWORK LAYER
P: Matthias Welwarsky
M: dg2fef@afthd.tu-darmstadt.de
@@ -245,7 +289,7 @@ S: Maintained
BEFS FILE SYSTEM
P: Will Dyson
M: will@cs.earlham.edu
-W: http://cs.earlham.edu/~will/software/linux/kernel/BeFS.html
+W: http://befs-driver.sourceforge.net/
S: Maintained
BERKSHIRE PRODUCTS PC WATCHDOG DRIVER
@@ -267,18 +311,87 @@ M: axboe@suse.de
L: linux-kernel@vger.kernel.org
S: Maintained
-BLUETOOTH SUBSYSTEM (BlueZ)
+BLUETOOTH SUBSYSTEM
+P: Maxim Krasnyansky
+M: maxk@qualcomm.com
+W: http://bluez.sf.net
+S: Maintained
+
+BLUETOOTH RFCOMM LAYER
+P: Maxim Krasnyansky
+M: maxk@qualcomm.com
+W: http://bluez.sf.net
+S: Maintained
+
+BLUETOOTH BNEP LAYER
+P: Maxim Krasnyansky
+M: maxk@qualcomm.com
+W: http://bluez.sf.net
+S: Maintained
+
+BLUETOOTH CMTP LAYER
+P: Marcel Holtmann
+M: marcel@holtmann.org
+W: http://www.holtmann.org/linux/bluetooth/
+S: Maintained
+
+BLUETOOTH HCI USB DRIVER
P: Maxim Krasnyansky
M: maxk@qualcomm.com
W: http://bluez.sf.net
S: Maintained
-BLUETOOTH SUBSYSTEM (PC Card Drivers)
+BLUETOOTH HCI UART DRIVER
+P: Maxim Krasnyansky
+M: maxk@qualcomm.com
+W: http://bluez.sf.net
+S: Maintained
+
+BLUETOOTH HCI BFUSB DRIVER
+P: Marcel Holtmann
+M: marcel@holtmann.org
+W: http://www.holtmann.org/linux/bluetooth/
+S: Maintained
+
+BLUETOOTH HCI DTL1 DRIVER
P: Marcel Holtmann
M: marcel@holtmann.org
W: http://www.holtmann.org/linux/bluetooth/
S: Maintained
+BLUETOOTH HCI BLUECARD DRIVER
+P: Marcel Holtmann
+M: marcel@holtmann.org
+W: http://www.holtmann.org/linux/bluetooth/
+S: Maintained
+
+BLUETOOTH HCI BT3C DRIVER
+P: Marcel Holtmann
+M: marcel@holtmann.org
+W: http://www.holtmann.org/linux/bluetooth/
+S: Maintained
+
+BLUETOOTH HCI BTUART DRIVER
+P: Marcel Holtmann
+M: marcel@holtmann.org
+W: http://www.holtmann.org/linux/bluetooth/
+S: Maintained
+
+BLUETOOTH HCI VHCI DRIVER
+P: Maxim Krasnyansky
+M: maxk@qualcomm.com
+W: http://bluez.sf.net
+S: Maintained
+
+BONDING DRIVER
+P: Chad Tindel
+M: ctindel@users.sourceforge.net
+P: Jay Vosburgh
+M: fubar@us.ibm.com
+L: bonding-devel@lists.sourceforge.net
+W: http://sourceforge.net/projects/bonding/
+S: Supported
+
BTTV VIDEO4LINUX DRIVER
P: Gerd Knorr
M: kraxel@bytesex.org
@@ -286,16 +399,9 @@ L: video4linux-list@redhat.com
W: http://bytesex.org/bttv/
S: Maintained
-BUSLOGIC SCSI DRIVER
-P: Leonard N. Zubkoff
-M: Leonard N. Zubkoff <lnz@dandelion.com>
-L: linux-scsi@vger.kernel.org
-W: http://www.dandelion.com/Linux/
-S: Maintained
-
CIRRUS LOGIC GENERIC FBDEV DRIVER
P: Jeff Garzik
-M: jgarzik@mandrakesoft.com
+M: jgarzik@pobox.com
L: linux-fbdev-devel@lists.sourceforge.net
S: Odd Fixes
@@ -314,25 +420,25 @@ L: codalist@coda.cs.cmu.edu
W: http://www.coda.cs.cmu.edu/
S: Maintained
-COMPAQ FIBRE CHANNEL 64-bit/66MHz PCI non-intelligent HBA
-P: Amy Vanzant-Hodge
-M: Amy Vanzant-Hodge (fibrechannel@compaq.com)
-L: compaqandlinux@cpqlin.van-dijk.net
-W: ftp.compaq.com/pub/products/drivers/linux
-S: Supported
+HP (was COMPAQ) FIBRE CHANNEL 64-bit/66MHz PCI non-intelligent HBA
+P: Stephen Cameron
+M: arrays@hp.com
+M: steve.cameron@hp.com
+L: cpqfc-discuss@lists.sourceforge.net
+S: Odd Fixes
-COMPAQ SMART2 RAID DRIVER
-P: Charles White
-M: Charles White <arrays@compaq.com>
-L: compaqandlinux@cpqlin.van-dijk.net
-W: ftp.compaq.com/pub/products/drivers/linux
-S: Supported
-
-COMPAQ SMART CISS RAID DRIVER
-P: Charles White
-M: Charles White <arrays@compaq.com>
-L: compaqandlinux@cpqlin.van-dijk.net
-W: ftp.compaq.com/pub/products/drivers/linux
+HP (was COMPAQ) SMART2 RAID DRIVER
+P: Stephen Cameron
+M: arrays@hp.com
+M: steve.cameron@hp.com
+L: cpqarray-discuss@lists.sourceforge.net
+S: Odd Fixes
+
+HP (was COMPAQ) SMART CISS RAID DRIVER
+P: Stephen Cameron
+M: arrays@hp.com
+M: steve.cameron@hp.com
+L: cciss-discuss@lists.sourceforge.net
S: Supported
COMPUTONE INTELLIPORT MULTIPORT CARD
@@ -344,8 +450,8 @@ L: linux-computone@lazuli.wittsend.com
S: Supported
COMX/MULTIGATE SYNC SERIAL DRIVERS
-P: Gergely Madarasz
-M: Gergely Madarasz <gorgo@itc.hu>
+P: Pasztor Szilard
+M: Pasztor Szilard <don@itc.hu>
S: Supported
CONFIGURE, MENUCONFIG, XCONFIG
@@ -393,6 +499,15 @@ L: dev-etrax@axis.com
W: http://developer.axis.com
S: Maintained
+CRYPTO API
+P: James Morris
+M: jmorris@intercode.com.au
+P: David S. Miller
+M: davem@redhat.com
+W http://samba.org/~jamesm/crypto/
+L: linux-kernel@vger.kernel.org
+S: Maintained
+
CYBERPRO FB DRIVER
P: Russell King
M: rmk@arm.linux.org.uk
@@ -553,8 +668,8 @@ L: linux-net@vger.kernel.org
S: Maintained
ETHERNET BRIDGE
-P: Lennert Buytenhek
-M: buytenh@gnu.org
+P: Stephen Hemminger
+M: shemminger@osdl.org
L: bridge@math.leidenuniv.nl
W: http://bridge.sourceforge.net/
S: Maintained
@@ -639,8 +754,8 @@ W: http://www.nyx.net/~arobinso
S: Maintained
HFS FILESYSTEM
-P: Oliver Neukum
-M: oliver@neukum.org
+P: Roman Zippel
+P: zippel@linux-m68k.org
L: linux-kernel@vger.kernel.org
S: Maintained
@@ -710,6 +825,13 @@ L: linux-ia64@linuxia64.org
W: http://www.linuxia64.org/
S: Maintained
+SN-IA64 (Itanium) SUB-PLATFORM
+P: John Hesterberg
+M: jh@sgi.com
+L: linux-ia64@linuxia64.org
+W: http://www.sgi.com/altix
+S: Maintained
+
IBM MCA SCSI SUBSYSTEM DRIVER
P: Michael Lang
M: langa2@kph.uni-mainz.de
@@ -781,7 +903,7 @@ S: Maintained
IMS TWINTURBO FRAMEBUFFER DRIVER
P: Paul Mundt
-M: lethal@chaoticdreams.org
+M: lethal@linux-sh.org
L: linux-fbdev-devel@lists.sourceforge.net
S: Maintained
@@ -792,7 +914,7 @@ S: Maintained
INTEL I8XX RANDOM NUMBER GENERATOR SUPPORT
P: Jeff Garzik
-M: jgarzik@mandrakesoft.com
+M: jgarzik@pobox.com
W: http://sourceforge.net/projects/gkernel/
S: Maintained
@@ -801,9 +923,17 @@ P: Tigran Aivazian
M: tigran@veritas.com
S: Maintained
+INTEL PRO/1000 GIGABIT ETHERNET SUPPORT
+P: Jeb Cramer
+M: cramerj@intel.com
+P: Scott Feldman
+M: scott.feldman@intel.com
+W: http://sourceforge.net/projects/e1000/
+S: Supported
+
INTERMEZZO FILE SYSTEM
-P: Peter J. Braam
-M: braam@clusterfs.com
+P: Chen Yang
+M: intermezzo-devel@lists.sourceforge.net
W: http://www.inter-mezzo.org/
L: intermezzo-discuss@lists.sourceforge.net
S: Maintained
@@ -1041,6 +1171,12 @@ M: kaos@ocs.com.au
L: linux-kernel@vger.kernel.org
S: Maintained
+MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
+P: Stelian Pop
+M: stelian@popies.net
+W: http://popies.net/meye/
+S: Maintained
+
MOUSE AND MISC DEVICES [GENERAL]
P: Alessandro Rubini
M: rubini@ipvvis.unipv.it
@@ -1106,7 +1242,7 @@ NETWORK DEVICE DRIVERS
P: Andrew Morton
M: akpm@zip.com.au
P: Jeff Garzik
-M: jgarzik@mandrakesoft.com
+M: jgarzik@pobox.com
L: linux-net@vger.kernel.org
S: Maintained
@@ -1123,6 +1259,10 @@ P: Alexey Kuznetsov
M: kuznet@ms2.inr.ac.ru
P: Pekka Savola (ipv6)
M: pekkas@netcore.fi
+P: James Morris
+M: jmorris@intercode.com.au
+P: Hideaki YOSHIFUJI
+M: yoshfuji@linux-ipv6.org
L: netdev@oss.sgi.com
S: Maintained
@@ -1145,6 +1285,14 @@ M: yokota@netlab.is.tsukuba.ac.jp
W: http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
S: Maintained
+NINJA SCSI-32Bi/UDE PCI/CARDBUS SCSI HOST ADAPTER DRIVER
+P: GOTO Masanori
+M: gotom@debian.or.jp
+P: YOKOTA Hiroshi
+M: yokota@netlab.is.tsukuba.ac.jp
+W: http://www.netlab.is.tsukuba.ac.jp/~yokota/izumi/ninja/
+S: Maintained
+
NON-IDE/NON-SCSI CDROM DRIVERS [GENERAL] (come on, crew - mark your responsibility)
P: Eberhard Moenkeberg
M: emoenke@gwdg.de
@@ -1160,7 +1308,7 @@ S: Maintained
NVIDIA (RIVA) FRAMEBUFFER DRIVER
P: Ani Joshi
-M: ajoshi@shell.unixbox.com
+M: ajoshi@kernel.crashing.org
L: linux-nvidia@lists.surfsouth.com
S: Maintained
@@ -1277,6 +1425,13 @@ L: linux-mips@linux-mips.org
W: http://www.realitydiluted.com/projects/nino
S: Maintained
+PHILIPS NINO PALM PC
+P: Steven Hill
+M: sjhill@realitydiluted.com
+L: linux-mips@oss.sgi.com
+W: http://www.realitydiluted.com/projects/nino
+S: Maintained
+
PNP SUPPORT
P: Tom Lees
M: tom@lpsg.demon.co.uk
@@ -1289,9 +1444,9 @@ POWERVR2 FRAMEBUFFER DRIVER
P: M. R. Brown
M: mrbrown@0xd6.org
P: Paul Mundt
-M: lethal@0xd6.org
+M: lethal@linux-sh.org
L: linux-fbdev-devel@lists.sourceforge.net
-W: http://www.linuxdc.org
+L: linuxsh-dev@lists.sourceforge.net
S: Maintained
PPP PROTOCOL DRIVERS AND COMPRESSORS
@@ -1316,17 +1471,6 @@ M: promise@pnd-pc.demon.co.uk
W: http://www.pnd-pc.demon.co.uk/promise/
S: Maintained
-PROMISE PDC202XX IDE CONTROLLER DRIVER
-P: Hank Yang
-M: support@promise.com.tw [TAIWAN]
-P: Jordan Rhody
-M: support@promise.com [U.S.A]
-P: Jack Hu
-M: support-china@promise.com [CHINA]
-W: http://www.promise.com/support/linux_eng.asp
-W: http://www.promise.com.tw/support/linux_eng.asp
-S: Maintained
-
QNX4 FILESYSTEM
P: Anders Larsen
M: al@alarsen.net
@@ -1336,13 +1480,13 @@ S: Maintained
RADEON FRAMEBUFFER DISPLAY DRIVER
P: Ani Joshi
-M: ajoshi@shell.unixbox.com
+M: ajoshi@kernel.crashing.org
L: linux-fbdev-devel@lists.sourceforge.net
S: Maintained
RAGE128 FRAMEBUFFER DISPLAY DRIVER
P: Ani Joshi
-M: ajoshi@shell.unixbox.com
+M: ajoshi@kernel.crashing.org
L: linux-fbdev-devel@lists.sourceforge.net
S: Maintained
@@ -1401,7 +1545,7 @@ S: Supported
SA1100 SUPPORT
P: Nicolas Pitre
M: nico@cam.org
-L: sa1100-linux@pa.dec.com
+L: linux-arm@lists.arm.linux.org.uk
S: Maintained
SBPCD CDROM DRIVER
@@ -1435,10 +1579,16 @@ S: Unmaintained
SCSI TAPE DRIVER
P: Kai Mäkisara
-M: Kai.Makisara@metla.fi
+M: Kai.Makisara@kolumbus.fi
L: linux-scsi@vger.kernel.org
S: Maintained
+SCx200 CPU SUPPORT
+P: Christer Weinigel
+M: christer@weinigel.se
+W: http://www.weinigel.se
+S: Supported
+
SGI VISUAL WORKSTATION 320 AND 540
P: Bent Hagemark
M: bh@sgi.com
@@ -1459,6 +1609,12 @@ M: ollie@sis.com.tw
L: linux-net@vger.kernel.org
S: Supported
+SIS FRAMEBUFFER DRIVER
+P: Thomas Winischhofer
+M: thomas@winischhofer.net
+W: http://www.winischhofer.net/linuxsisvga.shtml
+S: Maintained
+
SMB FILESYSTEM
P: Urban Widmark
M: urban@teststation.com
@@ -1487,12 +1643,13 @@ M: tsbogend@alpha.franken.de
L: linux-net@vger.kernel.org
S: Maintained
-SOUND
-P: Alan Cox
-M: alan@redhat.com
-S: Maintained for 2.2 only
+SONY VAIO CONTROL DEVICE DRIVER
+P: Stelian Pop
+M: stelian@popies.net
+W: http://popies.net/sonypi/
+S: Maintained
-SPARC:
+UltraSPARC (sparc64):
P: David S. Miller
M: davem@redhat.com
P: Eddie C. Dost
@@ -1505,6 +1662,10 @@ L: sparclinux@vger.kernel.org
L: ultralinux@vger.kernel.org
S: Maintained
+SPARC (sparc32):
+L: sparclinux@vger.kernel.org
+S: Unmaintained - please send patches to mailing list
+
SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER
P: Roger Wolff
M: R.E.Wolff@BitWizard.nl
@@ -1545,19 +1706,35 @@ W: http://mpeg.openprojects.net/
W: http://www.stradis.com/
S: Maintained
-SUPERH
+SUPERH (sh)
+P: Paul Mundt
+M: lethal@linux-sh.org
P: Niibe Yutaka
M: gniibe@m17n.org
P: Kazumoto Kojima
M: kkojima@rr.iij4u.or.jp
+L: linuxsh-dev@lists.sourceforge.net
L: linux-sh@m17n.org
+W: http://www.linux-sh.org
W: http://www.m17n.org/linux-sh/
W: http://www.rr.iij4u.or.jp/~kkojima/linux-sh4.html
S: Maintained
+SUPERH64 (sh64)
+P: Paul Mundt
+M: lethal@linux-sh.org
+P: Richard Curnow
+M: richard.curnow@superh.com
+P: Benedict Gaster
+M: benedict.gaster@superh.com
+L: linuxsh-shmedia-dev@lists.sourceforge.net
+W: http://www.linux-sh.org
+W: http://linux-shmedia.bkbits.net
+S: Maintained
+
SUPERH WATCHDOG
P: Paul Mundt
-M: lethal@0xd6.org
+M: lethal@linux-sh.org
L: linuxsh-dev@lists.sourceforge.net
W: http://www.linuxsh.org
S: Maintained
@@ -1568,6 +1745,12 @@ M: mj@ucw.cz
L: linux-video@atrey.karlin.mff.cuni.cz
S: Maintained
+SYSKONNECT DRIVER
+P: Mirko Lindner
+M: mlindner@syskonnect.de
+W: http://www.syskonnect.com
+S: Supported
+
SYSV FILESYSTEM
P: Christoph Hellwig
M: hch@infradead.org
@@ -1580,6 +1763,11 @@ P: Julien Blache
M: jb@technologeek.org
S: Maintained
+TI PARALLEL LINK CABLE DRIVER
+P: Romain Lievin
+M: roms@lpg.ticalc.org
+S: Maintained
+
TIEMAN VOYAGER USB BRAILLE DISPLAY DRIVER
P: Stephane Dalton
M: sdalton@videotron.ca
@@ -1609,6 +1797,12 @@ L: linux-tr@linuxtr.net
W: http://www.linuxtr.net
S: Maintained
+TOSHIBA ACPI EXTRAS DRIVER
+P: John Belmonte
+M: toshiba_acpi@memebeam.org
+W: http://memebeam.org/toys/ToshibaAcpiDriver
+S: Maintained
+
TOSHIBA SMM DRIVER
P: Jonathan Buzzard
M: jonathan@buzzard.org.uk
@@ -1631,7 +1825,7 @@ S: Maintained
TULIP NETWORK DRIVER
P: Jeff Garzik
-M: jgarzik@mandrakesoft.com
+M: jgarzik@pobox.com
L: tulip-users@lists.sourceforge.net
W: http://sourceforge.net/projects/tulip/
S: Maintained
@@ -1686,7 +1880,7 @@ L: linux-usb-users@lists.sourceforge.net
L: linux-usb-devel@lists.sourceforge.net
S: Maintained
-USB BLUETOOTH DRIVER
+USB BLUETOOTH TTY CONVERTER DRIVER
P: Greg Kroah-Hartman
M: greg@kroah.com
L: linux-usb-users@lists.sourceforge.net
@@ -1695,11 +1889,12 @@ S: Maintained
W: http://www.kroah.com/linux-usb/
USB CDC ETHERNET DRIVER
-P: Brad Hards
-M: bradh@frogmouth.net
+P: Greg Kroah-Hartman
+M: greg@kroah.com
L: linux-usb-users@lists.sourceforge.net
L: linux-usb-devel@lists.sourceforge.net
S: Maintained
+W: http://www.kroah.com/linux-usb/
USB EHCI DRIVER
P: David Brownell
@@ -1773,6 +1968,14 @@ L: linux-usb-users@lists.sourceforge.net
L: linux-usb-devel@lists.sourceforge.net
S: Maintained
+USB SCANNER DRIVER
+P: Henning Meier-Geinitz
+M: henning@meier-geinitz.de
+L: linux-usb-users@lists.sourceforge.net
+L: linux-usb-devel@lists.sourceforge.net
+W: http://www.meier-geinitz.de/kernel/
+S: Maintained
+
USB SE401 DRIVER
P: Jeroen Vreeken
M: pe1rxq@amsat.org
@@ -1868,6 +2071,11 @@ P: Jeff Garzik
L: linux-via@gtf.org
S: Odd fixes
+VIA RHINE NETWORK DRIVER
+P: Roger Luethi
+M: rl@hellgate.ch
+S: Maintained
+
USB DIAMOND RIO500 DRIVER
P: Cesar Miquel
M: miquel@df.uba.ar
@@ -1929,12 +2137,6 @@ M: zaitcev@yahoo.com
L: linux-kernel@vger.kernel.org
S: Maintained
-Z85230 SYNCHRONOUS DRIVER
-P: Alan Cox
-M: alan@redhat.com
-W: http://roadrunner.swansea.linux.org.uk/synchronous.shtml
-S: Maintained for 2.2 only
-
Z8530 DRIVER FOR AX.25
P: Joerg Reuter
M: jreuter@yaina.de
diff --git a/Makefile b/Makefile
index baba73b..fb98323 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
VERSION = 2
PATCHLEVEL = 4
-SUBLEVEL = 20
+SUBLEVEL = 22
EXTRAVERSION =
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
@@ -48,10 +48,13 @@ DEPMOD = /sbin/depmod
MODFLAGS = -DMODULE
CFLAGS_KERNEL =
PERL = perl
+AWK = awk
+RPM := $(shell if [ -x "/usr/bin/rpmbuild" ]; then echo rpmbuild; \
+ else echo rpm; fi)
export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \
CONFIG_SHELL TOPDIR HPATH HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
- CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS MODFLAGS PERL
+ CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS MODFLAGS PERL AWK
all: do-it-all
@@ -133,20 +136,19 @@ CORE_FILES =kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o
NETWORKS =net/network.o
LIBS =$(TOPDIR)/lib/lib.a
-SUBDIRS =kernel drivers mm fs net ipc lib
+SUBDIRS =kernel drivers mm fs net ipc lib crypto
DRIVERS-n :=
DRIVERS-y :=
DRIVERS-m :=
DRIVERS- :=
-DRIVERS-$(CONFIG_ACPI) += drivers/acpi/acpi.o
+DRIVERS-$(CONFIG_ACPI_BOOT) += drivers/acpi/acpi.o
DRIVERS-$(CONFIG_PARPORT) += drivers/parport/driver.o
DRIVERS-y += drivers/char/char.o \
drivers/block/block.o \
drivers/misc/misc.o \
- drivers/net/net.o \
- drivers/media/media.o
+ drivers/net/net.o
DRIVERS-$(CONFIG_AGP) += drivers/char/agp/agp.o
DRIVERS-$(CONFIG_DRM_NEW) += drivers/char/drm/drm.o
DRIVERS-$(CONFIG_DRM_OLD) += drivers/char/drm-4.0/drm.o
@@ -187,6 +189,7 @@ DRIVERS-$(CONFIG_PARIDE) += drivers/block/paride/paride.a
DRIVERS-$(CONFIG_HAMRADIO) += drivers/net/hamradio/hamradio.o
DRIVERS-$(CONFIG_TC) += drivers/tc/tc.a
DRIVERS-$(CONFIG_USB) += drivers/usb/usbdrv.o
+DRIVERS-y +=drivers/media/media.o
DRIVERS-$(CONFIG_INPUT) += drivers/input/inputdrv.o
DRIVERS-$(CONFIG_HIL) += drivers/hil/hil.o
DRIVERS-$(CONFIG_I2O) += drivers/message/i2o/i2o.o
@@ -198,6 +201,7 @@ DRIVERS-$(CONFIG_GSC) += drivers/gsc/gscbus.o
DRIVERS-$(CONFIG_BLUEZ) += drivers/bluetooth/bluetooth.o
DRIVERS-$(CONFIG_HOTPLUG_PCI) += drivers/hotplug/vmlinux-obj.o
DRIVERS-$(CONFIG_ISDN_BOOL) += drivers/isdn/vmlinux-obj.o
+DRIVERS-$(CONFIG_CRYPTO) += crypto/crypto.o
DRIVERS := $(DRIVERS-y)
@@ -234,6 +238,7 @@ CLEAN_DIRS = \
# files removed with 'make mrproper'
MRPROPER_FILES = \
include/linux/autoconf.h include/linux/version.h \
+ lib/crc32table.h lib/gen_crc32table \
drivers/net/hamradio/soundmodem/sm_tbl_{afsk1200,afsk2666,fsk9600}.h \
drivers/net/hamradio/soundmodem/sm_tbl_{hapn4800,psk4800}.h \
drivers/net/hamradio/soundmodem/sm_tbl_{afsk2400_7,afsk2400_8}.h \
@@ -350,7 +355,7 @@ include/linux/compile.h: $(CONFIGURATION) include/linux/version.h newversion
([ -x /bin/domainname ] && /bin/domainname > .ver1) || \
echo > .ver1
@echo \#define LINUX_COMPILE_DOMAIN \"`cat .ver1 | $(uts_truncate)`\" >> .ver
- @echo \#define LINUX_COMPILER \"`$(CC) $(CFLAGS) -v 2>&1 | tail -1`\" >> .ver
+ @echo \#define LINUX_COMPILER \"`$(CC) $(CFLAGS) -v 2>&1 | tail -n 1`\" >> .ver
@mv -f .ver $@
@rm -f .ver1
@@ -496,12 +501,13 @@ sums:
find . -type f -print | sort | xargs sum > .SUMS
dep-files: scripts/mkdep archdep include/linux/version.h
- scripts/mkdep -- init/*.c > .depend
- scripts/mkdep -- `find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend
+ rm -f .depend .hdepend
$(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) _FASTDEP_ALL_SUB_DIRS="$(SUBDIRS)"
ifdef CONFIG_MODVERSIONS
$(MAKE) update-modverfile
endif
+ scripts/mkdep -- `find $(FINDHPATH) \( -name SCCS -o -name .svn \) -prune -o -follow -name \*.h ! -name modversions.h -print` > .hdepend
+ scripts/mkdep -- init/*.c > .depend
ifdef CONFIG_MODVERSIONS
MODVERFILE := $(TOPDIR)/include/linux/modversions.h
@@ -577,5 +583,5 @@ rpm: clean spec
rm $(KERNELPATH) ; \
cd $(TOPDIR) ; \
. scripts/mkversion > .version ; \
- rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
+ $(RPM) -ta $(TOPDIR)/../$(KERNELPATH).tar.gz ; \
rm $(TOPDIR)/../$(KERNELPATH).tar.gz
diff --git a/arch/um/defconfig b/arch/um/defconfig
index dcec44e..3467a4f 100644
--- a/arch/um/defconfig
+++ b/arch/um/defconfig
@@ -16,8 +16,8 @@ CONFIG_EXPERIMENTAL=y
#
# General Setup
#
-CONFIG_MODE_TT=y
CONFIG_MODE_SKAS=y
+CONFIG_MODE_TT=y
CONFIG_NET=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
@@ -74,6 +74,8 @@ CONFIG_HOSTAUDIO=y
#
CONFIG_BLK_DEV_UBD=y
# CONFIG_BLK_DEV_UBD_SYNC is not set
+# CONFIG_COW is not set
+CONFIG_COW_COMMON=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_RAM=y
@@ -177,6 +179,8 @@ CONFIG_REISERFS_FS=y
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BEFS_DEBUG is not set
# CONFIG_BFS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
@@ -197,6 +201,9 @@ CONFIG_RAMFS=y
CONFIG_ISO9660_FS=y
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
CONFIG_MINIX_FS=y
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
@@ -227,6 +234,7 @@ CONFIG_EXT2_FS=y
# CONFIG_ROOT_NFS is not set
# CONFIG_NFSD is not set
# CONFIG_NFSD_V3 is not set
+# CONFIG_NFSD_TCP is not set
# CONFIG_SUNRPC is not set
# CONFIG_LOCKD is not set
# CONFIG_SMB_FS is not set
@@ -240,7 +248,6 @@ CONFIG_EXT2_FS=y
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
# CONFIG_ZISOFS_FS is not set
-# CONFIG_ZLIB_FS_INFLATE is not set
#
# Partition Types
@@ -334,6 +341,7 @@ CONFIG_MTD=y
# CONFIG_MTD_PARTITIONS is not set
# CONFIG_MTD_CONCAT is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
#
# User Modules And Translation Layers
@@ -351,6 +359,7 @@ CONFIG_MTD_BLOCK=y
# CONFIG_MTD_GEN_PROBE is not set
# CONFIG_MTD_CFI_INTELEXT is not set
# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
@@ -364,6 +373,7 @@ CONFIG_MTD_BLOCK=y
#
# CONFIG_MTD_PHYSMAP is not set
# CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PCMCIA is not set
#
# Self-contained MTD device drivers
@@ -387,6 +397,12 @@ CONFIG_MTD_BLKMTD=y
# CONFIG_MTD_NAND is not set
#
+# Library routines
+#
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+
+#
# Kernel hacking
#
# CONFIG_DEBUG_SLAB is not set
diff --git a/arch/um/include/um_uaccess.h b/arch/um/include/um_uaccess.h
index 41afa3a..8b36a54 100644
--- a/arch/um/include/um_uaccess.h
+++ b/arch/um/include/um_uaccess.h
@@ -38,22 +38,73 @@ static inline int copy_to_user(void *to, const void *from, int n)
from, n));
}
+/*
+ * strncpy_from_user: - Copy a NUL terminated string from userspace.
+ * @dst: Destination address, in kernel space. This buffer must be at
+ * least @count bytes long.
+ * @src: Source address, in user space.
+ * @count: Maximum number of bytes to copy, including the trailing NUL.
+ *
+ * Copies a NUL-terminated string from userspace to kernel space.
+ *
+ * On success, returns the length of the string (not including the trailing
+ * NUL).
+ *
+ * If access to userspace fails, returns -EFAULT (some data may have been
+ * copied).
+ *
+ * If @count is smaller than the length of the string, copies @count bytes
+ * and returns @count.
+ */
+
static inline int strncpy_from_user(char *dst, const char *src, int count)
{
return(CHOOSE_MODE_PROC(strncpy_from_user_tt, strncpy_from_user_skas,
dst, src, count));
}
+/*
+ * __clear_user: - Zero a block of memory in user space, with less checking.
+ * @to: Destination address, in user space.
+ * @n: Number of bytes to zero.
+ *
+ * Zero a block of memory in user space. Caller must check
+ * the specified block with access_ok() before calling this function.
+ *
+ * Returns number of bytes that could not be cleared.
+ * On success, this will be zero.
+ */
static inline int __clear_user(void *mem, int len)
{
return(CHOOSE_MODE_PROC(__clear_user_tt, __clear_user_skas, mem, len));
}
+/*
+ * clear_user: - Zero a block of memory in user space.
+ * @to: Destination address, in user space.
+ * @n: Number of bytes to zero.
+ *
+ * Zero a block of memory in user space.
+ *
+ * Returns number of bytes that could not be cleared.
+ * On success, this will be zero.
+ */
static inline int clear_user(void *mem, int len)
{
return(CHOOSE_MODE_PROC(clear_user_tt, clear_user_skas, mem, len));
}
+/*
+ * strlen_user: - Get the size of a string in user space.
+ * @str: The string to measure.
+ * @n: The maximum valid length
+ *
+ * Get the size of a NUL-terminated string in user space.
+ *
+ * Returns the size of the string INCLUDING the terminating NUL.
+ * On exception, returns 0.
+ * If the string is too long, returns a value greater than @n.
+ */
static inline int strnlen_user(const void *str, int len)
{
return(CHOOSE_MODE_PROC(strnlen_user_tt, strnlen_user_skas, str, len));
diff --git a/arch/um/kernel/process_kern.c b/arch/um/kernel/process_kern.c
index 66e582e..b20ac5c 100644
--- a/arch/um/kernel/process_kern.c
+++ b/arch/um/kernel/process_kern.c
@@ -96,7 +96,7 @@ unsigned long alloc_stack(int order, int atomic)
return(page);
}
-int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
{
int pid;
diff --git a/arch/um/kernel/sys_call_table.c b/arch/um/kernel/sys_call_table.c
index 22f488e..897b589 100644
--- a/arch/um/kernel/sys_call_table.c
+++ b/arch/um/kernel/sys_call_table.c
@@ -231,12 +231,13 @@ extern syscall_handler_t sys_flistxattr;
extern syscall_handler_t sys_removexattr;
extern syscall_handler_t sys_lremovexattr;
extern syscall_handler_t sys_fremovexattr;
+extern syscall_handler_t sys_sendfile64;
extern syscall_handler_t um_mount;
extern syscall_handler_t um_time;
extern syscall_handler_t um_stime;
-#define LAST_GENERIC_SYSCALL __NR_sched_getaffinity
+#define LAST_GENERIC_SYSCALL __NR_exit_group
#if LAST_GENERIC_SYSCALL > LAST_ARCH_SYSCALL
#define LAST_SYSCALL LAST_GENERIC_SYSCALL
@@ -463,10 +464,20 @@ syscall_handler_t *sys_call_table[] = {
[ __NR_lremovexattr ] = sys_lremovexattr,
[ __NR_fremovexattr ] = sys_fremovexattr,
[ __NR_tkill ] = sys_tkill,
- [ __NR_sendfile64 ] = sys_ni_syscall,
+ [ __NR_sendfile64 ] = sys_sendfile64,
[ __NR_futex ] = sys_ni_syscall,
[ __NR_sched_setaffinity ] = sys_ni_syscall,
[ __NR_sched_getaffinity ] = sys_ni_syscall,
+ [ __NR_set_thread_area ] = sys_ni_syscall,
+ [ __NR_get_thread_area ] = sys_ni_syscall,
+ [ __NR_io_setup ] = sys_ni_syscall,
+ [ __NR_io_destroy ] = sys_ni_syscall,
+ [ __NR_io_getevents ] = sys_ni_syscall,
+ [ __NR_io_submit ] = sys_ni_syscall,
+ [ __NR_io_cancel ] = sys_ni_syscall,
+ [ __NR_alloc_hugepages ] = sys_ni_syscall,
+ [ __NR_free_hugepages ] = sys_ni_syscall,
+ [ __NR_exit_group ] = sys_ni_syscall,
ARCH_SYSCALLS
[ LAST_SYSCALL + 1 ... NR_syscalls ] =
diff --git a/drivers/char/Makefile b/drivers/char/Makefile
index b8279b6..7ce93bc 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -24,7 +24,7 @@ obj-y += mem.o tty_io.o n_tty.o tty_ioctl.o raw.o pty.o misc.o random.o
export-objs := busmouse.o console.o keyboard.o sysrq.o \
misc.o pty.o random.o selection.o serial.o \
sonypi.o tty_io.o tty_ioctl.o generic_serial.o \
- au1000_gpio.o hp_psaux.o nvram.o
+ au1000_gpio.o hp_psaux.o nvram.o scx200.o
mod-subdirs := joystick ftape drm drm-4.0 pcmcia
@@ -66,6 +66,20 @@ ifeq ($(ARCH),m68k)
SERIAL =
endif
+ifeq ($(ARCH),parisc)
+ ifdef CONFIG_GSC_PS2
+ KEYBD = hp_psaux.o hp_keyb.o
+ else
+ KEYBD =
+ endif
+ ifdef CONFIG_SERIAL_MUX
+ CONSOLE += mux.o
+ endif
+ ifdef CONFIG_PDC_CONSOLE
+ CONSOLE += pdc_console.o
+ endif
+endif
+
ifdef CONFIG_Q40
KEYBD += q40_keyb.o
SERIAL = serial.o
@@ -210,6 +224,7 @@ subdir-$(CONFIG_INPUT) += joystick
obj-$(CONFIG_ATIXL_BUSMOUSE) += atixlmouse.o
obj-$(CONFIG_LOGIBUSMOUSE) += logibusmouse.o
obj-$(CONFIG_PRINTER) += lp.o
+obj-$(CONFIG_TIPAR) += tipar.o
ifeq ($(CONFIG_INPUT),y)
obj-y += joystick/js.o
@@ -228,6 +243,7 @@ obj-$(CONFIG_ADBMOUSE) += adbmouse.o
obj-$(CONFIG_PC110_PAD) += pc110pad.o
obj-$(CONFIG_MK712_MOUSE) += mk712.o
obj-$(CONFIG_RTC) += rtc.o
+obj-$(CONFIG_GEN_RTC) += genrtc.o
obj-$(CONFIG_EFI_RTC) += efirtc.o
ifeq ($(CONFIG_PPC),)
obj-$(CONFIG_NVRAM) += nvram.o
@@ -238,6 +254,7 @@ obj-$(CONFIG_DS1620) += ds1620.o
obj-$(CONFIG_INTEL_RNG) += i810_rng.o
obj-$(CONFIG_AMD_RNG) += amd768_rng.o
obj-$(CONFIG_AMD_PM768) += amd76x_pm.o
+obj-$(CONFIG_BRIQ_PANEL) += briq_panel.o
obj-$(CONFIG_ITE_GPIO) += ite_gpio.o
obj-$(CONFIG_AU1000_GPIO) += au1000_gpio.o
@@ -260,6 +277,7 @@ obj-$(CONFIG_PPDEV) += ppdev.o
obj-$(CONFIG_DZ) += dz.o
obj-$(CONFIG_NWBUTTON) += nwbutton.o
obj-$(CONFIG_NWFLASH) += nwflash.o
+obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o scx200.o
# Only one watchdog can succeed. We probe the hardware watchdog
# drivers first, then the softdog driver. This means if your hardware
@@ -283,9 +301,10 @@ obj-$(CONFIG_MACHZ_WDT) += machzwd.o
obj-$(CONFIG_SH_WDT) += shwdt.o
obj-$(CONFIG_EUROTECH_WDT) += eurotechwdt.o
obj-$(CONFIG_ALIM7101_WDT) += alim7101_wdt.o
-#obj-$(CONFIG_ALIM1535_WDT) += alim1535d_wdt.o
+obj-$(CONFIG_ALIM1535_WDT) += alim1535d_wdt.o
obj-$(CONFIG_INDYDOG) += indydog.o
obj-$(CONFIG_SC1200_WDT) += sc1200wdt.o
+obj-$(CONFIG_SCx200_WDT) += scx200_wdt.o
obj-$(CONFIG_WAFER_WDT) += wafer5823wdt.o
obj-$(CONFIG_SOFT_WATCHDOG) += softdog.o
obj-$(CONFIG_AMD7XX_TCO) += amd7xx_tco.o
@@ -295,6 +314,11 @@ ifeq ($(CONFIG_MWAVE),y)
obj-y += mwave/mwave.o
endif
+subdir-$(CONFIG_IPMI_HANDLER) += ipmi
+ifeq ($(CONFIG_IPMI_HANDLER),y)
+ obj-y += ipmi/ipmi.o
+endif
+
include $(TOPDIR)/Rules.make
fastdep:
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c
index 8403828..dc277b0 100644
--- a/drivers/char/tty_io.c
+++ b/drivers/char/tty_io.c
@@ -127,12 +127,6 @@ extern struct tty_driver ptm_driver[]; /* Unix98 pty masters; for /dev/ptmx */
extern struct tty_driver pts_driver[]; /* Unix98 pty slaves; for /dev/ptmx */
#endif
-/*
- * redirect is the pseudo-tty that console output
- * is redirected to if asked by TIOCCONS.
- */
-struct tty_struct * redirect;
-
static void initialize_tty_struct(struct tty_struct *tty);
static ssize_t tty_read(struct file *, char *, size_t, loff_t *);
@@ -148,6 +142,7 @@ extern long vme_scc_console_init(void);
extern int serial167_init(void);
extern long serial167_console_init(void);
extern void console_8xx_init(void);
+extern void au1x00_serial_console_init(void);
extern int rs_8xx_init(void);
extern void mac_scc_console_init(void);
extern void hwc_console_init(void);
@@ -160,10 +155,14 @@ extern void rs285_console_init(void);
extern void sa1100_rs_console_init(void);
extern void sgi_serial_console_init(void);
extern void sci_console_init(void);
+extern void dec_serial_console_init(void);
extern void tx3912_console_init(void);
extern void tx3912_rs_init(void);
extern void txx927_console_init(void);
+extern void txx9_rs_init(void);
+extern void txx9_serial_console_init(void);
extern void sb1250_serial_console_init(void);
+extern void arc_console_init(void);
#ifndef MIN
#define MIN(a,b) ((a) < (b) ? (a) : (b))
@@ -427,6 +426,8 @@ static struct file_operations hung_up_tty_fops = {
release: tty_release,
};
+static spinlock_t redirect_lock = SPIN_LOCK_UNLOCKED;
+static struct file *redirect;
/*
* This can be called by the "eventd" kernel thread. That is process synchronous,
* but doesn't hold any locks, so we need to make sure we have the appropriate
@@ -436,6 +437,7 @@ void do_tty_hangup(void *data)
{
struct tty_struct *tty = (struct tty_struct *) data;
struct file * cons_filp = NULL;
+ struct file *f = NULL;
struct task_struct *p;
struct list_head *l;
int closecount = 0, n;
@@ -445,6 +447,15 @@ void do_tty_hangup(void *data)
/* inuse_filps is protected by the single kernel lock */
lock_kernel();
+
+ spin_lock(&redirect_lock);
+ if (redirect && redirect->private_data == tty) {
+ f = redirect;
+ redirect = NULL;
+ }
+ spin_unlock(&redirect_lock);
+ if (f)
+ fput(f);
check_tty_count(tty, "do_tty_hangup");
file_list_lock();
@@ -769,7 +780,7 @@ static ssize_t tty_write(struct file * file, const char * buf, size_t count,
{
int is_console;
struct tty_struct * tty;
- struct inode *inode;
+ struct inode *inode = file->f_dentry->d_inode;
/* Can't seek (pwrite) on ttys. */
if (ppos != &file->f_pos)
@@ -783,10 +794,24 @@ static ssize_t tty_write(struct file * file, const char * buf, size_t count,
is_console = (inode->i_rdev == SYSCONS_DEV ||
inode->i_rdev == CONSOLE_DEV);
- if (is_console && redirect)
- tty = redirect;
- else
- tty = (struct tty_struct *)file->private_data;
+ if (is_console) {
+ struct file *p = NULL;
+
+ spin_lock(&redirect_lock);
+ if (redirect) {
+ get_file(redirect);
+ p = redirect;
+ }
+ spin_unlock(&redirect_lock);
+
+ if (p) {
+ ssize_t res = p->f_op->write(p, buf, count, &p->f_pos);
+ fput(p);
+ return res;
+ }
+ }
+
+ tty = (struct tty_struct *)file->private_data;
if (tty_paranoia_check(tty, inode->i_rdev, "tty_write"))
return -EIO;
if (!tty || !tty->driver.write || (test_bit(TTY_IO_ERROR, &tty->flags)))
@@ -1252,7 +1277,7 @@ static void release_dev(struct file * filp)
/*
* If _either_ side is closing, make sure there aren't any
* processes that still think tty or o_tty is their controlling
- * tty. Also, clear redirect if it points to either tty.
+ * tty.
*/
if (tty_closing || o_tty_closing) {
struct task_struct *p;
@@ -1263,9 +1288,6 @@ static void release_dev(struct file * filp)
p->tty = NULL;
}
read_unlock(&tasklist_lock);
-
- if (redirect == tty || (o_tty && redirect == o_tty))
- redirect = NULL;
}
/* check whether both sides are closing ... */
@@ -1554,19 +1576,29 @@ static int tiocswinsz(struct tty_struct *tty, struct tty_struct *real_tty,
return 0;
}
-static int tioccons(struct inode *inode,
- struct tty_struct *tty, struct tty_struct *real_tty)
+static int tioccons(struct inode *inode, struct file *file)
{
if (inode->i_rdev == SYSCONS_DEV ||
inode->i_rdev == CONSOLE_DEV) {
+ struct file *f;
if (!suser())
return -EPERM;
+ spin_lock(&redirect_lock);
+ f = redirect;
redirect = NULL;
+ spin_unlock(&redirect_lock);
+ if (f)
+ fput(f);
return 0;
}
- if (redirect)
+ spin_lock(&redirect_lock);
+ if (redirect) {
+ spin_unlock(&redirect_lock);
return -EBUSY;
- redirect = real_tty;
+ }
+ get_file(file);
+ redirect = file;
+ spin_unlock(&redirect_lock);
return 0;
}
@@ -1786,7 +1818,7 @@ int tty_ioctl(struct inode * inode, struct file * file,
case TIOCSWINSZ:
return tiocswinsz(tty, real_tty, (struct winsize *) arg);
case TIOCCONS:
- return tioccons(inode, tty, real_tty);
+ return real_tty!=tty ? -EINVAL : tioccons(inode, file);
case FIONBIO:
return fionbio(file, (int *) arg);
case TIOCEXCL:
@@ -2247,8 +2279,8 @@ void __init console_init(void)
#ifdef CONFIG_VT
con_init();
#endif
-#ifdef CONFIG_AU1000_SERIAL_CONSOLE
- au1000_serial_console_init();
+#ifdef CONFIG_AU1X00_SERIAL_CONSOLE
+ au1x00_serial_console_init();
#endif
#ifdef CONFIG_SERIAL_CONSOLE
#if (defined(CONFIG_8xx) || defined(CONFIG_8260))
@@ -2265,9 +2297,6 @@ void __init console_init(void)
#elif defined(CONFIG_SERIAL)
serial_console_init();
#endif /* CONFIG_8xx */
-#ifdef CONFIG_SGI_SERIAL
- sgi_serial_console_init();
-#endif
#if defined(CONFIG_MVME162_SCC) || defined(CONFIG_BVME6000_SCC) || defined(CONFIG_MVME147_SCC)
vme_scc_console_init();
#endif
@@ -2278,6 +2307,9 @@ void __init console_init(void)
sci_console_init();
#endif
#endif
+#ifdef CONFIG_SERIAL_DEC_CONSOLE
+ dec_serial_console_init();
+#endif
#ifdef CONFIG_TN3270_CONSOLE
tub3270_con_init();
#endif
@@ -2308,9 +2340,15 @@ void __init console_init(void)
#ifdef CONFIG_TXX927_SERIAL_CONSOLE
txx927_console_init();
#endif
+#ifdef CONFIG_SERIAL_TXX9_CONSOLE
+ txx9_serial_console_init();
+#endif
#ifdef CONFIG_SIBYTE_SB1250_DUART_CONSOLE
sb1250_serial_console_init();
#endif
+#ifdef CONFIG_IP22_SERIAL
+ sgi_serial_console_init();
+#endif
}
static struct tty_driver dev_tty_driver, dev_syscons_driver;
diff --git a/include/asm-um/processor-generic.h b/include/asm-um/processor-generic.h
index 46b0fbc..c38984e 100644
--- a/include/asm-um/processor-generic.h
+++ b/include/asm-um/processor-generic.h
@@ -106,7 +106,8 @@ extern void free_task_struct(struct task_struct *task);
#define get_task_struct(tsk) atomic_inc(&virt_to_page(tsk)->count)
extern void release_thread(struct task_struct *);
-extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
+extern int arch_kernel_thread(int (*fn)(void *), void * arg,
+ unsigned long flags);
extern void dump_thread(struct pt_regs *regs, struct user *u);
extern unsigned long thread_saved_pc(struct thread_struct *t);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 6e07121..97506af 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -201,6 +201,7 @@ extern int leases_enable, dir_notify_enable, lease_break_time;
#include <asm/byteorder.h>
extern void update_atime (struct inode *);
+extern void update_mctime (struct inode *);
#define UPDATE_ATIME(inode) update_atime (inode)
extern void buffer_init(unsigned long);
@@ -219,7 +220,9 @@ enum bh_state_bits {
BH_Async, /* 1 if the buffer is under end_buffer_io_async I/O */
BH_Wait_IO, /* 1 if we should write out this buffer */
BH_Launder, /* 1 if we can throttle on this buffer */
+ BH_Attached, /* 1 if b_inode_buffers is linked into a list */
BH_JBD, /* 1 if it has an attached journal_head */
+ BH_Sync, /* 1 if the buffer is a sync read */
BH_PrivateStart,/* not a state bit, but the first bit available
* for private allocation by other entities
@@ -266,7 +269,6 @@ struct buffer_head {
unsigned long b_rsector; /* Real buffer location on disk */
wait_queue_head_t b_wait;
- struct inode * b_inode;
struct list_head b_inode_buffers; /* doubly linked list of inode dirty buffers */
};
@@ -398,6 +400,9 @@ struct address_space_operations {
int (*releasepage) (struct page *, int);
#define KERNEL_HAS_O_DIRECT /* this is for modules out of the kernel */
int (*direct_IO)(int, struct inode *, struct kiobuf *, unsigned long, int);
+#define KERNEL_HAS_DIRECT_FILEIO /* Unfortunate kludge due to lack of foresight */
+ int (*direct_fileIO)(int, struct file *, struct kiobuf *, unsigned long, int);
+ void (*removepage)(struct page *); /* called when page gets removed from the inode */
};
struct address_space {
@@ -456,7 +461,9 @@ struct inode {
unsigned long i_blksize;
unsigned long i_blocks;
unsigned long i_version;
+ unsigned short i_bytes;
struct semaphore i_sem;
+ struct rw_semaphore i_alloc_sem;
struct semaphore i_zombie;
struct inode_operations *i_op;
struct file_operations *i_fop; /* former ->i_op->default_file_ops */
@@ -518,6 +525,39 @@ struct inode {
} u;
};
+static inline void inode_add_bytes(struct inode *inode, loff_t bytes)
+{
+ inode->i_blocks += bytes >> 9;
+ bytes &= 511;
+ inode->i_bytes += bytes;
+ if (inode->i_bytes >= 512) {
+ inode->i_blocks++;
+ inode->i_bytes -= 512;
+ }
+}
+
+static inline void inode_sub_bytes(struct inode *inode, loff_t bytes)
+{
+ inode->i_blocks -= bytes >> 9;
+ bytes &= 511;
+ if (inode->i_bytes < bytes) {
+ inode->i_blocks--;
+ inode->i_bytes += 512;
+ }
+ inode->i_bytes -= bytes;
+}
+
+static inline loff_t inode_get_bytes(struct inode *inode)
+{
+ return (((loff_t)inode->i_blocks) << 9) + inode->i_bytes;
+}
+
+static inline void inode_set_bytes(struct inode *inode, loff_t bytes)
+{
+ inode->i_blocks = bytes >> 9;
+ inode->i_bytes = bytes & 511;
+}
+
struct fown_struct {
int pid; /* pid or -pgrp where SIGIO should be sent */
uid_t uid, euid; /* uid/euid of process setting the owner */
@@ -638,6 +678,7 @@ extern int __get_lease(struct inode *inode, unsigned int flags);
extern time_t lease_get_mtime(struct inode *);
extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
extern int lock_may_write(struct inode *, loff_t start, unsigned long count);
+extern void steal_locks(fl_owner_t from);
struct fasync_struct {
int magic;
@@ -663,20 +704,6 @@ struct nameidata {
int last_type;
};
-#define DQUOT_USR_ENABLED 0x01 /* User diskquotas enabled */
-#define DQUOT_GRP_ENABLED 0x02 /* Group diskquotas enabled */
-
-struct quota_mount_options
-{
- unsigned int flags; /* Flags for diskquotas on this device */
- struct semaphore dqio_sem; /* lock device while I/O in progress */
- struct semaphore dqoff_sem; /* serialize quota_off() and quota_on() on device */
- struct file *files[MAXQUOTAS]; /* fp's to quotafiles */
- time_t inode_expire[MAXQUOTAS]; /* expiretime for inode-quota */
- time_t block_expire[MAXQUOTAS]; /* expiretime for block-quota */
- char rsquash[MAXQUOTAS]; /* for quotas threat root as any other user */
-};
-
/*
* Umount options
*/
@@ -724,6 +751,7 @@ struct super_block {
struct file_system_type *s_type;
struct super_operations *s_op;
struct dquot_operations *dq_op;
+ struct quotactl_ops *s_qcop;
unsigned long s_flags;
unsigned long s_magic;
struct dentry *s_root;
@@ -738,7 +766,7 @@ struct super_block {
struct block_device *s_bdev;
struct list_head s_instances;
- struct quota_mount_options s_dquot; /* Diskquota specific options */
+ struct quota_info s_dquot; /* Diskquota specific options */
union {
struct minix_sb_info minix_sb;
@@ -883,6 +911,9 @@ struct seq_file;
* without the big kernel lock held in all filesystems.
*/
struct super_operations {
+ struct inode *(*alloc_inode)(struct super_block *sb);
+ void (*destroy_inode)(struct inode *);
+
void (*read_inode) (struct inode *);
/* reiserfs kludge. reiserfs needs 64 bits of information to
@@ -898,6 +929,7 @@ struct super_operations {
void (*delete_inode) (struct inode *);
void (*put_super) (struct super_block *);
void (*write_super) (struct super_block *);
+ int (*sync_fs) (struct super_block *);
void (*write_super_lockfs) (struct super_block *);
void (*unlockfs) (struct super_block *);
int (*statfs) (struct super_block *, struct statfs *);
@@ -958,16 +990,6 @@ static inline void mark_inode_dirty_pages(struct inode *inode)
__mark_inode_dirty(inode, I_DIRTY_PAGES);
}
-struct dquot_operations {
- void (*initialize) (struct inode *, short);
- void (*drop) (struct inode *);
- int (*alloc_block) (struct inode *, unsigned long, char);
- int (*alloc_inode) (const struct inode *, unsigned long);
- void (*free_block) (struct inode *, unsigned long);
- void (*free_inode) (const struct inode *, unsigned long);
- int (*transfer) (struct inode *, struct iattr *);
-};
-
struct file_system_type {
const char *name;
int fs_flags;
@@ -1174,8 +1196,18 @@ static inline void mark_buffer_clean(struct buffer_head * bh)
extern void FASTCALL(__mark_dirty(struct buffer_head *bh));
extern void FASTCALL(__mark_buffer_dirty(struct buffer_head *bh));
extern void FASTCALL(mark_buffer_dirty(struct buffer_head *bh));
-extern void FASTCALL(buffer_insert_inode_queue(struct buffer_head *, struct inode *));
-extern void FASTCALL(buffer_insert_inode_data_queue(struct buffer_head *, struct inode *));
+
+extern void FASTCALL(buffer_insert_list(struct buffer_head *, struct list_head *));
+
+static inline void buffer_insert_inode_queue(struct buffer_head *bh, struct inode *inode)
+{
+ buffer_insert_list(bh, &inode->i_dirty_buffers);
+}
+
+static inline void buffer_insert_inode_data_queue(struct buffer_head *bh, struct inode *inode)
+{
+ buffer_insert_list(bh, &inode->i_dirty_data_buffers);
+}
static inline int atomic_set_buffer_dirty(struct buffer_head *bh)
{
@@ -1190,6 +1222,21 @@ static inline void mark_buffer_async(struct buffer_head * bh, int on)
clear_bit(BH_Async, &bh->b_state);
}
+static inline void set_buffer_attached(struct buffer_head *bh)
+{
+ set_bit(BH_Attached, &bh->b_state);
+}
+
+static inline void clear_buffer_attached(struct buffer_head *bh)
+{
+ clear_bit(BH_Attached, &bh->b_state);
+}
+
+static inline int buffer_attached(struct buffer_head *bh)
+{
+ return test_bit(BH_Attached, &bh->b_state);
+}
+
/*
* If an error happens during the make_request, this function
* has to be recalled. It marks the buffer as clean and not
@@ -1242,9 +1289,10 @@ static inline int fsync_inode_data_buffers(struct inode *inode)
return fsync_buffers_list(&inode->i_dirty_data_buffers);
}
extern int inode_has_buffers(struct inode *);
+extern int do_fdatasync(struct file *);
extern int filemap_fdatasync(struct address_space *);
extern int filemap_fdatawait(struct address_space *);
-extern void sync_supers(kdev_t);
+extern void sync_supers(kdev_t dev, int wait);
extern int bmap(struct inode *, int);
extern int notify_change(struct dentry *, struct iattr *);
extern int permission(struct inode *, int);
@@ -1346,6 +1394,7 @@ extern struct dentry * lookup_hash(struct qstr *, struct dentry *);
#define user_path_walk(name,nd) __user_walk(name, LOOKUP_FOLLOW|LOOKUP_POSITIVE, nd)
#define user_path_walk_link(name,nd) __user_walk(name, LOOKUP_POSITIVE, nd)
+extern void inode_init_once(struct inode *);
extern void iput(struct inode *);
extern void force_delete(struct inode *);
extern struct inode * igrab(struct inode *);
@@ -1359,18 +1408,7 @@ static inline struct inode *iget(struct super_block *sb, unsigned long ino)
}
extern void clear_inode(struct inode *);
-extern struct inode * get_empty_inode(void);
-
-static inline struct inode * new_inode(struct super_block *sb)
-{
- struct inode *inode = get_empty_inode();
- if (inode) {
- inode->i_sb = sb;
- inode->i_dev = sb->s_dev;
- inode->i_blkbits = sb->s_blocksize_bits;
- }
- return inode;
-}
+extern struct inode *new_inode(struct super_block *sb);
extern void remove_suid(struct inode *inode);
extern void insert_inode_hash(struct inode *);
@@ -1443,6 +1481,7 @@ extern int writeout_one_page(struct page *);
extern int generic_file_mmap(struct file *, struct vm_area_struct *);
extern int file_read_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size);
extern ssize_t generic_file_read(struct file *, char *, size_t, loff_t *);
+extern int precheck_file_write(struct file *, struct inode *, size_t *, loff_t *);
extern ssize_t generic_file_write(struct file *, const char *, size_t, loff_t *);
extern void do_generic_file_read(struct file *, loff_t *, read_descriptor_t *, read_actor_t);
extern loff_t no_llseek(struct file *file, loff_t offset, int origin);
@@ -1507,6 +1546,9 @@ extern int generic_osync_inode(struct inode *, int);
extern int inode_change_ok(struct inode *, struct iattr *);
extern int inode_setattr(struct inode *, struct iattr *);
+/* kernel/fork.c */
+extern int unshare_files(void);
+
/*
* Common dentry functions for inclusion in the VFS
* or in other stackable file systems. Some of these
diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h
index ec6c32d..46aea3b 100644
--- a/include/linux/kernel_stat.h
+++ b/include/linux/kernel_stat.h
@@ -27,7 +27,7 @@ struct kernel_stat {
unsigned int pgpgin, pgpgout;
unsigned int pswpin, pswpout;
#if defined (__hppa__)
- unsigned int irqs[NR_IRQ_REGS][IRQ_PER_REGION];
+ unsigned int irqs[NR_CPUS][NR_IRQ_REGS][IRQ_PER_REGION];
#elif !defined(CONFIG_ARCH_S390)
unsigned int irqs[NR_CPUS][NR_IRQS];
#endif
@@ -44,7 +44,12 @@ extern unsigned long nr_context_switches(void);
*/
static inline int kstat_irqs (int irq)
{
- return kstat.irqs[IRQ_REGION(irq)][IRQ_OFFSET(irq)];
+ int i, sum=0;
+
+ for (i = 0 ; i < smp_num_cpus ; i++)
+ sum += kstat.irqs[i][IRQ_REGION(irq)][IRQ_OFFSET(irq)];
+
+ return sum;
}
#elif !defined(CONFIG_ARCH_S390)
/*
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 5096382..911b756 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -104,7 +104,9 @@ struct vm_area_struct {
#define VM_DONTEXPAND 0x00040000 /* Cannot expand with mremap() */
#define VM_RESERVED 0x00080000 /* Don't unmap it from swap_out */
+#ifndef VM_STACK_FLAGS
#define VM_STACK_FLAGS 0x00000177
+#endif
#define VM_READHINTMASK (VM_SEQ_READ | VM_RAND_READ)
#define VM_ClearReadHint(v) (v)->vm_flags &= ~VM_READHINTMASK
@@ -297,11 +299,20 @@ typedef struct page {
#define PG_arch_1 13
#define PG_reserved 14
#define PG_launder 15 /* written out by VM pressure.. */
+#define PG_fs_1 16 /* Filesystem specific */
+
+#ifndef arch_set_page_uptodate
+#define arch_set_page_uptodate(page)
+#endif
/* Make it prettier to test the above... */
#define UnlockPage(page) unlock_page(page)
#define Page_Uptodate(page) test_bit(PG_uptodate, &(page)->flags)
-#define SetPageUptodate(page) set_bit(PG_uptodate, &(page)->flags)
+#define SetPageUptodate(page) \
+ do { \
+ arch_set_page_uptodate(page); \
+ set_bit(PG_uptodate, &(page)->flags); \
+ } while (0)
#define ClearPageUptodate(page) clear_bit(PG_uptodate, &(page)->flags)
#define PageDirty(page) test_bit(PG_dirty, &(page)->flags)
#define SetPageDirty(page) set_bit(PG_dirty, &(page)->flags)
diff --git a/include/linux/tty.h b/include/linux/tty.h
index d362c39..68bcdbf 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -293,7 +293,7 @@ struct tty_struct {
unsigned char lnext:1, erasing:1, raw:1, real_raw:1, icanon:1;
unsigned char closing:1;
unsigned short minimum_to_wake;
- unsigned overrun_time;
+ unsigned long overrun_time;
int num_overrun;
unsigned long process_char_map[256/(8*sizeof(unsigned long))];
char *read_buf;
@@ -344,7 +344,6 @@ struct tty_struct {
extern void tty_write_flush(struct tty_struct *);
extern struct termios tty_std_termios;
-extern struct tty_struct * redirect;
extern struct tty_ldisc ldiscs[];
extern int fg_console, last_console, want_console;
diff --git a/init/do_mounts.c b/init/do_mounts.c
index c77668c..3b35db4 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -15,6 +15,7 @@
#include <linux/minix_fs.h>
#include <linux/ext2_fs.h>
#include <linux/romfs_fs.h>
+#include <linux/cramfs_fs.h>
#define BUILD_CRAMDISK
@@ -87,7 +88,7 @@ static struct dev_name_struct {
const char *name;
const int num;
} root_dev_names[] __initdata = {
- { "nfs", 0x00ff },
+ { "nfs", MKDEV(NFS_MAJOR, NFS_MINOR) },
{ "hda", 0x0300 },
{ "hdb", 0x0340 },
{ "loop", 0x0700 },
@@ -180,7 +181,6 @@ static struct dev_name_struct {
{ "dasdg", (DASD_MAJOR << MINORBITS) + (6 << 2) },
{ "dasdh", (DASD_MAJOR << MINORBITS) + (7 << 2) },
#endif
-#if defined(CONFIG_BLK_CPQ_DA) || defined(CONFIG_BLK_CPQ_DA_MODULE)
{ "ida/c0d0p",0x4800 },
{ "ida/c0d1p",0x4810 },
{ "ida/c0d2p",0x4820 },
@@ -204,8 +204,6 @@ static struct dev_name_struct {
{ "ida/c5d0p",0x4D00 },
{ "ida/c6d0p",0x4E00 },
{ "ida/c7d0p",0x4F00 },
-#endif
-#if defined(CONFIG_BLK_CPQ_CISS_DA) || defined(CONFIG_BLK_CPQ_CISS_DA_MODULE)
{ "cciss/c0d0p",0x6800 },
{ "cciss/c0d1p",0x6810 },
{ "cciss/c0d2p",0x6820 },
@@ -229,7 +227,6 @@ static struct dev_name_struct {
{ "cciss/c5d0p",0x6D00 },
{ "cciss/c6d0p",0x6E00 },
{ "cciss/c7d0p",0x6F00 },
-#endif
{ "ataraid/d0p",0x7200 },
{ "ataraid/d1p",0x7210 },
{ "ataraid/d2p",0x7220 },
@@ -246,6 +243,24 @@ static struct dev_name_struct {
{ "ataraid/d13p",0x72D0 },
{ "ataraid/d14p",0x72E0 },
{ "ataraid/d15p",0x72F0 },
+ { "rd/c0d0p",0x3000 },
+ { "rd/c0d0p1",0x3001 },
+ { "rd/c0d0p2",0x3002 },
+ { "rd/c0d0p3",0x3003 },
+ { "rd/c0d0p4",0x3004 },
+ { "rd/c0d0p5",0x3005 },
+ { "rd/c0d0p6",0x3006 },
+ { "rd/c0d0p7",0x3007 },
+ { "rd/c0d0p8",0x3008 },
+ { "rd/c0d1p",0x3008 },
+ { "rd/c0d1p1",0x3009 },
+ { "rd/c0d1p2",0x300a },
+ { "rd/c0d1p3",0x300b },
+ { "rd/c0d1p4",0x300c },
+ { "rd/c0d1p5",0x300d },
+ { "rd/c0d1p6",0x300e },
+ { "rd/c0d1p7",0x300f },
+ { "rd/c0d1p8",0x3010 },
{ "nftla", 0x5d00 },
{ "nftlb", 0x5d10 },
{ "nftlc", 0x5d20 },
@@ -255,6 +270,7 @@ static struct dev_name_struct {
{ "ftlc", 0x2c10 },
{ "ftld", 0x2c18 },
{ "mtdblock", 0x1f00 },
+ { "nb", 0x2b00 },
{ NULL, 0 }
};
@@ -475,6 +491,7 @@ static int __init crd_load(int in_fd, int out_fd);
* minix
* ext2
* romfs
+ * cramfs
* gzip
*/
static int __init
@@ -484,6 +501,7 @@ identify_ramdisk_image(int fd, int start_block)
struct minix_super_block *minixsb;
struct ext2_super_block *ext2sb;
struct romfs_super_block *romfsb;
+ struct cramfs_super *cramfsb;
int nblocks = -1;
unsigned char *buf;
@@ -494,6 +512,7 @@ identify_ramdisk_image(int fd, int start_block)
minixsb = (struct minix_super_block *) buf;
ext2sb = (struct ext2_super_block *) buf;
romfsb = (struct romfs_super_block *) buf;
+ cramfsb = (struct cramfs_super *) buf;
memset(buf, 0xe5, size);
/*
@@ -523,6 +542,14 @@ identify_ramdisk_image(int fd, int start_block)
goto done;
}
+ if (cramfsb->magic == CRAMFS_MAGIC) {
+ printk(KERN_NOTICE
+ "RAMDISK: cramfs filesystem found at block %d\n",
+ start_block);
+ nblocks = (cramfsb->size + BLOCK_SIZE - 1) >> BLOCK_SIZE_BITS;
+ goto done;
+ }
+
/*
* Read block 1 to test for minix and ext2 superblock
*/
@@ -609,7 +636,7 @@ static int __init rd_load_image(char *from)
rd_blocks >>= 1;
if (nblocks > rd_blocks) {
- printk("RAMDISK: image too big! (%d/%d blocks)\n",
+ printk("RAMDISK: image too big! (%d/%lu blocks)\n",
nblocks, rd_blocks);
goto done;
}
@@ -636,11 +663,11 @@ static int __init rd_load_image(char *from)
goto done;
}
- printk(KERN_NOTICE "RAMDISK: Loading %d blocks [%d disk%s] into ram disk... ",
+ printk(KERN_NOTICE "RAMDISK: Loading %d blocks [%ld disk%s] into ram disk... ",
nblocks, ((nblocks-1)/devblocks)+1, nblocks>devblocks ? "s" : "");
for (i=0; i < nblocks; i++) {
if (i && (i % devblocks == 0)) {
- printk("done disk #%d.\n", i/devblocks);
+ printk("done disk #%ld.\n", i/devblocks);
rotate = 0;
if (close(in_fd)) {
printk("Error closing the disk.\n");
@@ -652,7 +679,7 @@ static int __init rd_load_image(char *from)
printk("Error opening disk.\n");
goto noclose_input;
}
- printk("Loading disk #%d... ", i/devblocks+1);
+ printk("Loading disk #%ld... ", i/devblocks+1);
}
read(in_fd, buf, BLOCK_SIZE);
write(out_fd, buf, BLOCK_SIZE);
@@ -748,7 +775,8 @@ static void __init devfs_make_root(char *name)
static void __init mount_root(void)
{
#ifdef CONFIG_ROOT_NFS
- if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) {
+ if (MAJOR(ROOT_DEV) == NFS_MAJOR
+ && MINOR(ROOT_DEV) == NFS_MINOR) {
if (mount_nfs_root()) {
sys_chdir("/root");
ROOT_DEV = current->fs->pwdmnt->mnt_sb->s_dev;
@@ -829,6 +857,8 @@ static void __init handle_initrd(void)
sys_fchdir(root_fd);
sys_chroot(".");
sys_umount("/old/dev", 0);
+ close(old_fd);
+ close(root_fd);
if (real_root_dev == ram0) {
sys_chdir("/old");
@@ -907,6 +937,8 @@ out:
mount_devfs_fs ();
}
+#ifdef CONFIG_BLK_DEV_RAM
+
#if defined(BUILD_CRAMDISK) && defined(CONFIG_BLK_DEV_RAM)
/*
@@ -1053,3 +1085,4 @@ static int __init crd_load(int in_fd, int out_fd)
}
#endif /* BUILD_CRAMDISK && CONFIG_BLK_DEV_RAM */
+#endif /* CONFIG_BLK_DEV_RAM */
diff --git a/mm/mmap.c b/mm/mmap.c
index 98889ad..d0999d7 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -404,10 +404,12 @@ unsigned long do_mmap_pgoff(struct mm_struct *mm, struct file * file,
if (file && (!file->f_op || !file->f_op->mmap))
return -ENODEV;
- if ((len = PAGE_ALIGN(len)) == 0)
+ if (!len)
return addr;
- if (len > TASK_SIZE)
+ len = PAGE_ALIGN(len);
+
+ if (len > TASK_SIZE || len == 0)
return -EINVAL;
/* offset overflow? */
@@ -901,6 +903,8 @@ static void free_pgtables(struct mm_struct * mm, struct vm_area_struct *prev,
break;
}
no_mmaps:
+ if (last < first)
+ return;
/*
* If the PGD bits are not consecutive in the virtual address, the
* old method of shifting the VA >> by PGDIR_SHIFT doesn't work.
diff --git a/mm/slab.c b/mm/slab.c
index 0fbf7b1..b8c2172 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -989,6 +989,8 @@ int kmem_cache_shrink(kmem_cache_t *cachep)
* cache being allocated each time a module is loaded and unloaded, if the
* module doesn't have persistent in-kernel storage across loads and unloads.
*
+ * The cache must be empty before calling this function.
+ *
* The caller must guarantee that noone will allocate memory from the cache
* during the kmem_cache_destroy().
*/
@@ -1946,13 +1948,13 @@ static int s_show(struct seq_file *m, void *p)
name = cachep->name;
{
- mm_segment_t fs;
char tmp;
- fs = get_fs();
+ mm_segment_t old_fs;
+ old_fs = get_fs();
set_fs(KERNEL_DS);
if (__get_user(tmp, name))
name = "broken";
- set_fs(fs);
+ set_fs(old_fs);
}
seq_printf(m, "%-17s %6lu %6lu %6u %4lu %4lu %4u",