From 8708081a01a064f8356f580445cc57f6aa2b9648 Mon Sep 17 00:00:00 2001 From: "iap10@labyrinth.cl.cam.ac.uk" Date: Fri, 19 Dec 2003 14:38:09 +0000 Subject: bitkeeper revision 1.649.1.1 (3fe30d51wHoC4YRHGfqLuwa5BdH7-g) Upgrade to Linux 2.4.23 --- BitKeeper/etc/ignore | 11 + .../Documentation/Configure.help | 1351 +++++++++++++++++--- xenolinux-2.4.22-sparse/Makefile | 3 +- xenolinux-2.4.22-sparse/arch/xeno/config.in | 6 + xenolinux-2.4.22-sparse/arch/xeno/defconfig | 73 +- xenolinux-2.4.22-sparse/arch/xeno/kernel/irq.c | 45 +- xenolinux-2.4.22-sparse/arch/xeno/kernel/setup.c | 53 +- xenolinux-2.4.22-sparse/arch/xeno/mm/ioremap.c | 2 +- xenolinux-2.4.22-sparse/drivers/block/ll_rw_blk.c | 23 + xenolinux-2.4.22-sparse/drivers/char/mem.c | 14 +- xenolinux-2.4.22-sparse/drivers/char/tty_io.c | 15 +- xenolinux-2.4.22-sparse/fs/exec.c | 15 +- xenolinux-2.4.22-sparse/init/do_mounts.c | 1 + xenolinux-2.4.22-sparse/kernel/panic.c | 8 + xenolinux-2.4.22-sparse/kernel/printk.c | 4 + xenolinux-2.4.22-sparse/mm/memory.c | 5 +- xenolinux-2.4.22-sparse/mm/mprotect.c | 2 +- 17 files changed, 1425 insertions(+), 206 deletions(-) diff --git a/BitKeeper/etc/ignore b/BitKeeper/etc/ignore index 8ceb5a914c..ea3cbe4ab9 100644 --- a/BitKeeper/etc/ignore +++ b/BitKeeper/etc/ignore @@ -523,3 +523,14 @@ tools/xc/lib/xc_private.o tools/xc/lib/xc_vbd.o tools/xc/lib/xc_vif.o xen/xen.s +xen/drivers/message/fusion/driver.o +xen/drivers/message/fusion/mptbase.o +xen/drivers/message/fusion/mptscsih.o +xen/drivers/net/e1000/kcompat.o +xen/drivers/scsi/sym53c8xx_2/sym53c8xx.o +xen/drivers/scsi/sym53c8xx_2/sym_fw.o +xen/drivers/scsi/sym53c8xx_2/sym_glue.o +xen/drivers/scsi/sym53c8xx_2/sym_hipd.o +xen/drivers/scsi/sym53c8xx_2/sym_malloc.o +xen/drivers/scsi/sym53c8xx_2/sym_misc.o +xen/drivers/scsi/sym53c8xx_2/sym_nvram.o diff --git a/xenolinux-2.4.22-sparse/Documentation/Configure.help b/xenolinux-2.4.22-sparse/Documentation/Configure.help index d8f5a5f388..cf0e01c9c4 100644 --- a/xenolinux-2.4.22-sparse/Documentation/Configure.help +++ b/xenolinux-2.4.22-sparse/Documentation/Configure.help @@ -2,8 +2,6 @@ # Eric S. Raymond # Steven Cole # -# Version 3.01: current with 2.4.19+ -# # Translations of this file available on the WWW: # # - Japanese, maintained by the JF Project , at @@ -19,13 +17,6 @@ # - Catalan, by Antoni Bella , at # # -# To access a document on the WWW, you need to have a direct Internet -# connection and a browser program such as netscape or lynx. If you -# only have email access, you can still use FTP and WWW servers: send -# an email to with the text -# send usenet/news.answers/internet-services/access-via-email -# in the body of the message. -# # Information about what a kernel is, what it does, how to patch and # compile it and much more is contained in the Kernel-HOWTO, available # at . Before you start @@ -109,6 +100,15 @@ CONFIG_OBSOLETE like MGA monitors that you are very unlikely to see on today's systems. +Prompt for advanced kernel configuration options +CONFIG_ADVANCED_OPTIONS + This option will enable prompting for a variety of advanced kernel + configuration options. These options can cause the kernel to not + work if they are set incorrectly, but can be used to optimize certain + aspects of kernel memory management. + + Unless you know what you are doing you *should not* enable this option. + Symmetric Multi-Processing support CONFIG_SMP This enables support for systems with more than one CPU. If you have @@ -137,6 +137,15 @@ CONFIG_SMP If you don't know what to do here, say N. +Maximum number of CPUs +CONFIG_NR_CPUS + This allows you to specify the maximum number of CPUs which this + kernel will support. The maximum supported value is 32 and the + mimimum value which makes sense is 2. + + This is purely to save memory - each supported CPU adds + approximately eight kilobytes to the kernel image. + Intel or compatible 80x86 processor CONFIG_X86 This is Linux's home port. Linux was originally native to the Intel @@ -1149,6 +1158,15 @@ CONFIG_BLK_DEV_CMD64X Say Y here if you have an IDE controller which uses any of these chipsets: CMD643, CMD646 and CMD648. +Compaq Triflex IDE support +CONFIG_BLK_DEV_TRIFLEX + Say Y here if you have a Compaq Triflex IDE controller, such + as those commonly found on Compaq Pentium-Pro systems + + If you want to compile it as a module, say M here and read + . The module will be called + triflex.o. + CY82C693 chipset support CONFIG_BLK_DEV_CY82C693 This driver adds detection and support for the CY82C693 chipset @@ -1218,11 +1236,26 @@ CONFIG_BLK_DEV_OPTI621 This is a driver for the OPTi 82C621 EIDE controller. Please read the comments at the top of . +National SCx200 chipset support +CONFIG_BLK_DEV_SC1200 + This driver adds support for the built in IDE on the National + SCx200 series of embedded x86 "Geode" systems + + If you want to compile it as a module, say M here and read + . The module will be called + sc1200.o. + ServerWorks OSB4/CSB5 chipset support CONFIG_BLK_DEV_SVWKS This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5 chipsets. +SGI IOC4 chipset support +CONFIG_BLK_DEV_SGIIOC4 + This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4 + chipset. Please say Y here, if you have an Altix System from + Silicon Graphics Inc. + Intel PIIXn chipsets support CONFIG_BLK_DEV_PIIX This driver adds PIO mode setting and tuning for all PIIX IDE @@ -1272,6 +1305,29 @@ CONFIG_BLK_DEV_PDC202XX_OLD If unsure, say N. +PROMISE PDC202{68|69|70|71|75|76|77} support +CONFIG_BLK_DEV_PDC202XX_NEW + Promise Ultra 100 TX2 [PDC20268] + Promise Ultra 133 PTX2 [PDC20269] + Promise FastTrak LP/TX2/TX4 [PDC20270] + Promise FastTrak TX2000 [PDC20271] + Promise MB Ultra 133 [PDC20275] + Promise MB FastTrak 133 [PDC20276] + Promise FastTrak 133 [PDC20277] + + This driver adds up to 4 more EIDE devices sharing a single + interrupt. This device is a bootable PCI UDMA controller. Since + multiple cards can be installed and there are BIOS ROM problems that + happen if the BIOS revisions of all installed cards (max of five) do + not match, the driver attempts to do dynamic tuning of the chipset + at boot-time for max speed. Ultra33 BIOS 1.25 or newer is required + for more than one card. + + If you say Y here, you need to say Y to "Use DMA by default when + available" as well. + + If unsure, say N. + Special UDMA Feature CONFIG_PDC202XX_BURST This option causes the pdc202xx driver to enable UDMA modes on the @@ -2039,6 +2095,17 @@ CONFIG_ALGOR_P4032 The board uses the R4300 and a R5230 CPUs. For more information about this board see . +SGI SN2 L1 serial port support +CONFIG_SGI_L1_SERIAL + If you have an SGI SN2 and you want to use the serial port connected + to the system controller (you want this!), say Y. Otherwise, say N. + +SGI SN2 L1 serial console support +CONFIG_SGI_L1_SERIAL_CONSOLE + If you have an SGI SN2 and you would like to use the system + controller serial port as your console (you want this!), say Y. + Otherwise, say N. + Support for BAGET MIPS series CONFIG_BAGET_MIPS This enables support for the Baget, a Russian embedded system. For @@ -3225,6 +3292,255 @@ CONFIG_IP6_NF_TARGET_LOG If you want to compile it as a module, say M here and read . If unsure, say `N'. +IP: virtual server support +CONFIG_IP_VS + IP Virtual Server support will let you build a high-performance + virtual server based on cluster of two or more real servers. This + option must be enabled for at least one of the clustered computers + that will take care of intercepting incomming connections to a + single IP address and scheduling them to real servers. + + Three request dispatching techniques are implemented, they are + virtual server via NAT, virtual server via tunneling and virtual + server via direct routing. The several scheduling algorithms can + be used to choose which server the connection is directed to, + thus load balancing can be achieved among the servers. For more + information and its administration program, please visit the + following URL: + http://www.linuxvirtualserver.org/ + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IP virtual server debugging +CONFIG_IP_VS_DEBUG + Say Y here if you want to get additional messages useful in + debugging the IP virtual server code. You can change the debug + level in /proc/sys/net/ipv4/vs/debug_level + +IPVS connection hash table size (the Nth power of 2) +CONFIG_IP_VS_TAB_BITS + The IPVS connection hash table uses the chaining scheme to handle + hash collisions. Using a big IPVS connection hash table will greatly + reduce conflicts when there are hundreds of thousands of connections + in the hash table. + + Note the table size must be power of 2. The table size will be the + value of 2 to the your input number power. The number to choose is + from 8 to 20, the default number is 12, which means the table size + is 4096. Don't input the number too small, otherwise you will lose + performance on it. You can adapt the table size yourself, according + to your virtual server application. It is good to set the table size + not far less than the number of connections per second multiplying + average lasting time of connection in the table. For example, your + virtual server gets 200 connections per second, the connection lasts + for 200 seconds in average in the connection table, the table size + should be not far less than 200x200, it is good to set the table + size 32768 (2**15). + + Another note that each connection occupies 128 bytes effectively and + each hash entry uses 8 bytes, so you can estimate how much memory is + needed for your box. + +IPVS: round-robin scheduling +CONFIG_IP_VS_RR + The robin-robin scheduling algorithm simply directs network + connections to different real servers in a round-robin manner. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: weighted round-robin scheduling +CONFIG_IP_VS_WRR + The weighted robin-robin scheduling algorithm directs network + connections to different real servers based on server weights + in a round-robin manner. Servers with higher weights receive + new connections first than those with less weights, and servers + with higher weights get more connections than those with less + weights and servers with equal weights get equal connections. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: least-connection scheduling +CONFIG_IP_VS_LC + The least-connection scheduling algorithm directs network + connections to the server with the least number of active + connections. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: weighted least-connection scheduling +CONFIG_IP_VS_WLC + The weighted least-connection scheduling algorithm directs network + connections to the server with the least active connections + normalized by the server weight. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: locality-based least-connection scheduling +CONFIG_IP_VS_LBLC + The locality-based least-connection scheduling algorithm is for + destination IP load balancing. It is usually used in cache cluster. + This algorithm usually directs packet destined for an IP address to + its server if the server is alive and under load. If the server is + overloaded (its active connection numbers is larger than its weight) + and there is a server in its half load, then allocate the weighted + least-connection server to this IP address. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: locality-based least-connection with replication scheduling +CONFIG_IP_VS_LBLCR + The locality-based least-connection with replication scheduling + algorithm is also for destination IP load balancing. It is + usually used in cache cluster. It differs from the LBLC scheduling + as follows: the load balancer maintains mappings from a target + to a set of server nodes that can serve the target. Requests for + a target are assigned to the least-connection node in the target's + server set. If all the node in the server set are over loaded, + it picks up a least-connection node in the cluster and adds it + in the sever set for the target. If the server set has not been + modified for the specified time, the most loaded node is removed + from the server set, in order to avoid high degree of replication. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: destination hashing scheduling +CONFIG_IP_VS_DH + The destination hashing scheduling algorithm assigns network + connections to the servers through looking up a statically assigned + hash table by their destination IP addresses. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: source hashing scheduling +CONFIG_IP_VS_SH + The source hashing scheduling algorithm assigns network + connections to the servers through looking up a statically assigned + hash table by their source IP addresses. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: shortest expected delay scheduling +CONFIG_IP_VS_SED + The shortest expected delay scheduling algorithm assigns network + connections to the server with the shortest expected delay. The + expected delay that the job will experience is (Ci + 1) / Ui if + sent to the ith server, in which Ci is the number of connections + on the the ith server and Ui is the fixed service rate (weight) + of the ith server. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: never queue scheduling +CONFIG_IP_VS_NQ + The never queue scheduling algorithm adopts a two-speed model. + When there is an idle server available, the job will be sent to + the idle server, instead of waiting for a fast one. When there + is no idle server available, the job will be sent to the server + that minimize its expected delay (The Shortest Expected Delay + scheduling algorithm). + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +IPVS: FTP protocol helper +CONFIG_IP_VS_FTP + FTP is a protocol that transfers IP address and/or port number in + the payload. In the virtual server via Network Address Translation, + the IP address and port number of real servers cannot be sent to + clients in ftp connections directly, so FTP protocol helper is + required for tracking the connection and mangling it back to that of + virtual service. + + If you want to compile it in kernel, say Y. If you want to compile + it as a module, say M here and read Documentation/modules.txt. If + unsure, say N. + +AH/ESP match support (EXPERIMENTAL) +CONFIG_IP6_NF_MATCH_AHESP + This module allows one to match AH and ESP packets. + + If you want to compile it as a module, say M here and read + . The modules will be called + ip6t_ah.o and ip6t_esp.o. + + If unsure, say 'N'. + +Routing header match support +CONFIG_IP6_NF_MATCH_RT + rt matching allows you to match packets based on the routing + header of the packet. + + If you want to compile it as a module, say M here and read + . The module will be called + ip6t_rt.o. + + If unsure, say 'N'. + +Hop-by-hop and Dst opts header match support +CONFIG_IP6_NF_MATCH_OPTS + This allows one to match packets based on the hop-by-hop + and destination options headers of a packet. + + If you want to compile it as a module, say M here and read + . The modules will be called + ip6t_hbh.o and ip6t_dst.o. + + If unsure, say 'N'. + +Fragmentation header match support +CONFIG_IP6_NF_MATCH_FRAG + frag matching allows you to match packets based on the fragmentation + header of the packet. + + If you want to compile it as a module, say M here and read + . The module will be called + ip6t_frag.o. + + If unsure, say 'N'. + +HL match support +CONFIG_IP6_NF_MATCH_HL + HL matching allows you to match packets based on the hop + limit of the packet. + + If you want to compile it as a module, say M here and read + . The module will be called + ip6t_hl.o. + + If unsure, say 'N'. + +IPv6 Extension Headers Match (EXPERIMENTAL) +CONFIG_IP6_NF_MATCH_IPV6HEADER + This module allows one to match packets based upon + the ipv6 extension headers. + + If you want to compile it as a module, say M here and read + . The module will be called + ip6t_ipv6header.o. + + If unsure, say 'N'. + SYN flood protection CONFIG_SYN_COOKIES Normal TCP/IP networking is open to an attack known as "SYN @@ -3705,27 +4021,27 @@ 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 +CONFIG_AGP_AMD_K8 This option gives you AGP support for the GLX component of - XFree86 on AMD K8 with an AGP 8151 chipset. + XFree86 on an AMD Opteron/Athlon64 using the on-CPU GART. 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 - to be released" XFree86 4.x on Silicon Integrated Systems [SiS] - chipsets. + This option gives you AGP support for the GLX component of + XFree86 4.x on Silicon Integrated Systems [SiS] chipsets. - Note that 5591/5592 AGP chipsets are NOT supported. + Note that 5591/5592 AGP chipsets are NOT specifically supported; + However, the driver works well on these, too. 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. Serverworks LE/HE support CONFIG_AGP_SWORKS - Say Y here to support the Serverworks AGP card. See + Say Y here to support the Serverworks AGP card. See for product descriptions and images. NVIDIA chipset support @@ -3756,6 +4072,13 @@ CONFIG_AGP_HP_ZX1 This option gives you AGP GART support for the HP ZX1 chipset for IA64 processors. +CONFIG_AGP_ATI + This option gives you AGP support for the GLX component of + XFree86 4.x on the ATI RadeonIGP family of 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. + Support for ISA-bus hardware CONFIG_ISA Find out whether you have ISA slots on your motherboard. ISA is the @@ -5115,21 +5438,23 @@ CONFIG_FB_HIT This is the frame buffer device driver for the Hitachi HD64461 LCD frame buffer card. -SIS acceleration +SIS display support CONFIG_FB_SIS - This is the frame buffer device driver for the SiS 630 and 640 Super - Socket 7 UMA cards. Specs available at . + This is the frame buffer device driver for the SiS 300, 315 and 330 + series chipsets. Documentation available at the maintainer's site + at . -SIS 630/540/730 support +SIS 300 series support CONFIG_FB_SIS_300 - This is the frame buffer device driver for the SiS 630 and related - Super Socket 7 UMA cards. Specs available at - . + This enables support for SiS 300 series chipsets (300/305, 540, 630, + 730). Documentation available at the maintainer's website at + . -SIS 315H/315 support +SIS 315/330 series support CONFIG_FB_SIS_315 - This is the frame buffer device driver for the SiS 315 graphics - card. Specs available at . + This enables support for SiS 315/330 series chipsets (315, 550, 650, + M650, 651, 661FX, M661FX, 740, 741, 330). Documentation available at + the maintainer's site . IMS Twin Turbo display support CONFIG_FB_IMSTT @@ -5185,6 +5510,17 @@ CONFIG_FB_ATY_GX is at . +Mach64 Generic LCD support +CONFIG_FB_ATY_GENERIC_LCD + Enabling this option enables the Atyfb driver to drive LCD panels. It + will autodetect the resulution and format of your display and emulate + other resolutions using the hardware stretcher on the chip. + Say Y here if you have computer with a Rage LT Pro, Rage Mobility M1, + Rage XC or Rage XL chip and a laptop LCD display or any other LCD display + that needs to be digitally driven. It is not necessary to enable this + option if you are using an LCD display with a normal VGA connector, + but it won't hurt if you do. + ATI Radeon display support CONFIG_FB_RADEON Choose this option if you want to use an ATI Radeon graphics card as @@ -5789,6 +6125,61 @@ CONFIG_IPV6 It is safe to say N here for now. +The SCTP Protocol (EXPERIMENTAL) +CONFIG_IP_SCTP + Stream Control Transmission Protocol + + From RFC 2960 (http://www.ietf.org/rfc/rfc2960.txt) + + "SCTP is a reliable transport protocol operating on top of a + connectionless packet network such as IP. It offers the following + services to its users: + + -- acknowledged error-free non-duplicated transfer of user data, + -- data fragmentation to conform to discovered path MTU size, + -- sequenced delivery of user messages within multiple streams, + with an option for order-of-arrival delivery of individual user + messages, + -- optional bundling of multiple user messages into a single SCTP + packet, and + -- network-level fault tolerance through supporting of multi- + homing at either or both ends of an association." + + This protocol support 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 sctp. If you want to compile it + as a module, say M here and read . + + If in doubt, say N. + +SCTP: Use old checksum (Adler-32) +CONFIG_SCTP_ADLER32 + RCF2960 currently specifies the Adler-32 checksum algorithm for SCTP. + This has been deprecated and replaced by an algorithm now referred + to as crc32c. + + If you say Y, this will use the Adler-32 algorithm, this might be + useful for interoperation with downlevel peers. + + If unsure, say N. + +SCTP: Debug messages +CONFIG_SCTP_DBG_MSG + If you say Y, this will enable verbose debugging messages. + + If unsure, say N. However, if you are running into problems, use + this option to gather detailed trace information + +SCTP: Debug object counts +CONFIG_SCTP_DBG_OBJCNT + If you say Y, this will enable debugging support for counting the + type of objects that are currently allocated. This is useful for + identifying memory leaks. If the /proc filesystem is enabled this + debug information can be viewed by + 'cat /proc/net/sctp/sctp_dbg_objcnt' + + If unsure, say N + Kernel httpd acceleration CONFIG_KHTTPD The kernel httpd acceleration daemon (kHTTPd) is a (limited) web @@ -6923,7 +7314,7 @@ SCSI tape drive support for Smart Array 5xxx CONFIG_CISS_SCSI_TAPE When enabled (Y), this option allows SCSI tape drives and SCSI medium changers (tape robots) to be accessed via a Compaq 5xxx array - controller. (See Documentation/cciss.txt for more details.) + controller. (See for more details.) "SCSI support" and "SCSI tape support" must also be enabled for this option to work. @@ -6931,6 +7322,15 @@ CONFIG_CISS_SCSI_TAPE When this option is disabled (N), the SCSI portion of the driver is not compiled. +Enable monitor thread +CONFIG_CISS_MONITOR_THREAD + Intended for use with multipath configurations (see the md driver). + This option allows a per-adapter monitoring thread to periodically + poll the adapter to detect failure modes in which the processor + is unable to receive interrupts from the adapter, thus enabling + fail-over to an alternate adapter in such situations. See + for more details. + QuickNet Internet LineJack/PhoneJack support CONFIG_PHONE_IXJ Say M if you have a telephony card manufactured by Quicknet @@ -7095,6 +7495,16 @@ CONFIG_FUSION architecture is based on LSI Logic's Message Passing Interface (MPI) specification. +Maximum number of scatter gather entries +CONFIG_FUSION_MAX_SGE + This option allows you to specify the maximum number of scatter- + gather entries per I/O. The driver defaults to 40, a reasonable number + for most systems. However, the user may increase this up to 128. + Increasing this parameter will require significantly more memory + on a per controller instance. Increasing the parameter is not + necessary (or recommended) unless the user will be running + large I/O's via the raw interface. + Fusion MPT enhanced SCSI error reporting [optional] module CONFIG_FUSION_ISENSE The isense module (roughly stands for Interpret SENSE data) is @@ -7362,6 +7772,27 @@ CONFIG_SCSI_LOGGING there should be no noticeable performance impact as long as you have logging turned off. +QDIO base support for IBM S/390 and zSeries +CONFIG_QDIO + This driver provides the Queued Direct I/O base support for the + IBM S/390 (G5 and G6) and eServer zSeries (z800 and z900). + + For details please refer to the documentation provided by IBM at + + + 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 qdio.o. If you want to compile it as a + module, say M here and read . + + If unsure, say Y. + +Performance statistics for QDIO base support +CONFIG_QDIO_PERF_STATS + Say Y here to get performance statistics in /proc/qdio_perf + + If unsure, say N. + SGI WD93C93 SCSI Driver CONFIG_SCSI_SGIWD93 Say Y here to support the on-board WD93C93 SCSI controller found (a) @@ -7972,7 +8403,7 @@ CONFIG_SCSI_SYM53C8XX_2 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 . The module - will be called sym53c8xx.o. + will be called sym53c8xx_2.o. PCI DMA addressing mode CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE @@ -8635,16 +9066,31 @@ CONFIG_SCSI_AM53C974 say M here and read . The module will be called AM53C974.o. -AMI MegaRAID support +AMI MegaRAID support (old driver) CONFIG_SCSI_MEGARAID - This driver supports the AMI MegaRAID 418, 428, 438, 466, 762, 490 - and 467 SCSI host adapters. + This driver supports the AMI MegaRAID 418, 428, 438, 466, 762, 490, + 467, 471 and 493 SCSI host adapters. + + This is the old and very heavily tested driver but lacks features + like clustering. 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 . The module will be called megaraid.o. +AMI MegaRAID support (new driver) +CONFIG_SCSI_MEGARAID2 + This driver supports the AMI MegaRAID 418, 428, 438, 466, 762, 490, + 467, 471, 493 and new Ultra320(518, 520, 531, 532) SCSI host adapters. + + This is the newer less tested but more featureful driver. + + 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 . The module + will be called megaraid2.o. + Intel/ICP (former GDT SCSI Disk Array) RAID Controller support CONFIG_SCSI_GDTH Formerly called GDT SCSI Disk Array Controller Support. @@ -8987,6 +9433,17 @@ CONFIG_IEEE1394_VERBOSEDEBUG Say Y if you really want or need the debugging output, everyone else says N. +CONFIG_IEEE1394_OUI_DB + If you say Y here, then an OUI list (vendor unique ID's) will be + compiled into the ieee1394 module. This doesn't really do much + except being able to display the vendor of a hardware node. The + downside is that it adds about 300k to the size of the module, + or kernel (depending on whether you compile ieee1394 as a + module, or static in the kernel). + + This option is not needed for userspace programs like gscanbus + to show this information. + Network device support CONFIG_NETDEVICES You can say N here if you don't intend to connect your Linux box to @@ -9645,6 +10102,17 @@ CONFIG_PLX_HERMES Support for these adaptors is so far still incomplete and buggy. You have been warned. +Hermes 802.11b in TMD7160/NCP130 based PCI adaptor support +CONFIG_TMD_HERMES + Enable support for PCMCIA cards supported by the "Hermes" (aka + orinoco) driver when used in TMD7160 based PCI adaptors. These + adaptors are not a full PCMCIA controller but act as a more limited + PCI <-> PCMCIA bridge. Several vendors sell such adaptors so that + 802.11b PCMCIA cards can be used in desktop machines. + + Support for these adaptors is so far still incomplete and buggy. + You have been warned. + Prism 2.5 PCI 802.11b adaptor support CONFIG_PCI_HERMES Enable support for PCI and mini-PCI 802.11b wireless NICs based on @@ -9910,36 +10378,17 @@ CONFIG_FARSYNC This driver supports the FarSync T-Series X.21 (and V.35/V.24) cards from FarSite Communications Ltd. Synchronous communication is supported on all ports at speeds up to - 8Mb/s (128K on V.24) using synchronous PPP or Cisco HDLC. + 8Mb/s (128K on V.24) using synchronous PPP, Cisco HDLC, raw HDLC, + Frame Relay or X.25/LAPB. 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 . The module will be called farsync.o and if you want the module to be automatically loaded when the interface is referenced then you - should add "alias syncX farsync" to /etc/modules.conf for each + should add "alias hdlcX 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 @@ -10464,6 +10913,26 @@ CONFIG_DSCC4 The module will be called dscc4.o. For general information about modules read . +PCISYNC feature +CONFIG_DSCC4_PCISYNC + Due to Etinc's design choice for its PCISYNC cards, some operations + are only allowed on specific ports of the DSCC4. This option is the + only way for the driver to know that it shouldn't return a success + code for these operations. + + Please say Y if your card is an Etinc's PCISYNC. + +Hard reset support +CONFIG_DSCC4_PCI_RST + Various DSCC4 bug forbid any reliable software reset of the asic. + As a replacement, some vendors provide a way to assert the PCI #RST + pin of DSCC4 through the GPIO port of the card. If you choose Y, the + driver will make use of this feature before module removal (i.e. rmmod). + This feature is known to exist on Commtech's cards. + Contact your manufacturer for details. + + Say Y if yout card supports this feature. + LanMedia Corp. serial boards (SSI/V.35, T1/E1, HSSI, T3) CONFIG_LANMEDIA This is a driver for the following Lan Media family of serial @@ -10812,6 +11281,15 @@ CONFIG_HDLC_RAW If unsure, say N here. +Raw HDLC Ethernet device support +CONFIG_HDLC_RAW_ETH + Say Y to this option if you want generic HDLC driver to support + raw HDLC Ethernet device emulation over WAN (Wide Area Network) + connections. + You will need it for Ethernet over HDLC bridges. + + If unsure, say N here. + Cisco HDLC support CONFIG_HDLC_CISCO Say Y to this option if you want generic HDLC driver to support @@ -10826,13 +11304,6 @@ CONFIG_HDLC_FR If unsure, say N here. -Frame-Relay bridging support -CONFIG_HDLC_FR_BRIDGE - Say Y to this option if you want generic HDLC driver to support - bridging LAN frames over Frame-Relay links. - - If unsure, say N here. - Synchronous Point-to-Point Protocol (PPP) support CONFIG_HDLC_PPP Say Y to this option if you want generic HDLC driver to support @@ -10875,6 +11346,25 @@ CONFIG_C101 If unsure, say N here. +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. + Ethernet (10 or 100Mbit) CONFIG_NET_ETHERNET Ethernet (also called IEEE 802.3 or ISO 8802-2) is the most common @@ -11203,33 +11693,69 @@ CONFIG_ACENIC_OMIT_TIGON_I The safe and default value for this is N. -SysKonnect SK-98xx and SK-95xx Gigabit Ethernet Adapter family support +Marvell Yukon / SysKonnect SK-98xx and SK-95xx Gigabit Ethernet Adapter family support CONFIG_SK98LIN - 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 + Say Y here if you have a Marvell Yukon or SysKonnect SK-98xx/SK-95xx + compliant Gigabit Ethernet Adapter. The following adapters are supported + by this driver: + - 3Com 3C940 Gigabit LOM Ethernet Adapter + - 3Com 3C941 Gigabit LOM Ethernet Adapter + - Allied Telesyn AT-2970LX Gigabit Ethernet Adapter + - Allied Telesyn AT-2970LX/2SC Gigabit Ethernet Adapter + - Allied Telesyn AT-2970SX Gigabit Ethernet Adapter + - Allied Telesyn AT-2970SX/2SC Gigabit Ethernet Adapter + - Allied Telesyn AT-2970TX Gigabit Ethernet Adapter + - Allied Telesyn AT-2970TX/2TX Gigabit Ethernet Adapter + - Allied Telesyn AT-2971SX Gigabit Ethernet Adapter + - Allied Telesyn AT-2971T Gigabit Ethernet Adapter + - DGE-530T Gigabit Ethernet Adapter + - EG1032 v2 Instant Gigabit Network Adapter + - EG1064 v2 Instant Gigabit Network Adapter + - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Abit) + - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Asus) + - Marvell 88E8001 Gigabit LOM Ethernet Adapter (ECS) + - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Epox) + - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Gigabyte) + - Marvell 88E8001 Gigabit LOM Ethernet Adapter (Iwill) + - Marvell RDK-8001 Adapter + - Marvell RDK-8002 Adapter + - Marvell RDK-8003 Adapter + - Marvell RDK-8004 Adapter + - Marvell RDK-8006 Adapter + - Marvell RDK-8007 Adapter + - Marvell RDK-8008 Adapter + - Marvell RDK-8009 Adapter + - Marvell RDK-8010 Adapter + - Marvell RDK-8011 Adapter + - Marvell RDK-8012 Adapter + - Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (32 bit) + - Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Adapter (64 bit) + - N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L) + - SK-9521 10/100/1000Base-T Adapter + - SK-9521 V2.0 10/100/1000Base-T Adapter + - SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T) + - SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter + - SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link) + - SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX) + - SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter + - SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link) + - SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX) + - SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter + - SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link) + - SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter + - SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition) + - SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter + - SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link) + - SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX) + - SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter + - SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) + - SMC EZ Card 1000 (SMC9452TXV.2) 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 + Both Marvell Yukon and SysKonnect SK-98xx/SK-95xx adapters support + the scatter-gather functionality with sendfile(). Please refer to + Documentation/networking/sk98lin.txt for more information about optional driver parameters. Questions concerning this driver may be addressed to: linux@syskonnect.de @@ -11239,6 +11765,7 @@ CONFIG_SK98LIN say M here and read Documentation/modules.txt. This is recommended. The module will be called sk98lin.o. + Sun GEM support CONFIG_SUNGEM Support for the Sun GEM chip, aka Sun GigabitEthernet/P 2.0. See also @@ -13134,6 +13661,15 @@ CONFIG_MTD_CMDLINE_PARTS If unsure, say 'N'. +MTD concatenating support +CONFIG_MTD_CONCAT + Support for concatenating several MTD devices into a single + (virtual) one. This allows you to have -for example- a JFFS(2) + file system spanning multiple physical flash chips. If unsure, + say 'Y'. + + If compiled as a module, it will be called mtdconcat.o. + ARM Firmware Suite flash layout / partition parsing CONFIG_MTD_AFS_PARTS The ARM Firmware Suite allows the user to divide flash devices into @@ -13540,6 +14076,14 @@ CONFIG_MTD_DBOX2 D-Box 2 board. If you have one of these boards and would like to use the flash chips on it, say 'Y'. +CFI Flash devices mapped on IBM Redwood +CONFIG_MTD_REDWOOD + This enables access routines for the flash chips on the IBM + Redwood 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 redwood.o. + CFI Flash device mapped on the XScale IQ80310 board CONFIG_MTD_IQ80310 This enables access routines for the flash chips on the Intel XScale @@ -13672,6 +14216,20 @@ Support for the SPIA board CONFIG_MTD_NAND_SPIA If you had to ask, you don't have one. Say 'N'. +SmartMediaCard on autronix autcpu12 board +CONFIG_MTD_NAND_AUTCPU12 + This enables the driver for the autronix autcpu12 board to + access the SmartMediaCard. + + If compiled as a module, it will be called autcpu12.o. + +Support for Cirrus Logic EBD7312 evaluation board +CONFIG_MTD_NAND_EDB7312 + This enables the driver for the Cirrus Logic EBD7312 evaluation + board to access the onboard NAND Flash. + + If compiled as a module, it will be called edb7312.o. + M-Systems Disk-On-Chip 1000 support CONFIG_MTD_DOC1000 This provides an MTD device driver for the M-Systems DiskOnChip @@ -14113,6 +14671,25 @@ CONFIG_USB_OHCI The module will be called usb-ohci.o. If you want to compile it as a module, say M here and read . +SL811HS (x86, StrongARM) support +CONFIG_USB_SL811HS + Embedded Open Host Controller SL811HS from CYPRESS SEMICONDUCTOR INC. + + + Board USB1104 in i386 architecture with PC/104-bus. + + + + StrongARM is currently not testet and not for PC/104-bus! + StrongARM need a special hardware with Chip Select directly from CPU. + See also SL811HS_ALT. + +SL811HS_ALT (x86, StrongARM) support +CONFIG_USB_SL811HS_ALT + Embedded Open Host Controller SL811HS from CYPRESS SEMICONDUCTOR INC. + Alternate with isochornous mode and better interrupt handling. + See also SL811HS. + USB Human Interface Device (full HID) support CONFIG_USB_HID Say Y here if you want full HID support to connect keyboards, @@ -14170,8 +14747,8 @@ CONFIG_USB_KBD USB HIDBP Mouse (basic) support CONFIG_USB_MOUSE Say Y here only if you are absolutely sure that you don't want - to use the generic HID driver for your USB keyboard and prefer - to use the keyboard in its limited Boot Protocol mode instead. + to use the generic HID driver for your USB mouse and prefer + to use the mouse in its limited Boot Protocol mode instead. This is almost certainly not what you want. @@ -14531,6 +15108,9 @@ USB Keyspan USA-49W Firmware CONFIG_USB_SERIAL_KEYSPAN_USA49W Say Y here to include firmware for the USA-49W converter. +CONFIG_USB_SERIAL_KEYSPAN_USA49WLC + Say Y here to include firmware for the USA-49WLC converter. + USB ZyXEL omni.net LCD Plus Driver CONFIG_USB_SERIAL_OMNINET Say Y here if you want to use a ZyXEL omni.net LCD ISDN TA. @@ -14723,6 +15303,32 @@ CONFIG_USB_OV511 The module will be called ov511.o. If you want to compile it as a module, say M here and read . +USB W996[87]CF Camera support +CONFIG_USB_W9968CF + Say Y here if you want support for cameras based on + Winbond W9967CF/W9968CF JPEG USB Dual Mode Camera Chips. + + This driver has an optional plugin, which is distributed as a + separate module only (released under GPL). It contains code that + allows you to use higher resolutions and framerates, and can't + be included into the official Linux kernel for performance + purposes. + At the moment the driver needs a third-part module for the CMOS + sensors, which is available on internet: it is recommended to read + for more informations and for + a list of supported cameras. + + This driver uses the Video For Linux and the I2C APIs. + You must say Y or M to both "Video For Linux" and + "I2C Support" to use this driver. + Information on this API and pointers to "v4l" programs may be found + on the WWW at . + + 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 w9968cf.o. If you want to compile it as a + module, say M here and read . + USB Communication Class Ethernet device support CONFIG_USB_CDCETHER This driver supports devices conforming to the Communication Device @@ -15223,6 +15829,88 @@ CONFIG_USB_SPEEDTOUCH The module will be called speedtch.o. If you want to compile it as a module, say M here and read . +CONFIG_USB_GADGET + USB is a master/slave protocol, organized with one master + host (such as a PC) controlling up to 127 peripheral devices. + The USB hardware is asymmetric, which makes it easier to set up: + you can't connect two "to-the-host" connectors to each other. + + Linux can run in the host, or in the peripheral. In both cases + you need a low level bus controller driver, and some software + talking to it. Peripheral controllers are often discrete silicon, + or are integrated with the CPU in a microcontroller. The more + familiar host side controllers have names like like "EHCI", "OHCI", + or "UHCI", and are usually integrated into southbridges on PC + motherboards. + + Enable this configuration option if you want to run Linux inside + a USB peripheral device. Configure one hardware driver for your + peripheral/device side bus controller, and a "gadget driver" for + your peripheral protocol. (If you use modular gadget drivers, + you may configure more than one.) + + If in doubt, say "N" and don't enable these drivers; most people + don't have this kind of hardware (except maybe inside Linux PDAs). + +CONFIG_USB_NET2280 + NetChip 2280 is a PCI based USB peripheral controller which + supports both full and high speed USB 2.0 data transfers. + + It has six configurable endpoints, as well as endpoint zero + (for control transfers) and several endpoints with dedicated + functions. + + Say "y" to link the driver statically, or "m" to build a + dynamically linked module called "net2280" and force all + gadget drivers to also be dynamically linked. + +CONFIG_USB_ZERO + Gadget Zero is a two-configuration device. It either sinks and + sources bulk data; or it loops back a configurable number of + transfers. It also implements control requests, for "chapter 9" + conformance. The driver needs only two bulk-capable endpoints, so + it can work on top of most device-side usb controllers. It's + useful for testing, and is also a working example showing how + USB "gadget drivers" can be written. + + Make this be the first driver you try using on top of any new + USB peripheral controller driver. Then you can use host-side + test software, like the "usbtest" driver, to put your hardware + and its driver through a basic set of functional tests. + + Gadget Zero also works with the host-side "usb-skeleton" driver, + and with many kinds of host-side test software. You may need + to tweak product and vendor IDs before host software knows about + this device, and arrange to select an appropriate configuration. + + Say "y" to link the driver statically, or "m" to build a + dynamically linked module called "g_zero". + +CONFIG_USB_ETH + This driver implements Ethernet style communication, in either + of two ways: + + - The "Communication Device Class" (CDC) Ethernet Control Model. + That protocol is often avoided with pure Ethernet adapters, in + favor of simpler vendor-specific hardware, but is widely + supported by firmware for smart network devices. + + - On hardware can't implement that protocol, a simpler approach + is used, placing fewer demands on USB. + + Within the USB device, this gadget driver exposes a network device + "usbX", where X depends on what other networking devices you have. + Treat it like a two-node Ethernet link: host, and gadget. + + The Linux-USB host-side "usbnet" driver interoperates with this + driver, so that deep I/O queues can be supported. On 2.4 kernels, + use "CDCEther" instead, if you're using the CDC option. That CDC + mode should also interoperate with standard CDC Ethernet class + drivers on other host operating systems. + + Say "y" to link the driver statically, or "m" to build a + dynamically linked module called "g_ether". + Always do synchronous disk IO for UBD CONFIG_BLK_DEV_UBD_SYNC The User-Mode Linux port includes a driver called UBD which will let @@ -15537,21 +16225,15 @@ CONFIG_REISERFS_FS architectural foundations. In general, ReiserFS is as fast as ext2, but is very efficient with - large directories and small files. Additional patches are needed - for NFS and quotas, please see for links. - - It is more easily extended to have features currently found in - database and keyword search systems than block allocation based file - systems are. The next version will be so extended, and will support - plugins consistent with our motto ``It takes more than a license to - make source code open.'' - - Read to learn more about reiserfs. + large directories and small files. It is much faster for writes, + and slightly slower for reads than ext2. It is much faster than + ext3. It will be obsoleted by Reiser4 in not too long, so keep + an eye on our website for when Reiser4 ships. - Sponsored by Threshold Networks, Emusic.com, and Bigstorage.com. + Mount with the notail option if performance matters more to you than + saving space (the design flaw underlying this is fixed in reiser4). - If you like it, you can pay us to add new features to it that you - need, buy a support contract, or pay us to port it to another OS. + Read to learn more about reiserfs. Enable extra Reiserfs consistency checks CONFIG_REISERFS_CHECK @@ -17513,6 +18195,24 @@ CONFIG_HIL Enable this option if you intend to use a HIL keyboard. +HP System Device Controller support +CONFIG_HP_SDC + This option enables supports for the the "System Device Controller", + an i8042 carrying microcode to manage a few miscellanous devices + on some Hewlett Packard systems. The SDC itself contains a 10ms + resolution timer/clock capable of delivering interrupts on periodic + and one-shot basis. The SDC may also be connected to a battery-backed + real-time clock, a basic audio waveform generator, and an HP-HIL + Master Link Controller serving up to seven input devices. + + By itself this option is rather useless, but enabling it will + enable selection of drivers for the abovementioned devices. + It is, however, incompatible with the old, reliable HIL keyboard + driver, and the new HIL driver is experimental, so if you plan to + use a HIL keyboard as your primary keyboard, you may wish to + keep using that driver until the new HIL drivers have had more + testing. + Include IOP (IIfx/Quadra 9x0) ADB driver CONFIG_ADB_IOP The I/O Processor (IOP) is an Apple custom IC designed to provide @@ -17828,6 +18528,19 @@ CONFIG_ISTALLION read . The module will be called istallion.o. +PDC software console support +CONFIG_PDC_CONSOLE + Saying Y here will enable the software based PDC console to be + used as the system console. This is useful for machines in + which the hardware based console has not been written yet. The + following steps must be competed to use the PDC console: + + 1. create the device entry (mknod /dev/ttyB0 c 60 0) + 2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0 + 3. Add device ttyB0 to /etc/securetty (if you want to log on as + root on this console.) + 4. Change the kernel command console parameter to: console=ttyB0 + Microgate SyncLink adapter support CONFIG_SYNCLINK Provides support for the SyncLink ISA and PCI multiprotocol serial @@ -18278,6 +18991,15 @@ CONFIG_I2C_PROC it as a module, say M here and read . The module will be called i2c-proc.o. +Powermac Keywest I2C interface +CONFIG_I2C_KEYWEST + This supports the use of the I2C interface in the combo-I/O + chip on recent Apple machines. Say Y if you have such a machine. + + This driver is also available as a module. If you want to compile + it as a module, say M here and read Documentation/modules.txt. + The module will be called i2c-keywest.o. + Bus Mouse Support CONFIG_BUSMOUSE Say Y here if your machine has a bus mouse as opposed to a serial @@ -18787,6 +19509,13 @@ CONFIG_DRM_I810 selected, the module will be called i810.o. AGP support is required for this driver to work. +Intel 830M, 845G, 852GM, 855GM, 865G +CONFIG_DRM_I830 + Choose this option if you have a system that has Intel 830M, 845G, + 852GM, 855GM or 865G integrated graphics. If M is selected, the + module will be called i830.o. AGP support is required for this driver + to work. + Matrox G200/G400/G450 CONFIG_DRM_MGA Choose this option if you have a Matrox G200, G400 or G450 graphics @@ -18940,6 +19669,21 @@ CONFIG_INTEL_RNG If unsure, say N. +Intel/AMD/VIA HW Random Number Generator support +CONFIG_HW_RANDOM + This driver provides kernel-side support for the + Random Number Generator hardware found on Intel i8xx-based motherboards, + AMD 76x-based motherboards, and Via Nehemiah CPUs. + + Provides a character driver, used to read() entropy data. + + 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 . The module will be called + hw_random. + + If unsure, say N. + Power Management support CONFIG_PM "Power Management" means that parts of your computer are shut @@ -18989,30 +19733,8 @@ CONFIG_ACPI The ACPI Sourceforge project may also be of interest: -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 - help for ACPI for caveats and discussion. - ACPI kernel configuration manager CONFIG_ACPI_KERNEL_CONFIG If you say `Y' here, Linux's ACPI support will use the @@ -19032,23 +19754,6 @@ CONFIG_ACPI_RELAXED_AML 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 - handles PnP messages. All ACPI devices use its services, so using - them requires saying Y here. - -ACPI System Driver -CONFIG_ACPI_SYS - This driver will enable your system to shut down using ACPI, and - dump your ACPI DSDT table using /proc/acpi/dsdt. - -ACPI Processor Driver -CONFIG_ACPI_CPU - 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 Button CONFIG_ACPI_BUTTON This driver registers for events based on buttons, such as the @@ -19083,11 +19788,6 @@ CONFIG_ACPI_EC the battery and thermal drivers. If you are compiling for a laptop, say Y. -ACPI Control Method Battery -CONFIG_ACPI_CMBATT - This driver adds support for battery information through - /proc/acpi/battery. If you have a laptop with a battery, say Y. - ACPI Thermal CONFIG_ACPI_THERMAL This driver handles overheating conditions on laptops. It is HIGHLY @@ -19103,6 +19803,9 @@ CONFIG_ACPI_ASUS 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. + + Note: the display switching code is currently considered EXPERIMENTAL, + toying with these values may even lock your machine. 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 @@ -19580,6 +20283,15 @@ CONFIG_X86_CPUID . The module will be called cpuid.o +x86 BIOS Enhanced Disk Drive support +CONFIG_EDD + Say Y or M here if you want to enable BIOS Enhanced Disk Drive + Services real mode BIOS calls to determine which disk + BIOS tries boot from. This information is then exported via /proc. + + This option is experimental, but believed to be safe, + and most disk controller BIOS vendors do not yet implement this feature. + SBC-60XX Watchdog Timer CONFIG_60XX_WDT This driver can be used with the watchdog timer found on some @@ -20698,10 +21410,10 @@ CONFIG_SC6600_CDROM DSP 16 card. Enter: 0 for Sony, 1 for Panasonic, 2 for IDE, 4 for no CD-ROM present. -C-Media PCI (CMI8338/8378) +C-Media PCI (CMI8338/8738) CONFIG_SOUND_CMPCI Say Y or M if you have a PCI sound card using the CMI8338 - or the CMI8378 chipset. Data on these chips are available at + or the CMI8738 chipset. Data on these chips are available at . A userspace utility to control some internal registers of these @@ -21559,6 +22271,11 @@ CONFIG_HISAX_HFC_SX This enables HiSax support for the HFC-S+, HFC-SP and HFC-PCMCIA cards. This code is not finished yet. +Formula-n enter:now PCI card (EXPERIMENTAL) +CONFIG_HISAX_ENTERNOW_PCI + This enables HiSax support for the Formula-n enter:now PCI + ISDN card. + Am7930 CONFIG_HISAX_AMD7930 This enables HiSax support for the AMD7930 chips on some SPARCs. @@ -22706,15 +23423,16 @@ CONFIG_ARIADNE want). The module is called ariadne.o. If you want to compile it as a module, say M here and read . -Ariadne II and X-Surf support -CONFIG_ARIADNE2 - This driver is for the Village Tronic Ariadne II and the Individual +Zorro NS8390-based Ethernet support +CONFIG_ZORRO8390 + This driver is for Zorro Ethernet cards using an NS8390-compatible + chipset, like the Village Tronic Ariadne II and the Individual Computers X-Surf Ethernet cards. If you have such a card, say Y. Otherwise, say N. 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 ariadne2.o. If you want to compile it as + The module is called zorro8390.o. If you want to compile it as a module, say M here and read . A2065 support @@ -23487,6 +24205,38 @@ CONFIG_MAC_EMUMOUSEBTN /proc/sys/dev/mac_hid/mouse_button2_keycode /proc/sys/dev/mac_hid/mouse_button3_keycode +Set high memory pool address +CONFIG_HIGHMEM_START_BOOL + Unless you know what you are doing you *should not* set this option. + + It can be used to override the default PKMAP_BASE address which + is the location of the high memory pool. This can be useful in + optimizing virtual memory usage in a system. + +Set maximum low memory +CONFIG_LOWMEM_SIZE_BOOL + Unless you know what you are doing you *should not* set this option. + + It can be used to override the standard calculated value of + MAX_LOW_MEM. This can be useful in optimizing virtual memory usage + in a system. + +Set custom kernel base address +CONFIG_KERNEL_START_BOOL + Unless you know what you are doing you *should not* set this option. + + It can be used to override the standard PAGE_OFFSET/KERNELBASE + value used by the kernel. This can be useful in controlling + amount of virtual address space available to the kernel. + +Set custom user task size +CONFIG_TASK_SIZE_BOOL + Unless you know what you are doing you *should not* set this option. + + It can be used to override the standard TASK_SIZE value used + by the kernel. This can be useful in controlling amount of + virtual address space available to user tasks. + Enhanced Real Time Clock Support (/dev/rtc) CONFIG_PPC_RTC If you say Y here and create a character special file /dev/rtc with @@ -24754,6 +25504,46 @@ CONFIG_CPU_ARM1020 Say Y if you want support for the ARM1020 processor. Otherwise, say N. +Disable I-Cache +CONFIG_CPU_ICACHE_DISABLE + Say Y here to disable the processor instruction cache. Unless + you have a reason not to or are unsure, say N. + +Disable D-Cache +CONFIG_CPU_DCACHE_DISABLE + Say Y here to disable the processor data cache. Unless + you have a reason not to or are unsure, say N. + +Force write through D-cache +CONFIG_CPU_DCACHE_WRITETHROUGH + Say Y here to use the data cache in write-through mode. Unless you + specifically require this or are unsure, say N. + +Round robin I and D cache replacement algorithm +CONFIG_CPU_CACHE_ROUND_ROBIN + Say Y here to use the predictable round-robin cache replacement + policy. Unless you specifically require this or are unsure, say N. + +Disable branch prediction +CONFIG_CPU_BPREDICT_DISABLE + Say Y here to disable branch prediction. If unsure, say N. + +Compressed boot loader in ROM/flash +CONFIG_ZBOOT_ROM + Say Y here if you intend to execute your compressed kernel image (zImage) + directly from ROM or flash. If unsure, say N. + +Compressed ROM boot loader base address +CONFIG_ZBOOT_ROM_TEXT + The base address for zImage. Unless you have special requirements, you + should not change this value. + +Compressed ROM boot loader BSS address +CONFIG_ZBOOT_ROM_BSS + The base address of 64KiB of read/write memory, which must be available + while the decompressor is running. Unless you have special requirements, + you should not change this value. + Support StrongARM SA-110 processor CONFIG_CPU_SA110 The Intel StrongARM(R) SA-110 is a 32-bit microprocessor and @@ -24913,6 +25703,19 @@ CONFIG_DEBUG_CLPS711X_UART2 output to the second serial port on these devices. Saying N will cause the debug messages to appear on the first serial port. +Kernel log buffer length shift +CONFIG_LOG_BUF_SHIFT + The kernel log buffer has a fixed size of : + 64 kB (2^16) on MULTIQUAD and IA64, + 128 kB (2^17) on S390 + 32 kB (2^15) on SMP systems + 16 kB (2^14) on UP systems + + You have the ability to change this size with this paramter which + fixes the bit shift of to get the buffer length (which must be a + power of 2). Eg: a value of 16 sets the buffer to 64 kB (2^16). + The default value of 0 uses standard values above. + Disable pgtable cache CONFIG_NO_PGT_CACHE Normally the kernel maintains a `quicklist' of preallocated @@ -25269,6 +26072,44 @@ CONFIG_USB_STORAGE_JUMPSHOT brave people. System crashes and other bad things are likely to occur if you use this driver. If in doubt, select N. +Tieman Voyager USB Braille display support (EXPERIMENTAL) +CONFIG_USB_BRLVGER + Say Y here if you want to use the Voyager USB Braille display from + Tieman. See 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). + The module will be called brlvger.o. If you want to compile it as + a module, say M here and read . + +KB Gear JamStudio tablet support +CONFIG_USB_KBTAB + Say Y here if you want to use the USB version of the KB Gear + JamStudio tablet. 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). + The module will be called kbtab.o. If you want to compile it as a + module, say M here and read . + +USB Inside Out Edgeport Serial Driver (TI devices) +CONFIG_USB_SERIAL_EDGEPORT_TI + Say Y here if you want to use any of the devices from Inside Out + Networks (Digi) that are not supported by the io_edgeport driver. + This includes the Edgeport/1 device. + + 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 io_ti.o. If you want to compile it + as a module, say M here and read . + +USB Keyspan MPR Firmware +CONFIG_USB_SERIAL_KEYSPAN_MPR + Say Y here to include firmware for the Keyspan MPR converter. + Winbond W83977AF IrDA Device Driver CONFIG_WINBOND_FIR Say Y here if you want to build IrDA support for the Winbond @@ -26313,11 +27154,13 @@ CONFIG_WATCHDOG_CP1XXX # Choice: ia64type Itanium CONFIG_ITANIUM - Select your IA64 processor type. The default is Intel Itanium. + Select your IA-64 processor type. The default is Intel Itanium. + This choice is safe for all IA-64 systems, but may not perform + optimally on systems with, say, Itanium 2 or newer processors. -McKinley +Itanium 2 CONFIG_MCKINLEY - Select this to configure for a McKinley processor. + Select this to configure for an Itanium 2 (McKinley) processor. # Choice: ia64system IA-64 system type @@ -26374,6 +27217,14 @@ CONFIG_IA64_MCA Say Y here to enable machine check support for IA-64. If you're unsure, answer Y. +Use PAL_HALT_LIGHT in idle loop +CONFIG_IA64_PAL_IDLE + Say Y here to enable use of PAL_HALT_LIGHT in the cpu_idle loop. + This allows the CPU to enter a low power state when idle. You + can enable CONFIG_IA64_PALINFO and check /proc/pal/cpu0/power_info + to see the power consumption and latency for this state. If you're + unsure your firmware supports it, answer N. + Disable IA-64 Virtual Hash Page Table CONFIG_DISABLE_VHPT The Virtual Hash Page Table (VHPT) enhances virtual address @@ -26394,12 +27245,31 @@ CONFIG_IA64_DEBUG_IRQ and restore instructions. It's useful for tracking down spinlock problems, but slow! If you're unsure, select N. -Early printk support (requires VGA!) +Early printk support CONFIG_IA64_EARLY_PRINTK - Selecting this option uses the VGA screen for printk() output before - the consoles are initialised. It is useful for debugging problems - early in the boot process, but only if you have a VGA screen - attached. If you're unsure, select N. + Selecting this option uses a UART or VGA screen (or both) for + printk() output before the consoles are initialised. It is useful + for debugging problems early in the boot process, but only if you + have a serial terminal or a VGA screen attached. If you're unsure, + select N. + +Early printk on serial port +CONFIG_IA64_EARLY_PRINTK_UART + Select this option to use a serial port for early printk() output. + You must also select either CONFIG_IA64_EARLY_PRINTK_UART_BASE or + CONFIG_SERIAL_HCDP. If you select CONFIG_SERIAL_HCDP, early + printk() output will appear on the first console device described by + the HCDP. If you set CONFIG_IA64_EARLY_PRINTK_UART_BASE, the HCDP + will be ignored. + +UART base address +CONFIG_IA64_EARLY_PRINTK_UART_BASE + The physical MMIO address of the UART to use for early printk(). + This overrides any UART located using the EFI HCDP table. + +Early printk on VGA +CONFIG_IA64_EARLY_PRINTK_VGA + Select this option to use VGA for early printk() output. Print possible IA64 hazards to console CONFIG_IA64_PRINT_HAZARDS @@ -26424,6 +27294,58 @@ CONFIG_IA64_PALINFO To use this option, you have to check that the "/proc file system support" (CONFIG_PROC_FS) is enabled, too. +PPC4xx DMA controller support +CONFIG_PPC4xx_DMA + Select this to enable support for the PPC4xx general purpose DMA + controller. + +ttyS0 device +CONFIG_UART0_TTYS0 + This option reverses the mapping between the hardware UART and software + device. Selecting UART0 gives the normal mapping of UART0=ttyS0 and + UART1=ttyS1. Selecting UART1 gives the reverse mapping of UART0=ttyS1 + and UART1=ttyS0. Most people will use UART0. + +PowerPC 405 on-chip ethernet +CONFIG_IBM_OCP_ENET + If you want to use the 405 built-in ethernet select this. + +CONFIG_IBM_OCP_ENET_ERROR_MSG + Enable this option to print verbose debug messages for troubleshooting. + +PowerPC 405 on-chip ethernet -- Number of receive buffers +CONFIG_IBM_OCP_ENET_RX_BUFF + Number of ethernet receive (read) buffers. Unless you know what you + are doing the default should be fine. + +PowerPC 405 on-chip ethernet -- Number of transmit buffers +CONFIG_IBM_OCP_ENET_TX_BUFF + Number of ethernet transmit (write) buffers. Unless you know what + you are doing the default should be fine. + +PowerPC 405 on-chip ethernet -- Amount of bytes to Reserve on a skb +CONFIG_IBM_OCP_ENET_SKB_RES + Many standard ethernet drivers need to reserve 2 bytes of data + on the skb before giving the data ptr to the hardware. This is + so the IP data will be 16-byte aligned when it goes up the stack. + This is a requirement for some processors and it can cause major + slow downs on others. The 405GP dose not have problems with the + misaligned data so the default is 0. If you need to route the + incoming ethernet packets to another device that has alignment + requirements this can help remove a data copy. A value of 2 can + help at getting 16-byte aligned IP data for another device. A + larger value can be used when routing to a IP tunnel device. + Make sure XXX_DESC_SIZE - XXX_SKB_RES >= 1514, or larger if VLANS + are used. + +PPC 405 I2C Algorithm +CONFIG_PPC405_I2C_ALGO + Enable this option to use the built-in I2C on your 405. + +PPC 405 I2C Adapter +CONFIG_PPC405_I2C_ADAP + Enable this option to use the built-in I2C on your 405. + /proc/efi/vars support CONFIG_EFI_VARS If you say Y here, you are able to get EFI (Extensible Firmware @@ -26516,6 +27438,11 @@ CONFIG_DEBUG_SPINLOCK best used in conjunction with the NMI watchdog so that spinlock deadlocks are also debuggable. +Additional run-time checks +CONFIG_CHECKING + Enables some internal consistency checks for kernel debugging. + You should normally say N. + Read-write spinlock debugging CONFIG_DEBUG_RWLOCK If you say Y here then read-write lock processing will count how many @@ -26818,7 +27745,7 @@ CONFIG_CPU_SUBTYPE_SH7750 SH7751 CONFIG_CPU_SUBTYPE_SH7751 - Select SH7750 if you have a 166 Mhz SH-4 HD6417751 CPU. + Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU. ST40RA/ST40STB1 CONFIG_CPU_SUBTYPE_ST40STB1 @@ -27189,6 +28116,12 @@ CONFIG_TULIP_MWI If unsure, say N. +Hotplug firmware loading support (EXPERIMENTAL) +CONFIG_FW_LOADER + This option is provided for the case where no in-kernel-tree modules require + hotplug firmware loading support, but a module built outside the kernel tree + does. + NatSemi SCx200 support CONFIG_SCx200 This provides basic support for the National Semiconductor SCx200 @@ -27414,6 +28347,82 @@ CONFIG_CRC32 kernel tree does. Such modules that use library CRC32 functions require that you say M or Y here. +Chassis LCD and LED support +CONFIG_CHASSIS_LCD_LED + Say Y here if you want to enable support for the Heartbeat, + Disk/Network activities LEDs on some PA-RISC machines, + or support for the LCD that can be found on recent material. + + This has nothing to do with LED State support for A, J and E class. + + If unsure, say Y. + +VSC/GSC/HSC bus support +CONFIG_GSC + The VSC, GSC and HSC busses were used from the earliest 700-series + workstations up to and including the C360/J2240 workstations. They + were also used in servers from the E-class to the K-class. They + are not found in B1000, C3000, J5000, A500, L1000, N4000 and upwards. + If in doubt, say "Y". + +Wax I/O support +CONFIG_GSC_WAX + Say Y here to support the Wax multifunction chip found in some + older systems, including B/C/D/R class and 715/64, 715/80 and + 715/100. Wax includes an EISA adapter, a serial port (not always + used), a HIL interface chip and is also known to be used as the + GSC bridge for an X.25 GSC card. + +GSCtoPCI/Dino PCI support +CONFIG_GSC_DINO + Say Y here to support the Dino & Cujo GSC to PCI bridges found in + machines from the B132 to the C360, the J2240 and the A180. Some + GSC/HSC cards (eg gigabit & dual 100 Mbit Ethernet) have a Dino on + the card, and you also need to say Y here if you have such a card. + Note that Dino also supplies one of the serial ports on certain + machines. If in doubt, say Y. + +HPET timers +CONFIG_HPET_TIMER + Use the IA-PC HPET (High Precision Event Timer) to manage + time in preference to the PIT and RTC, if a HPET is + present. The HPET provides a stable time base on SMP + systems, unlike the RTC, but it is more expensive to access, + as it is off-chip. You can find the HPET spec at + . + + If unsure, say Y. + +IOMMU support +CONFIG_GART_IOMMU + Support the K8 IOMMU. Needed to run systems with more than 4GB of memory + properly with 32-bit PCI devices that do not support DAC (Double Address + Cycle). The IOMMU can be turned off at runtime with the iommu=off parameter. + Normally the kernel will take the right choice by itself. + If unsure say Y + +Debug __init statements +CONFIG_INIT_DEBUG + Fill __init and __initdata at the end of boot. This helps debugging + invalid uses of __init and __initdata after initialization. + +Force IOMMU to on +CONFIG_IOMMU_DEBUG + Force the IOMMU to on even when you have less than 4GB of memory and add + debugging code. + Can be disabled at boot time with iommu=noforce. + +IOMMU leak tracing +CONFIG_IOMMU_LEAK + Add a simple leak tracer to the IOMMU code. This is useful when you + are debugging a buggy device driver that leaks IOMMU mappings. + +pSeries Hypervisor Virtual Console support +CONFIG_HVC_CONSOLE + pSeries machines when partitioned support a hypervisor virtual + console. This driver allows each pSeries partition to have a console + which is accessed via the HMC. + CONFIG_CRYPTO This option provides the core Cryptographic API. @@ -27497,6 +28506,12 @@ CONFIG_CRYPTO_AES See http://csrc.nist.gov/encryption/aes/ for more information. +CONFIG_CRYPTO_CAST5 + CAST5 (CAST-128) cipher algorithm. + + The CAST5 encryption algorithm (synonymous with CAST-128) is + described in RFC2144. + CONFIG_CRYPTO_DEFLATE This is the Deflate algorithm (RFC1951), specified for use in IPSec with the IPCOMP protocol (RFC3173, RFC2394). @@ -27505,6 +28520,28 @@ CONFIG_CRYPTO_DEFLATE CONFIG_CRYPTO_TEST Quick & dirty crypto test module. + +CONFIG_SOUND_WM97XX + Say Y here to support the Wolfson WM9705 and WM9712 touchscreen + controllers. These controllers are mainly found in PDA's + i.e. Dell Axim and Toshiba e740 + + This is experimental code. + Please see Documentation/wolfson-touchscreen.txt for + a complete list of parameters. + + In order to use this driver, a char device called wm97xx with a major + number of 10 and minor number 16 will have to be created under + /dev/touchscreen. + + e.g. + mknod /dev/touchscreen/wm97xx c 10 16 + + 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. The module will be called ac97_plugin_wm97xx.o. + + If unsure, say N. # # A couple of things I keep forgetting: diff --git a/xenolinux-2.4.22-sparse/Makefile b/xenolinux-2.4.22-sparse/Makefile index 5974b048fb..a4357b3637 100644 --- a/xenolinux-2.4.22-sparse/Makefile +++ b/xenolinux-2.4.22-sparse/Makefile @@ -1,6 +1,6 @@ VERSION = 2 PATCHLEVEL = 4 -SUBLEVEL = 22 +SUBLEVEL = 23 EXTRAVERSION = -xeno KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) @@ -186,6 +186,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-$(CONFIG_USB_GADGET) += drivers/usb/gadget/built-in.o DRIVERS-y +=drivers/media/media.o DRIVERS-$(CONFIG_INPUT) += drivers/input/inputdrv.o DRIVERS-$(CONFIG_HIL) += drivers/hil/hil.o diff --git a/xenolinux-2.4.22-sparse/arch/xeno/config.in b/xenolinux-2.4.22-sparse/arch/xeno/config.in index c006efa744..445b574a71 100644 --- a/xenolinux-2.4.22-sparse/arch/xeno/config.in +++ b/xenolinux-2.4.22-sparse/arch/xeno/config.in @@ -67,6 +67,10 @@ if [ "$CONFIG_MK7" = "y" ]; then define_bool CONFIG_X86_USE_3DNOW y fi +if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then + tristate 'BIOS Enhanced Disk Drive calls determine boot disk (EXPERIMENTAL)' CONFIG_EDD +fi + choice 'High Memory Support' \ "off CONFIG_NOHIGHMEM \ 4GB CONFIG_HIGHMEM4G \ @@ -163,6 +167,8 @@ fi source drivers/acpi/Config.in +int 'Kernel messages buffer length shift (0 = default)' CONFIG_LOG_BUF_SHIFT 0 + endmenu source crypto/Config.in diff --git a/xenolinux-2.4.22-sparse/arch/xeno/defconfig b/xenolinux-2.4.22-sparse/arch/xeno/defconfig index 20119cd968..abef573aa7 100644 --- a/xenolinux-2.4.22-sparse/arch/xeno/defconfig +++ b/xenolinux-2.4.22-sparse/arch/xeno/defconfig @@ -123,6 +123,11 @@ CONFIG_IP_NF_TARGET_LOG=y CONFIG_IP_NF_TARGET_ULOG=y # CONFIG_IP_NF_TARGET_TCPMSS is not set # CONFIG_IP_NF_ARPTABLES is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set # CONFIG_VLAN_8021Q is not set # @@ -134,6 +139,7 @@ CONFIG_IP_NF_TARGET_ULOG=y # # Appletalk devices # +# CONFIG_DEV_APPLETALK is not set # CONFIG_DECNET is not set # CONFIG_BRIDGE is not set @@ -166,13 +172,13 @@ CONFIG_XENOLINUX_BLOCK=y CONFIG_VT=y CONFIG_VT_CONSOLE=y # CONFIG_SERIAL is not set +# CONFIG_SERIAL_EXTENDED is not set # CONFIG_SERIAL_NONSTANDARD is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTY_COUNT=256 # CONFIG_PRINTER is not set # CONFIG_PPDEV is not set # CONFIG_TIPAR is not set -# CONFIG_HVC_CONSOLE is not set # # I2C support @@ -193,17 +199,42 @@ CONFIG_PSMOUSE=y # Joysticks # # CONFIG_INPUT_GAMEPORT is not set +# CONFIG_INPUT_NS558 is not set +# CONFIG_INPUT_LIGHTNING is not set +# CONFIG_INPUT_PCIGAME is not set +# CONFIG_INPUT_CS461X is not set +# CONFIG_INPUT_EMU10K1 is not set # CONFIG_INPUT_SERIO is not set +# CONFIG_INPUT_SERPORT is not set # # Joysticks # +# CONFIG_INPUT_ANALOG is not set +# CONFIG_INPUT_A3D is not set +# CONFIG_INPUT_ADI is not set +# CONFIG_INPUT_COBRA is not set +# CONFIG_INPUT_GF2K is not set +# CONFIG_INPUT_GRIP is not set +# CONFIG_INPUT_INTERACT is not set +# CONFIG_INPUT_TMDC is not set +# CONFIG_INPUT_SIDEWINDER is not set # CONFIG_INPUT_IFORCE_USB is not set +# CONFIG_INPUT_IFORCE_232 is not set +# CONFIG_INPUT_WARRIOR is not set +# CONFIG_INPUT_MAGELLAN is not set +# CONFIG_INPUT_SPACEORB is not set +# CONFIG_INPUT_SPACEBALL is not set +# CONFIG_INPUT_STINGER is not set # CONFIG_INPUT_DB9 is not set # CONFIG_INPUT_GAMECON is not set # CONFIG_INPUT_TURBOGRAFX is not set # CONFIG_QIC02_TAPE is not set # CONFIG_IPMI_HANDLER is not set +# CONFIG_IPMI_PANIC_EVENT is not set +# CONFIG_IPMI_DEVICE_INTERFACE is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_IPMI_WATCHDOG is not set # # Watchdog Cards @@ -212,6 +243,7 @@ CONFIG_PSMOUSE=y # CONFIG_SCx200_GPIO is not set # CONFIG_AMD_RNG is not set # CONFIG_INTEL_RNG is not set +# CONFIG_HW_RANDOM is not set # CONFIG_AMD_PM768 is not set # CONFIG_NVRAM is not set # CONFIG_RTC is not set @@ -224,6 +256,10 @@ CONFIG_PSMOUSE=y # # CONFIG_FTAPE is not set # CONFIG_AGP is not set + +# +# Direct Rendering Manager (XFree86 DRI support) +# # CONFIG_DRM is not set # CONFIG_MWAVE is not set @@ -231,9 +267,20 @@ CONFIG_PSMOUSE=y # File systems # # CONFIG_QUOTA is not set +# CONFIG_QFMT_V2 is not set CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y # CONFIG_REISERFS_FS is not set +# CONFIG_REISERFS_CHECK is not set +# CONFIG_REISERFS_PROC_INFO is not set +# CONFIG_ADFS_FS is not set +# CONFIG_ADFS_FS_RW is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_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=y CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set @@ -241,6 +288,7 @@ CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y CONFIG_UMSDOS_FS=y CONFIG_VFAT_FS=y +# CONFIG_EFS_FS is not set # CONFIG_JFFS_FS is not set # CONFIG_JFFS2_FS is not set # CONFIG_CRAMFS is not set @@ -250,33 +298,53 @@ CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y # CONFIG_JFS_FS is not set +# CONFIG_JFS_DEBUG is not set +# CONFIG_JFS_STATISTICS is not set # CONFIG_MINIX_FS is not set # CONFIG_VXFS_FS is not set # CONFIG_NTFS_FS is not set +# CONFIG_NTFS_RW is not set # CONFIG_HPFS_FS is not set CONFIG_PROC_FS=y +# CONFIG_DEVFS_FS is not set +# CONFIG_DEVFS_MOUNT is not set +# CONFIG_DEVFS_DEBUG is not set CONFIG_DEVPTS_FS=y # CONFIG_QNX4FS_FS is not set +# CONFIG_QNX4FS_RW is not set # CONFIG_ROMFS_FS is not set CONFIG_EXT2_FS=y # CONFIG_SYSV_FS is not set # CONFIG_UDF_FS is not set +# CONFIG_UDF_RW is not set # CONFIG_UFS_FS is not set +# CONFIG_UFS_FS_WRITE is not set # # Network File Systems # # CONFIG_CODA_FS is not set +# CONFIG_INTERMEZZO_FS is not set CONFIG_NFS_FS=y CONFIG_NFS_V3=y +# CONFIG_NFS_DIRECTIO is not set CONFIG_ROOT_NFS=y CONFIG_NFSD=y CONFIG_NFSD_V3=y +# CONFIG_NFSD_TCP is not set CONFIG_SUNRPC=y CONFIG_LOCKD=y CONFIG_LOCKD_V4=y # CONFIG_SMB_FS is not set # CONFIG_NCP_FS is not set +# CONFIG_NCPFS_PACKET_SIGNING is not set +# CONFIG_NCPFS_IOCTL_LOCKING is not set +# CONFIG_NCPFS_STRONG is not set +# CONFIG_NCPFS_NFS_NS is not set +# CONFIG_NCPFS_OS2_NS is not set +# CONFIG_NCPFS_SMALLDOS is not set +# CONFIG_NCPFS_NLS is not set +# CONFIG_NCPFS_EXTRAS is not set CONFIG_ZISOFS_FS=y # @@ -288,12 +356,12 @@ CONFIG_PARTITION_ADVANCED=y # CONFIG_AMIGA_PARTITION is not set # CONFIG_ATARI_PARTITION is not set # CONFIG_MAC_PARTITION is not set -CONFIG_XENO_PARTITION=y CONFIG_MSDOS_PARTITION=y # CONFIG_BSD_DISKLABEL is not set # CONFIG_MINIX_SUBPARTITION is not set # CONFIG_SOLARIS_X86_PARTITION is not set # CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set # CONFIG_SGI_PARTITION is not set # CONFIG_ULTRIX_PARTITION is not set # CONFIG_SUN_PARTITION is not set @@ -367,6 +435,7 @@ CONFIG_KALLSYMS=y # ACPI Support # # CONFIG_ACPI is not set +CONFIG_LOG_BUF_SHIFT=0 # # Cryptographic options diff --git a/xenolinux-2.4.22-sparse/arch/xeno/kernel/irq.c b/xenolinux-2.4.22-sparse/arch/xeno/kernel/irq.c index 4f449691f0..c88e976125 100644 --- a/xenolinux-2.4.22-sparse/arch/xeno/kernel/irq.c +++ b/xenolinux-2.4.22-sparse/arch/xeno/kernel/irq.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -113,55 +114,55 @@ atomic_t irq_mis_count; * Generic, controller-independent functions: */ -int get_irq_list(char *buf) +int show_interrupts(struct seq_file *p, void *v) { int i, j; struct irqaction * action; - char *p = buf; - p += sprintf(p, " "); + seq_printf(p, " "); for (j=0; jtypename); - p += sprintf(p, " %s", action->name); + seq_printf(p, " %14s", irq_desc[i].handler->typename); + seq_printf(p, " %s", action->name); for (action=action->next; action; action = action->next) - p += sprintf(p, ", %s", action->name); - *p++ = '\n'; + seq_printf(p, ", %s", action->name); + seq_putc(p,'\n'); } - p += sprintf(p, "NMI: "); + seq_printf(p, "NMI: "); for (j = 0; j < smp_num_cpus; j++) - p += sprintf(p, "%10u ", + seq_printf(p, "%10u ", nmi_count(cpu_logical_map(j))); - p += sprintf(p, "\n"); + seq_printf(p, "\n"); #if CONFIG_X86_LOCAL_APIC - p += sprintf(p, "LOC: "); + seq_printf(p, "LOC: "); for (j = 0; j < smp_num_cpus; j++) - p += sprintf(p, "%10u ", + seq_printf(p, "%10u ", apic_timer_irqs[cpu_logical_map(j)]); - p += sprintf(p, "\n"); + seq_printf(p, "\n"); #endif - p += sprintf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); + seq_printf(p, "ERR: %10u\n", atomic_read(&irq_err_count)); #ifdef CONFIG_X86_IO_APIC #ifdef APIC_MISMATCH_DEBUG - p += sprintf(p, "MIS: %10u\n", atomic_read(&irq_mis_count)); + seq_printf(p, "MIS: %10u\n", atomic_read(&irq_mis_count)); #endif #endif - return p - buf; + + return 0; } @@ -957,7 +958,7 @@ int setup_irq(unsigned int irq, struct irqaction * new) if (!shared) { desc->depth = 0; - desc->status &= ~(IRQ_DISABLED | IRQ_AUTODETECT | IRQ_WAITING); + desc->status &= ~(IRQ_DISABLED | IRQ_AUTODETECT | IRQ_WAITING | IRQ_INPROGRESS); desc->handler->startup(irq); } spin_unlock_irqrestore(&desc->lock,flags); diff --git a/xenolinux-2.4.22-sparse/arch/xeno/kernel/setup.c b/xenolinux-2.4.22-sparse/arch/xeno/kernel/setup.c index 7cb888f2d5..be70b26ce3 100644 --- a/xenolinux-2.4.22-sparse/arch/xeno/kernel/setup.c +++ b/xenolinux-2.4.22-sparse/arch/xeno/kernel/setup.c @@ -707,6 +707,23 @@ static int __init have_cpuid_p(void) +#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE) +unsigned char eddnr; +struct edd_info edd[EDDMAXNR]; +/** + * copy_edd() - Copy the BIOS EDD information + * from empty_zero_page into a safe place. + * + */ +static inline void copy_edd(void) +{ + eddnr = EDD_NR; + memcpy(edd, EDD_BUF, sizeof(edd)); +} +#else +static inline void copy_edd(void) {} +#endif + /* * This does the hard work of actually picking apart the CPU stuff... */ @@ -742,11 +759,17 @@ void __init identify_cpu(struct cpuinfo_x86 *c) /* Intel-defined flags: level 0x00000001 */ if ( c->cpuid_level >= 0x00000001 ) { - cpuid(0x00000001, &tfms, &junk, &junk, - &c->x86_capability[0]); - c->x86 = (tfms >> 8) & 15; - c->x86_model = (tfms >> 4) & 15; - c->x86_mask = tfms & 15; + u32 capability, excap; + cpuid(0x00000001, &tfms, &junk, &excap, &capability); + c->x86_capability[0] = capability; + c->x86_capability[4] = excap; + c->x86 = (tfms >> 8) & 15; + c->x86_model = (tfms >> 4) & 15; + if (c->x86 == 0xf) { + c->x86 += (tfms >> 20) & 0xff; + c->x86_model += ((tfms >> 16) & 0xF) << 4; + } + c->x86_mask = tfms & 15; } else { /* Have CPUID level 0 only - unheard of */ c->x86 = 4; @@ -891,12 +914,12 @@ static int show_cpuinfo(struct seq_file *m, void *v) "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov", "pat", "pse36", "pn", "clflush", NULL, "dts", "acpi", "mmx", - "fxsr", "sse", "sse2", "ss", NULL, "tm", "ia64", NULL, + "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "pbe", /* AMD-defined */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "syscall", NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, "mmxext", NULL, + NULL, NULL, NULL, "mp", NULL, NULL, "mmxext", NULL, NULL, NULL, NULL, NULL, NULL, "lm", "3dnowext", "3dnow", /* Transmeta-defined */ @@ -906,10 +929,24 @@ static int show_cpuinfo(struct seq_file *m, void *v) NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* Other (Linux-defined) */ - "cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr", NULL, NULL, NULL, NULL, + "cxmmx", "k6_mtrr", "cyrix_arr", "centaur_mcr", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + + /* Intel-defined (#2) */ + "pni", NULL, NULL, "monitor", "ds_cpl", NULL, NULL, "tm2", + "est", NULL, "cid", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + + /* VIA/Cyrix/Centaur-defined */ + NULL, NULL, "xstore", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + }; struct cpuinfo_x86 *c = v; int i, n = c - cpu_data; diff --git a/xenolinux-2.4.22-sparse/arch/xeno/mm/ioremap.c b/xenolinux-2.4.22-sparse/arch/xeno/mm/ioremap.c index 8c213c8830..eac5c6a63c 100644 --- a/xenolinux-2.4.22-sparse/arch/xeno/mm/ioremap.c +++ b/xenolinux-2.4.22-sparse/arch/xeno/mm/ioremap.c @@ -149,7 +149,7 @@ void * __ioremap(unsigned long machine_addr, /* Mappings have to be page-aligned */ offset = machine_addr & ~PAGE_MASK; machine_addr &= PAGE_MASK; - size = PAGE_ALIGN(last_addr) - machine_addr; + size = PAGE_ALIGN(last_addr+1) - machine_addr; /* Ok, go for it */ area = get_vm_area(size, VM_IOREMAP); diff --git a/xenolinux-2.4.22-sparse/drivers/block/ll_rw_blk.c b/xenolinux-2.4.22-sparse/drivers/block/ll_rw_blk.c index f42c17d026..bca30ae493 100644 --- a/xenolinux-2.4.22-sparse/drivers/block/ll_rw_blk.c +++ b/xenolinux-2.4.22-sparse/drivers/block/ll_rw_blk.c @@ -121,6 +121,10 @@ int * max_sectors[MAX_BLKDEV]; unsigned long blk_max_low_pfn, blk_max_pfn; int blk_nohighio = 0; +int block_dump = 0; + +static struct timer_list writeback_timer; + static inline int get_max_sectors(kdev_t dev) { if (!max_sectors[MAJOR(dev)]) @@ -1293,6 +1297,9 @@ void submit_bh(int rw, struct buffer_head * bh) if (waitqueue_active(&bh->b_wait)) wake_up(&bh->b_wait); + if (block_dump) + printk(KERN_DEBUG "%s: %s block %lu/%u on %s\n", current->comm, rw == WRITE ? "WRITE" : "READ", bh->b_rsector, count, kdevname(bh->b_rdev)); + put_bh(bh); switch (rw) { case WRITE: @@ -1413,6 +1420,11 @@ sorry: extern int stram_device_init (void); #endif +static void blk_writeback_timer(unsigned long data) +{ + wakeup_bdflush(); + wakeup_kupdate(); +} /** * end_that_request_first - end I/O on one buffer. @@ -1469,10 +1481,18 @@ int end_that_request_first (struct request *req, int uptodate, char *name) return 0; } +extern int laptop_mode; + void end_that_request_last(struct request *req) { struct completion *waiting = req->waiting; + /* + * schedule the writeout of pending dirty data when the disk is idle + */ + if (laptop_mode && req->cmd == READ) + mod_timer(&writeback_timer, jiffies + 5 * HZ); + req_finished_io(req); blkdev_release_request(req); if (waiting) @@ -1500,6 +1520,9 @@ int __init blk_dev_init(void) blk_max_low_pfn = max_low_pfn - 1; blk_max_pfn = max_pfn - 1; + init_timer(&writeback_timer); + writeback_timer.function = blk_writeback_timer; + #ifdef CONFIG_AMIGA_Z2RAM z2_init(); #endif diff --git a/xenolinux-2.4.22-sparse/drivers/char/mem.c b/xenolinux-2.4.22-sparse/drivers/char/mem.c index bb0ab61f3f..73e6d48713 100644 --- a/xenolinux-2.4.22-sparse/drivers/char/mem.c +++ b/xenolinux-2.4.22-sparse/drivers/char/mem.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include @@ -536,16 +537,23 @@ static loff_t null_lseek(struct file * file, loff_t offset, int orig) */ static loff_t memory_lseek(struct file * file, loff_t offset, int orig) { + loff_t ret; + switch (orig) { case 0: file->f_pos = offset; - return file->f_pos; + ret = file->f_pos; + force_successful_syscall_return(); + break; case 1: file->f_pos += offset; - return file->f_pos; + ret = file->f_pos; + force_successful_syscall_return(); + break; default: - return -EINVAL; + ret = -EINVAL; } + return ret; } static int open_port(struct inode * inode, struct file * filp) diff --git a/xenolinux-2.4.22-sparse/drivers/char/tty_io.c b/xenolinux-2.4.22-sparse/drivers/char/tty_io.c index 60d122e353..e5334deb1d 100644 --- a/xenolinux-2.4.22-sparse/drivers/char/tty_io.c +++ b/xenolinux-2.4.22-sparse/drivers/char/tty_io.c @@ -158,6 +158,7 @@ extern void tub3270_init(void); extern void rs285_console_init(void); extern void sa1100_rs_console_init(void); extern void sgi_serial_console_init(void); +extern void sn_sal_serial_console_init(void); extern void sci_console_init(void); extern void dec_serial_console_init(void); extern void tx3912_console_init(void); @@ -458,8 +459,6 @@ void do_tty_hangup(void *data) redirect = NULL; } spin_unlock(&redirect_lock); - if (f) - fput(f); check_tty_count(tty, "do_tty_hangup"); file_list_lock(); @@ -546,6 +545,8 @@ void do_tty_hangup(void *data) } else if (tty->driver.hangup) (tty->driver.hangup)(tty); unlock_kernel(); + if (f) + fput(f); } void tty_hangup(struct tty_struct * tty) @@ -1052,7 +1053,7 @@ static void release_mem(struct tty_struct *tty, int idx) } o_tty->magic = 0; (*o_tty->driver.refcount)--; - list_del(&o_tty->tty_files); + list_del_init(&o_tty->tty_files); free_tty_struct(o_tty); } @@ -1064,7 +1065,7 @@ static void release_mem(struct tty_struct *tty, int idx) } tty->magic = 0; (*tty->driver.refcount)--; - list_del(&tty->tty_files); + list_del_init(&tty->tty_files); free_tty_struct(tty); } @@ -2400,6 +2401,12 @@ void __init tty_init(void) kbd_init(); #endif +#ifdef CONFIG_SGI_L1_SERIAL_CONSOLE + if (ia64_platform_is("sn2")) { + sn_sal_serial_console_init(); + return; /* only one console right now for SN2 */ + } +#endif #ifdef CONFIG_ESPSERIAL /* init ESP before rs, so rs doesn't see the port */ espserial_init(); #endif diff --git a/xenolinux-2.4.22-sparse/fs/exec.c b/xenolinux-2.4.22-sparse/fs/exec.c index 2201b473d3..4f512cbb24 100644 --- a/xenolinux-2.4.22-sparse/fs/exec.c +++ b/xenolinux-2.4.22-sparse/fs/exec.c @@ -50,6 +50,7 @@ int core_uses_pid; char core_pattern[65] = "core"; +int core_setuid_ok = 0; /* The maximal length of core_pattern is also specified in sysctl.c */ static struct linux_binfmt *formats; @@ -426,11 +427,6 @@ static int exec_mmap(void) struct mm_struct * mm, * old_mm; old_mm = current->mm; - if (old_mm && atomic_read(&old_mm->mm_users) == 1) { - mm_release(); - exit_mmap(old_mm); - return 0; - } mm = mm_alloc(); if (mm) { @@ -1105,13 +1101,18 @@ int do_coredump(long signr, struct pt_regs * regs) struct file * file; struct inode * inode; int retval = 0; + int fsuid = current->fsuid; lock_kernel(); binfmt = current->binfmt; if (!binfmt || !binfmt->core_dump) goto fail; if (!is_dumpable(current)) - goto fail; + { + if(!core_setuid_ok || !current->task_dumpable) + goto fail; + current->fsuid = 0; + } current->mm->dumpable = 0; if (current->rlim[RLIMIT_CORE].rlim_cur < binfmt->min_coredump) goto fail; @@ -1140,6 +1141,8 @@ int do_coredump(long signr, struct pt_regs * regs) close_fail: filp_close(file, NULL); fail: + if (fsuid != current->fsuid) + current->fsuid = fsuid; unlock_kernel(); return retval; } diff --git a/xenolinux-2.4.22-sparse/init/do_mounts.c b/xenolinux-2.4.22-sparse/init/do_mounts.c index 47cb8768ee..8e2b89fbb3 100644 --- a/xenolinux-2.4.22-sparse/init/do_mounts.c +++ b/xenolinux-2.4.22-sparse/init/do_mounts.c @@ -370,6 +370,7 @@ retry: flags |= MS_RDONLY; goto retry; case -EINVAL: + case -EBUSY: continue; } /* diff --git a/xenolinux-2.4.22-sparse/kernel/panic.c b/xenolinux-2.4.22-sparse/kernel/panic.c index 90a782e6b5..871ea67fee 100644 --- a/xenolinux-2.4.22-sparse/kernel/panic.c +++ b/xenolinux-2.4.22-sparse/kernel/panic.c @@ -16,6 +16,7 @@ #include #include #include +#include asmlinkage void sys_sync(void); /* it's really int */ @@ -31,6 +32,8 @@ static int __init panic_setup(char *str) __setup("panic=", panic_setup); +int machine_paniced; + /** * panic - halt the system * @fmt: The text string to print @@ -49,6 +52,11 @@ NORET_TYPE void panic(const char * fmt, ...) unsigned long caller = (unsigned long) __builtin_return_address(0); #endif +#ifdef CONFIG_VT + disable_console_blank(); +#endif + machine_paniced = 1; + bust_spinlocks(1); va_start(args, fmt); vsprintf(buf, fmt, args); diff --git a/xenolinux-2.4.22-sparse/kernel/printk.c b/xenolinux-2.4.22-sparse/kernel/printk.c index 5564fccf5d..6cfedd9c02 100644 --- a/xenolinux-2.4.22-sparse/kernel/printk.c +++ b/xenolinux-2.4.22-sparse/kernel/printk.c @@ -29,6 +29,7 @@ #include +#if !defined(CONFIG_LOG_BUF_SHIFT) || (CONFIG_LOG_BUF_SHIFT == 0) #if defined(CONFIG_MULTIQUAD) || defined(CONFIG_IA64) #define LOG_BUF_LEN (65536) #elif defined(CONFIG_ARCH_S390) @@ -38,6 +39,9 @@ #else #define LOG_BUF_LEN (16384) /* This must be a power of two */ #endif +#else /* CONFIG_LOG_BUF_SHIFT */ +#define LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT) +#endif #define LOG_BUF_MASK (LOG_BUF_LEN-1) diff --git a/xenolinux-2.4.22-sparse/mm/memory.c b/xenolinux-2.4.22-sparse/mm/memory.c index 0fdc801c0b..dc09253985 100644 --- a/xenolinux-2.4.22-sparse/mm/memory.c +++ b/xenolinux-2.4.22-sparse/mm/memory.c @@ -1326,7 +1326,8 @@ static int do_no_page(struct mm_struct * mm, struct vm_area_struct * vma, */ /* Only go through if we didn't race with anybody else... */ if (pte_none(*page_table)) { - ++mm->rss; + if (!PageReserved(new_page)) + ++mm->rss; flush_page_to_ram(new_page); flush_icache_page(vma, new_page); entry = mk_pte(new_page, vma->vm_page_prot); @@ -1463,6 +1464,7 @@ pmd_t *__pmd_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long address) */ if (!pgd_none(*pgd)) { pmd_free(new); + check_pgt_cache(); goto out; } } @@ -1498,6 +1500,7 @@ pte_t *pte_alloc(struct mm_struct *mm, pmd_t *pmd, unsigned long address) */ if (!pmd_none(*pmd)) { pte_free(new); + check_pgt_cache(); goto out; } } diff --git a/xenolinux-2.4.22-sparse/mm/mprotect.c b/xenolinux-2.4.22-sparse/mm/mprotect.c index a6f355d03b..e618a3b74d 100644 --- a/xenolinux-2.4.22-sparse/mm/mprotect.c +++ b/xenolinux-2.4.22-sparse/mm/mprotect.c @@ -275,7 +275,7 @@ asmlinkage long sys_mprotect(unsigned long start, size_t len, unsigned long prot len = PAGE_ALIGN(len); end = start + len; if (end < start) - return -EINVAL; + return -ENOMEM; if (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC)) return -EINVAL; if (end == start) -- cgit v1.2.3