diff -urN linux-2.4.24/Documentation/Changes linux-2.4.24-hardened/Documentation/Changes --- linux-2.4.24/Documentation/Changes 2002-11-29 00:53:08.000000000 +0100 +++ linux-2.4.24-hardened/Documentation/Changes 2004-01-30 20:01:31.000000000 +0100 @@ -56,6 +56,7 @@ o e2fsprogs 1.25 # tune2fs o jfsutils 1.0.12 # fsck.jfs -V o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs +o xfsprogs 2.1.0 # xfs_db -V o pcmcia-cs 3.1.21 # cardmgr -V o PPP 2.4.0 # pppd --version o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version @@ -190,6 +191,17 @@ versions of mkreiserfs, resize_reiserfs, debugreiserfs and reiserfsck. These utils work on both i386 and alpha platforms. +Xfsprogs +-------- + +The latest version of xfsprogs contains mkfs.xfs, xfs_db, and the +xfs_repair utilities, among others, for the XFS filesystem. It is +architecture independent and any version from 2.0.0 onward should +work correctly with this version of the XFS kernel code. For the new +(v2) log format that has better support for stripe-size aligning on +LVM and MD devices at least xfsprogs 2.1.0 is needed. + + Pcmcia-cs --------- @@ -327,6 +339,10 @@ ------------- o +Xfsprogs +-------- +o + LVM toolset ----------- o diff -urN linux-2.4.24/Documentation/Configure.help linux-2.4.24-hardened/Documentation/Configure.help --- linux-2.4.24/Documentation/Configure.help 2003-11-28 19:26:19.000000000 +0100 +++ linux-2.4.24-hardened/Documentation/Configure.help 2004-01-30 20:01:31.000000000 +0100 @@ -1912,6 +1912,20 @@ want), say M here and read . The module will be called lvm-mod.o. +Device-mapper support +CONFIG_BLK_DEV_DM + Device-mapper is a low level volume manager. It works by allowing + people to specify mappings for ranges of logical sectors. Various + mapping types are available, in addition people may write their own + modules containing custom mappings if they wish. + + Higher level volume managers such as LVM2 use this driver. + + If you want to compile this as a module, say M here and read + . The module will be called dm-mod.o. + + If unsure, say N. + Multiple devices driver support (RAID and LVM) CONFIG_MD Support multiple physical spindles through a single logical device. @@ -2772,6 +2786,14 @@ If you want to compile it as a module, say M here and read Documentation/modules.txt. If unsure, say `N'. +quota match support +CONFIG_IP_NF_MATCH_QUOTA + This match implements network quotas. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + limit match support CONFIG_IP_NF_MATCH_LIMIT limit matching allows you to control the rate at which a rule can be @@ -2809,6 +2831,14 @@ If you want to compile it as a module, say M here and read . If unsure, say `N'. +Multiple port with ranges match support +CONFIG_IP_NF_MATCH_MPORT + This is an enhanced multiport match which supports port + ranges as well as single ports. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + Multiple port match support CONFIG_IP_NF_MATCH_MULTIPORT Multiport matching allows you to match TCP or UDP packets based on @@ -2826,6 +2856,18 @@ If you want to compile it as a module, say M here and read Documentation/modules.txt. If unsure, say `N'. +U32 patch support +CONFIG_IP_NF_MATCH_U32 + U32 allows you to extract quantities of up to 4 bytes from a packet, + AND them with specified masks, shift them by specified amounts and + test whether the results are in any of a set of specified ranges. + The specification of what to extract is general enough to skip over + headers with lengths stored in the packet, as in IP or TCP header + lengths. + + Details and examples are in the kernel module source. + + LENGTH match support CONFIG_IP_NF_MATCH_LENGTH This option allows you to match the length of a packet against a @@ -2864,6 +2906,124 @@ +Fuzzy Logic Controller match support +CONFIG_IP_NF_MATCH_FUZZY + This option adds a `fuzzy' match, + which allows you to match packets according to a fuzzy logic + based law . + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + +iprange match support +CONFIG_IP_NF_MATCH_IPRANGE + This option makes possible to match IP addresses against + IP address ranges. + + If you want to compile it as a module, say M here and read + . If unsure, say `N'. + + +IPV4OPTIONS patch support +CONFIG_IP_NF_MATCH_IPV4OPTIONS + This option adds a IPV4OPTIONS match. + It allows you to filter options like source routing, + record route, timestamp and router-altert. + + If you say Y here, try iptables -m ipv4options --help for more information. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + +Nth match support +CONFIG_IP_NF_MATCH_NTH + This option adds a `Nth' match, which allow you to make + rules that match every Nth packet. By default there are + 16 different counters. + +[options] + --every Nth Match every Nth packet + [--counter] num Use counter 0-15 (default:0) + [--start] num Initialize the counter at the number 'num' + instead of 0. Must be between 0 and Nth-1 + [--packet] num Match on 'num' packet. Must be between 0 + and Nth-1. + + If --packet is used for a counter than + there must be Nth number of --packet + rules, covering all values between 0 and + Nth-1 inclusively. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + +OSF match support +CONFIG_IP_NF_MATCH_OSF + + The idea of passive OS fingerprint matching exists for quite a long time, + but was created as extension fo OpenBSD pf only some weeks ago. + Original idea was lurked in some OpenBSD mailing list (thanks + grange@open...) and than adopted for Linux netfilter in form of this code. + + Original table was created by Michal Zalewski for + his excellent p0f and than changed a bit for more convenience. + + This module compares some data(WS, MSS, options and it's order, ttl, + df and others) from first SYN packet (actually from packets with SYN + bit set) with hardcoded in fingers[] table ones. + + If you say Y here, try iptables -m osf --help for more information. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + +psd match support +CONFIG_IP_NF_MATCH_PSD + This option adds a `psd' match, which allows you to create rules in + any iptables table wich will detect TCP and UDP port scans. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + +Random match support +CONFIG_IP_NF_MATCH_RANDOM + This option adds a `random' match, + which allow you to match packets randomly + following a given probability. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + +REALM match support +CONFIG_IP_NF_MATCH_REALM + This option adds a `realm' match, which allows you to use the realm + key from the routing subsytem inside iptables. + + This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option + in tc world. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + +TIME patch support +CONFIG_IP_NF_MATCH_TIME + This option adds a `time' match, which allows you + to matchbased on the packet arrival time + (arrival time at the machine which the netfilter is running on) or + departure time (for locally generated packets). + + If you say Y here, try iptables -m time --help for more information. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + TOS match support CONFIG_IP_NF_MATCH_TOS TOS matching allows you to match packets based on the Type Of @@ -2884,6 +3044,14 @@ Documentation/modules.txt. If unsure, say `N'. +Connections/IP limit match support +CONFIG_IP_NF_MATCH_CONNLIMIT + This match allows you to restrict the number of parallel TCP + connections to a server per client IP address (or address block). + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + Connection state match support CONFIG_IP_NF_MATCH_STATE Connection state matching allows you to match packets based on their @@ -2909,6 +3077,26 @@ If you want to compile it as a module, say M here and read . If unsure, say `N'. +raw table support (required for NOTRACK/TRACE) +CONFIG_IP_NF_RAW + This option adds a `raw' table to iptables. This table is the very + first in the netfilter framework and hooks in at the PREROUTING + and OUTPUT chains. + + If you want to compile it as a module, say M here and read + . If unsure, say `N'. + +NOTRACK target support +CONFIG_IP_NF_TARGET_NOTRACK + The NOTRACK target allows a select rule to specify + which packets *not* to enter the conntrack/NAT + subsystem with all the consequences (no ICMP error tracking, + no protocol helpers for the selected packets). + + If you want to compile it as a module, say M here and read + . If unsure, say `N'. + + Packet filtering CONFIG_IP_NF_FILTER Packet filtering defines a table `filter', which has a series of @@ -2918,6 +3106,24 @@ If you want to compile it as a module, say M here and read . If unsure, say `N'. +IPV4OPTSSTRIP target support +CONFIG_IP_NF_TARGET_IPV4OPTSSTRIP + This option adds an IPV4OPTSSTRIP target. + This target allows you to strip all IP options in a packet. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + +NETLINK target support +CONFIG_IP_NF_TARGET_NETLINK + The NETLINK target allows you to recieve packets in userspace via + the kernel firewall netlink socket. Apps such as fwmon + (http://firestorm.geek-ware.co.uk) can then recieve and dislpay + these packets. This option is basically a re-implementation of the + ipchains -o option. + + REJECT target support CONFIG_IP_NF_TARGET_REJECT The REJECT target allows a filtering rule to specify that an ICMP @@ -2982,6 +3188,27 @@ If you want to compile it as a module, say M here and read . If unsure, say `N'. +NETMAP target support +CONFIG_IP_NF_TARGET_NETMAP + NETMAP is an implementation of static 1:1 NAT mapping of network + addresses. It maps the network address part, while keeping the + host address part intact. It is similar to Fast NAT, except that + Netfilter's connection tracking doesn't work well with Fast NAT. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. The module will be called + ipt_NETMAP.o. If unsure, say `N'. + +SAME NAT target support +CONFIG_IP_NF_TARGET_SAME + This option adds a `SAME' target, which works like the standard + SNAT target, but attempts to give clients the same IP for all + connections. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. The module will be called + ipt_SAME.o. If unsure, say `N'. + REDIRECT target support CONFIG_IP_NF_TARGET_REDIRECT REDIRECT is a special case of NAT: all incoming connections are @@ -3107,6 +3334,38 @@ If you want to compile it as a module, say M here and read Documentation/modules.txt. If unsure, say `N'. +TTL target support +CONFIG_IP_NF_TARGET_TTL + This option adds a `TTL' target, which enables the user to set + the TTL value or increment / decrement the TTL value by a given + amount. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + +pool match and target support +CONFIG_IP_NF_MATCH_POOL + Pool matching lets you use bitmaps with one bit per address from some + range of IP addresses; the match depends on whether a checked source + or destination address has its bit set in the pool. + + There is also a POOL netfilter target, which can be used to set or remove + the addresses of a packet from a pool. + + To define and use pools, you need userlevel utilities: a patched iptables, + and the program ippool(8), which defines the pools and their bounds. + The current release of pool matching is ippool-0.0.2, and can be found + in the archives of the netfilter mailing list at + http://lists.samba.org/netfilter/. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + +pool match and target statistics gathering +CONFIG_IP_POOL_STATISTICS + This option controls whether usage gathering code is compiled into the + ip_pool module. Disabling statistics may be substantially faster. + LOG target support CONFIG_IP_NF_TARGET_LOG This option adds a `LOG' target, which allows you to create rules in @@ -3146,6 +3405,48 @@ If you want to compile it as a module, say M here and read Documentation/modules.txt. If unsure, say `N'. +Fuzzy Logic Controller match support +CONFIG_IP6_NF_MATCH_FUZZY + This option adds a `fuzzy' match, which allows you to match + packets according to a fuzzy logic based law. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + +Nth match support +CONFIG_IP6_NF_MATCH_NTH + This option adds a `Nth' match, which allow you to make + rules that match every Nth packet. By default there are + 16 different counters. + +[options] + --every Nth Match every Nth packet + [--counter] num Use counter 0-15 (default:0) + [--start] num Initialize the counter at the number 'num' + instead of 0. Must be between 0 and Nth-1 + [--packet] num Match on 'num' packet. Must be between 0 + and Nth-1. + + If --packet is used for a counter than + there must be Nth number of --packet + rules, covering all values between 0 and + Nth-1 inclusively. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + +Random match support +CONFIG_IP6_NF_MATCH_RANDOM + This option adds a `random' match, + which allow you to match packets randomly + following a given probability. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + + MAC address match support CONFIG_IP6_NF_MATCH_MAC mac matching allows you to match packets based on the source @@ -3205,6 +3506,15 @@ If you want to compile it as a module, say M here and read . If unsure, say `N'. +REJECT target support +CONFIG_IP6_NF_TARGET_REJECT + The REJECT target allows a filtering rule to specify that an ICMPv6 + error should be issued in response to an incoming packet, rather + than silently being dropped. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + Packet filtering CONFIG_IP6_NF_FILTER Packet filtering defines a table `filter', which has a series of @@ -3276,6 +3586,14 @@ If you want to compile it as a module, say M here and read . If unsure, say `N'. +HL target support +CONFIG_IP6_NF_TARGET_HL + This option adds a `HL' target, which allows you to modify the value of + IPv6 Hop Limit field. + + If you want to compile it as a module, say M here and read + . If unsure, say `N'. + LOG target support CONFIG_IP6_NF_TARGET_LOG This option adds a `LOG' target, which allows you to create rules in @@ -13537,6 +13855,20 @@ The module will be called isp16.o. If you want to compile it as a module, say M here and read . +Posix Access Control Lists +CONFIG_FS_POSIX_ACL + Posix Access Control Lists (ACLs) support permissions for users and + groups beyond the owner/group/world scheme. + + To learn more about Access Control Lists, visit the Posix ACLs for + Linux website . + + If you plan to use Access Control Lists, you may also need the + getfacl and setfacl utilities, along with some additional patches + from the website. + + If you don't know what Access Control Lists are, say N. + iSeries Virtual I/O CD Support CONFIG_VIOCD If you are running Linux on an IBM iSeries system and you want to @@ -16295,6 +16627,43 @@ be compiled as a module, and so this could be dangerous. Most everyone wants to say Y here. +Ext2 extended attributes +CONFIG_EXT2_FS_XATTR + Extended attributes are name:value pairs associated with inodes by + the kernel or by users (see the attr(5) manual page, or visit + for details). + + You need this for POSIX ACL support on ext2. + + If unsure, say N. + +Ext2 extended attribute block sharing +CONFIG_EXT2_FS_XATTR_SHARING + This options enables code for sharing identical extended attribute + blocks among multiple inodes. + + Usually, say Y. + +Ext2 extended user attributes +CONFIG_EXT2_FS_XATTR_USER + This option enables extended user attributes on ext2. Processes can + associate extended user attributes with inodes to store additional + information such as the character encoding of files, etc. (see the + attr(5) manual page, or visit for details). + + If unsure, say N. + +Ext2 POSIX Access Control Lists +CONFIG_EXT2_FS_POSIX_ACL + POSIX Access Control Lists (ACLs) support permissions for users and + groups beyond the owner/group/world scheme. This option enables + POSIX ACLs on ext2. + + To learn more about Access Control Lists, visit the Posix ACLs for + Linux website . + + If unsure, say N. + Ext3 journalling file system support (EXPERIMENTAL) CONFIG_EXT3_FS This is the journalling version of the Second extended file system @@ -16327,6 +16696,43 @@ of your root partition (the one containing the directory /) cannot be compiled as a module, and so this may be dangerous. +Ext3 extended attributes +CONFIG_EXT3_FS_XATTR + Extended attributes are name:value pairs associated with inodes by + the kernel or by users (see the attr(5) manual page, or visit + for details). + + You need this for POSIX ACL support on ext3. + + If unsure, say N. + +Ext3 extended attribute block sharing +CONFIG_EXT3_FS_XATTR_SHARING + This options enables code for sharing identical extended attribute + blocks among multiple inodes. + + Usually, say Y. + +Ext3 extended user attributes +CONFIG_EXT3_FS_XATTR_USER + This option enables extended user attributes on ext3. Processes can + associate extended user attributes with inodes to store additional + information such as the character encoding of files, etc. (see the + attr(5) manual page, or visit for details). + + If unsure, say N. + +Ext3 POSIX Access Control Lists +CONFIG_EXT3_FS_POSIX_ACL + POSIX Access Control Lists (ACLs) support permissions for users and + groups beyond the owner/group/world scheme. This option enables + POSIX ACLs on ext3. + + To learn more about Access Control Lists, visit the Posix ACLs for + Linux website . + + If unsure, say N. + Journal Block Device support (JBD for ext3) (EXPERIMENTAL) CONFIG_JBD This is a generic journalling layer for block devices. It is @@ -16754,6 +17160,19 @@ If unsure, say N. +kernel compilation parameters in /proc support +CONFIG_PROC_CONFIG + This provides a listing in /proc/config of the configuration of + the compiled kernel. It's useful because people forget or lose + their notes on how they compiled which kernel image. You can + then recreate the .config file by + cat /proc/config > /usr/src/linux/.config + + You can compile the code as a module. If compiled in it + will enlarge your kernel by between 3-16KB. + + If unsure, say M. + NFS file system support CONFIG_NFS_FS If you are connected to some other (usually local) Unix computer @@ -16821,6 +17240,13 @@ If unsure, say N. +Solaris NFSACL RPCs +CONFIG_NFS_ACL + Allows manipulating POSIX Access Control Lists on NFS file systems + on servers that implement the nfsacl extension of NFSv3 (as Solaris + does, for example). See the CONFIG_NFSD_ACL option. If unsure, + say N. + Root file system on NFS CONFIG_ROOT_NFS If you want your Linux box to mount its whole root file system (the @@ -16865,6 +17291,13 @@ If you would like to include the NFSv3 server as well as the NFSv2 server, say Y here. If unsure, say Y. +Solaris NFSACL RPCs +CONFIG_NFSD_ACL + Implement the nfsacl protocol extension, allowing to manipulate POSIX + Access Control Lists on exported file systems. The clients must also + implement the nfsacl protocol extension; see the CONFIG_NFS_ACL + option. If unsure, say N. + Provide NFS over TCP server support EXPERIMENTAL CONFIG_NFSD_TCP Enable NFS service over TCP connections. This the officially @@ -17183,6 +17616,104 @@ Say Y here if you want to try writing to UFS partitions. This is experimental, so you should back up your UFS partitions beforehand. +XFS filesystem support +CONFIG_XFS_FS + XFS is a high performance journaling filesystem which originated + on the SGI IRIX platform. It is completely multi-threaded, can + support large files and large filesystems, extended attributes, + variable block sizes, is extent based, and makes extensive use of + Btrees (directories, extents, free space) to aid both performance + and scalability. + + Refer to the documentation at + for complete details. This implementation is on-disk compatible + with the IRIX version of XFS. + + If you want to compile this file system 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 xfs.o. Be aware, however, that if the file + system of your root partition is compiled as a module, you'll need + to use an initial ramdisk (initrd) to boot. + +DMAPI support +CONFIG_XFS_DMAPI + The Data Management API is a system interface used to implement + the interface defined in the X/Open document: + "Systems Management: Data Storage Management (XDSM) API", + dated February 1997. This interface is used by hierarchical + storage management systems. + + If XFS is built as module (= code which can be inserted in and + removed from the running kernel whenever you want), this code will + also be built as module. It is called xfs_dmapi.o. + + If unsure, say N. + +Quota support +CONFIG_XFS_QUOTA + If you say Y here, you will be able to set limits for disk usage on + a per user and/or per group basis under XFS. XFS considers quota + information as filesystem metadata and uses journaling to provide a + higher level guarantee of consistency. The on-disk data format for + quota is also compatible with the IRIX version of XFS, allowing a + filesystem to be migrated between Linux and IRIX without any need + for conversion. + + If unsure, say N. More comprehensive documentation can be found in + README.quota in the xfsprogs package. XFS quota can be used either + with or without the generic quota support enabled (CONFIG_QUOTA) - + they are completely independent subsystems. + +Realtime support (EXPERIMENTAL) +CONFIG_XFS_RT + If you say Y here you will be able to mount and use XFS filesystems + which contain a realtime subvolume. The realtime subvolume is a + separate area of disk space where only file data is stored. The + realtime subvolume is designed to provide very deterministic + data rates suitable for media streaming applications. + + See the xfs man page in section 5 for a bit more information. + + This feature is unsupported at this time, is not yet fully + functional, and may cause serious problems. + + If unsure, say N. + +ACL support +CONFIG_XFS_POSIX_ACL + Posix Access Control Lists (ACLs) support permissions for users and + groups beyond the owner/group/world scheme. + + To learn more about Access Control Lists, visit the Posix ACLs for + Linux website . + + If you don't know what Access Control Lists are, say N + +Tracing support (EXPERIMENTAL) +CONFIG_XFS_TRACE + Say Y here to get an XFS build with activity tracing enabled. + Enabling this option will attach historical information to XFS + inodes, pagebufs, certain locks, the log, the IO path, and a + few other key areas within XFS. These traces can be examined + using the kdb kernel debugger. + + Note that for the pagebuf traces, you will also have to enable + the sysctl in /proc/sys/vm/pagebuf/debug for this to work. + + Say N unless you are an XFS developer. + +Debugging support (EXPERIMENTAL) +CONFIG_XFS_DEBUG + Say Y here to get an XFS build with many debugging features, + including ASSERT checks, function wrappers around macros, + and extra sanity-checking functions in various code paths. + + Note that the resulting code will be HUGE and SLOW, and probably + not useful unless you are debugging a particular problem. + + Say N unless you are an XFS developer, or play one on TV. + Advanced partition selection CONFIG_PARTITION_ADVANCED Say Y here if you would like to use hard disks under Linux which @@ -21832,6 +22363,90 @@ keys are documented in . Don't say Y unless you really know what this hack does. +Kernel Debugging support +CONFIG_KDB + This option provides a built-in kernel debugger. The built-in + kernel debugger contains commands which allow memory to be examined, + instructions to be disassembled and breakpoints to be set. For details, + see Documentation/kdb/kdb.mm and the manual pages kdb_bt, kdb_ss, etc. + Kdb can also be used via the serial port. Set up the system to + have a serial console (see Documentation/serial-console.txt). + The Control-A key sequence on the serial port will cause the + kernel debugger to be entered with input from the serial port and + output to the serial console. Selecting this option will + automatically set CONFIG_KALLSYMS. If unsure, say N. + +KDB modules +CONFIG_KDB_MODULES + KDB can be extended by adding your own modules, in directory + kdb/modules. This option selects the way that these modules should + be compiled, as free standing modules (select M) or built into the + kernel (select Y). If unsure say M. + +KDB off by default +CONFIG_KDB_OFF + Normally kdb is activated by default, as long as CONFIG_KDB is set. + If you want to ship a kernel with kdb support but only have kdb + turned on when the user requests it then select this option. When + compiled with CONFIG_KDB_OFF, kdb ignores all events unless you boot + with kdb=on or you echo "1" > /proc/sys/kernel/kdb. This option also + works in reverse, if kdb is normally activated, you can boot with + kdb=off or echo "0" > /proc/sys/kernel/kdb to deactivate kdb. If + unsure, say N. + +KDB continues after catastrophic errors +CONFIG_KDB_CONTINUE_CATASTROPHIC + This integer controls the behaviour of kdb when the kernel gets a + catastrophic error, i.e. for a panic, oops, NMI or other watchdog + tripping. CONFIG_KDB_CONTINUE_CATASTROPHIC interacts with + /proc/sys/kernel/kdb and CONFIG_DUMP (if your kernel has the LKCD + patch). + + When KDB is active (/proc/sys/kernel/kdb == 1) and a catastrophic + error occurs, nothing extra happens until you type 'go'. + + CONFIG_KDB_CONTINUE_CATASTROPHIC == 0 (default). The first time + you type 'go', kdb warns you. The second time you type 'go', KDB + tries to continue - no guarantees that the kernel is still usable. + + CONFIG_KDB_CONTINUE_CATASTROPHIC == 1. KDB tries to continue - no + guarantees that the kernel is still usable. + + CONFIG_KDB_CONTINUE_CATASTROPHIC == 2. If your kernel has the LKCD + patch and LKCD is configured to take a dump then KDB forces a dump. + Whether or not a dump is taken, KDB forces a reboot. + + When KDB is not active (/proc/sys/kernel/kdb == 0) and a catastrophic + error occurs, the following steps are automatic, no human + intervention is required. + + CONFIG_KDB_CONTINUE_CATASTROPHIC == 0 (default) or 1. KDB attempts + to continue - no guarantees that the kernel is still usable. + + CONFIG_KDB_CONTINUE_CATASTROPHIC == 2. If your kernel has the LKCD + patch and LKCD is configured to take a dump then KDB automatically + forces a dump. Whether or not a dump is taken, KDB forces a + reboot. + + If you are not sure, say 0. Read Documentation/kdb/dump.txt before + setting to 2. + +Support for USB Keyboard in KDB +CONFIG_KDB_USB + If you want to use kdb from a USB keyboard then say Y here. If you + say N then kdb can only be used from a PC (AT) keyboard or a serial + console. + +Load all symbols for debugging +CONFIG_KALLSYMS + Normally only exported symbols are available to modules. For + debugging you may want all symbols, not just the exported ones. If + you say Y here then extra data is added to the kernel and modules, + this data lists all the non-stack symbols in the kernel or module + and can be used by any debugger. You need modutils >= 2.3.11 to use + this option. See "man kallsyms" for the data format, it adds 10-20% + to the size of the kernel and the loaded modules. If unsure, say N. + ISDN support CONFIG_ISDN ISDN ("Integrated Services Digital Networks", called RNIS in France) @@ -28502,6 +29117,41 @@ CONFIG_CRYPTO_TEST Quick & dirty crypto test module. +CONFIG_HARDENED + Say Y here to be able to configure Hardened security enhancements + brought to you by the Gentoo Hardened team. + http://www.gentoo.org/proj/en/hardened/ + +CONFIG_HARDENED_SSP + Say Y here to build the kernel with ProPolice SSP (-fstack-protector) + +CONFIG_HARDENED_MREMAP_FIX + Say Y here to add a better fix for the do_mremap issue. + The original fix will be kept additionally. + +CONFIG_HARDENED_LOG + Say Y here to be able to configure hardened logging. + +CONFIG_HARDENED_LOG_MREMAP + Say Y here to log any attempt to abuse the do_mremap issue. + +CONFIG_HARDENED_LOG_DO_BRK + Say Y here to log any attempt to abuse the do_brk issue. + +CONFIG_HARDENED_LOG_PTRACE + Say Y here to log forbidden ptrace() calls + +CONFIG_HARDENED_PTRACE + Say Y here to set up ptrace() restrictions. + +CONFIG_HARDENED_PTRACE_GID + Restrict ptracing to a given GID. + See also CONFIG_HARDENED_LOG_PTRACE + +CONFIG_HARDENED_PTRACE_ATTACH + Forbid ptrace attaching to non root users. + See also CONFIG_HARDENED_LOG_PTRACE + CONFIG_SOUND_WM97XX Say Y here to support the Wolfson WM9705 and WM9712 touchscreen controllers. These controllers are mainly found in PDA's @@ -28524,7 +29174,67 @@ If unsure, say N. -# +IP Security Protocol (IPSEC) (EXPERIMENTAL) +CONFIG_IPSEC + This unit is experimental code. + Pick 'y' for static linking, 'm' for module support or 'n' for none. + This option adds support for network layer packet encryption and/or + authentication with participating hosts. The standards start with: + RFCs 2411, 2407 and 2401. Others are mentioned where they refer to + specific features below. There are more pending which can be found + at: ftp://ftp.ietf.org/internet-drafts/draft-ietf-ipsec-*. + A description of each document can also be found at: + http://ietf.org/ids.by.wg/ipsec.html. + Their charter can be found at: + http://www.ietf.org/html.charters/ipsec-charter.html + Snapshots and releases of the current work can be found at: + http://www.freeswan.org/ + +IPSEC: IP-in-IP encapsulation +CONFIG_IPSEC_IPIP + This option provides support for tunnel mode IPSEC. It is recommended + to enable this. + +IPSEC: Authentication Header +CONFIG_IPSEC_AH + This option provides support for the IPSEC Authentication Header + (IP protocol 51) which provides packet layer sender and content + authentication. It is recommended to enable this. RFC2402 + +HMAC-MD5 algorithm +CONFIG_IPSEC_AUTH_HMAC_MD5 + Provides support for authentication using the HMAC MD5 + algorithm with 96 bits of hash used as the authenticator. RFC2403 + +HMAC-SHA1 algorithm +CONFIG_IPSEC_AUTH_HMAC_SHA1 + Provides support for Authentication Header using the HMAC SHA1 + algorithm with 96 bits of hash used as the authenticator. RFC2404 + +IPSEC: Encapsulating Security Payload +CONFIG_IPSEC_ESP + This option provides support for the IPSEC Encapsulation Security + Payload (IP protocol 50) which provides packet layer content + hiding. It is recommended to enable this. RFC2406 + +3DES algorithm +CONFIG_IPSEC_ENC_3DES + Provides support for Encapsulation Security Payload protocol, using + the triple DES encryption algorithm. RFC2451 + +IPSEC Debugging Option +CONFIG_IPSEC_DEBUG + Enables IPSEC kernel debugging. It is further controlled by the + user space utility 'klipsdebug'. + +IPSEC Regression Testing option +CONFIG_IPSEC_REGRESS + Enables IPSEC regression testing. Creates a number of switches in + /proc/sys/net/ipsec which cause various failure modes in KLIPS. + For more details see FreeSWAN source under + testing/doc/regression_options.txt. + +# # A couple of things I keep forgetting: # capitalize: AppleTalk, Ethernet, DOS, DMA, FAT, FTP, Internet, # Intel, IRQ, ISDN, Linux, MSDOS, NetWare, NetWinder, diff -urN linux-2.4.24/Documentation/Configure.help.preipsec linux-2.4.24-hardened/Documentation/Configure.help.preipsec --- linux-2.4.24/Documentation/Configure.help.preipsec 1970-01-01 01:00:00.000000000 +0100 +++ linux-2.4.24-hardened/Documentation/Configure.help.preipsec 2004-01-30 20:01:32.000000000 +0100 @@ -0,0 +1,29186 @@ +# Maintained by: +# Eric S. Raymond +# Steven Cole +# +# Translations of this file available on the WWW: +# +# - Japanese, maintained by the JF Project , at +# +# - Russian, by , at +# +# - French, by Pierre Tane , at +# +# - Polish, by Dominik Mierzejewski , at +# +# - German, by SuSE, at . This patch +# also includes infrastructure to support different languages. +# - Catalan, by Antoni Bella , at +# +# +# 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 +# compiling, make sure that you have the necessary versions of all +# programs and libraries required to compile and run this kernel; they +# are listed in the . Make sure to read the +# toplevel kernel README file as well. +# +# Format of this file: descriptionvariablehelp text. +# The help texts may contain empty lines, but every non-empty line must +# be indented two positions. Order of the help texts does not matter, +# however, no variable should be documented twice: if it is, only the +# first occurrence will be used. We try to keep the help texts of related +# variables close together. Lines starting with `#' are ignored. To be +# nice to menuconfig, limit your line length to 70 characters. Use emacs' +# kfill.el to edit and ispell.el to spell check this file or you lose. +# +# Comments of the form "# Choice:" followed by a menu name are used +# internally by the maintainers' consistency-checking tools. +# +# If you add a help text to this file, please try to be as gentle as +# possible. Don't use unexplained acronyms and generally write for the +# hypothetical ignorant but intelligent user who has just bought a PC, +# removed Windows, installed Linux and is now recompiling the kernel +# for the first time. Tell them what to do if they're unsure. Technical +# information should go in a README in the Documentation directory. +# +# Mention all the relevant READMEs and HOWTOs in the help text. +# Make them file URLs relative to the top level of the source tree so +# that help browsers can turn them into hotlinks. All URLs should be +# surrounded by <>. +# +# Repetitions are fine since the help texts are not meant to be read +# in sequence. It is good style to include URLs pointing to more +# detailed technical information, pictures of the hardware, etc. +# +# The most important thing to include in a help entry is *motivation*. +# Explain why someone configuring a kernel might want to select your +# option. +# +# All this was shamelessly stolen from numerous different sources. Many +# thanks to all the contributors. Feel free to use these help texts in +# your own kernel configuration tools. The texts are copyrighted (c) +# 1995-2000 by Axel Boldt and many others and are governed by the GNU +# General Public License. + +Prompt for development and/or incomplete code/drivers +CONFIG_EXPERIMENTAL + Some of the various things that Linux supports (such as network + drivers, file systems, network protocols, etc.) can be in a state + of development where the functionality, stability, or the level of + testing is not yet high enough for general use. This is usually + known as the "alpha-test" phase among developers. If a feature is + currently in alpha-test, then the developers usually discourage + uninformed widespread use of this feature by the general public to + avoid "Why doesn't this work?" type mail messages. However, active + testing and use of these systems is welcomed. Just be aware that it + may not meet the normal level of reliability or it may fail to work + in some special cases. Detailed bug reports from people familiar + with the kernel internals are usually welcomed by the developers + (before submitting bug reports, please read the documents + , , , + , and + in the kernel source). + + This option will also make obsoleted drivers available. These are + drivers that have been replaced by something else, and/or are + scheduled to be removed in a future kernel release. + + Unless you intend to help test and develop a feature or driver that + falls into this category, or you have a situation that requires + using these features, you should probably say N here, which will + cause the configurator to present you with fewer choices. If + you say Y here, you will be offered the choice of using features or + drivers that are currently considered to be in the alpha-test phase. + +Prompt for drivers for obsolete features and hardware +CONFIG_OBSOLETE + Obsolete drivers have usually been replaced by more recent software + that can talk to the same hardware. Obsolete hardware is things + 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 + a system with only one CPU, like most personal computers, say N. If + you have a system with more than one CPU, say Y. + + If you say N here, the kernel will run on single and multiprocessor + machines, but will use only one CPU of a multiprocessor machine. If + you say Y here, the kernel will run on many, but not all, + single machines. On a singleprocessor machine, the kernel + will run faster if you say N here. + + Note that if you say Y here and choose architecture "586" or + "Pentium" under "Processor family", the kernel will not work on 486 + architectures. Similarly, multiprocessor kernels for the "PPro" + architecture may not work on all Pentium based boards. + + People using multiprocessor machines who say Y here should also say + Y to "Enhanced Real Time Clock Support", below. The "Advanced Power + Management" code will be disabled if you say Y here. + + See also the , + , , + and the SMP-HOWTO available at + . + + 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 + 386, and runs on all the later x86 processors including the Intel + 486, 586, Pentiums, and various instruction-set-compatible chips by + AMD, Cyrix, and others. + +Alpha processor +CONFIG_ALPHA + The Alpha is a 64-bit general-purpose processor designed and + marketed by the Digital Equipment Corporation of blessed memory, now + Compaq. Alpha Linux dates from 1995-1996 and was the first non-x86 + port. The Alpha Linux project has a home page at + . + +32-bit Sun Sparc +CONFIG_SPARC32 + SPARC is a family of RISC microprocessors designed and marketed by + Sun Microsystems, incorporated. They are very widely found in Sun + workstations and clones. This port covers the original 32-bit SPARC; + it is old and stable and usually considered one of the "big three" + along with the Intel and Alpha ports. The UltraLinux project + maintains both the SPARC32 and SPARC64 ports; its web page is + available at . + +64-bit Sun Sparc +CONFIG_SPARC64 + SPARC is a family of RISC microprocessors designed and marketed by + Sun Microsystems, incorporated. This port covers the newer 64-bit + UltraSPARC. The UltraLinux project maintains both the SPARC32 and + SPARC64 ports; its web page is available at + . + +Power PC processor +CONFIG_PPC + The PowerPC is a very capable 32-bit RISC processor from Motorola, + the successor to their 68000 and 88000 series. It powers recent + Macintoshes and also a widely-used series of single-board computers + from Motorola. The Linux PowerPC port has a home page at + . + +Motorola 68K processors +CONFIG_M68K + The Motorola 68K microprocessors are now obsolete, having been + superseded by the PowerPC line also from Motorola. But they powered + the first wave of workstation hardware in the 1980s, including Sun + workstations; they were also the basis of the original Amiga and + later Atari personal computers. A lot of this hardware is still + around. The m68k project has a home page at + . + +ARM processors +CONFIG_ARM + The ARM series is a line of low-power-consumption RISC chip designs + licensed by ARM ltd and targeted at embedded applications and + handhelds such as the Compaq IPAQ. ARM-based PCs are no longer + manufactured, but legacy ARM-based PC hardware remains popular in + Europe. There is an ARM Linux project with a web page at + . + +SuperH processors +CONFIG_SUPERH + The SuperH is a RISC processor targeted for use in embedded systems + and consumer electronics; it was also used in the Sega Dreamcast + gaming console. The SuperH port has a home page at + . + +IA64 processors, including Intel Itanium +CONFIG_IA64 + The Itanium is Intel's 64-bit successor to the 32-bit X86 line. As + of early 2001 it is not yet in widespread production use. The Linux + IA-64 project has a home page at . + +HP PA-RISC processor +CONFIG_PARISC + The PA-RISC microprocessor is a RISC chip designed by + Hewlett-Packard and used in their line of workstations. The PA-RISC + Linux project has a home page at . + +IBM System/390 +CONFIG_S390 + Linux now runs on the venerable System/390 mainframe from IBM, in a + guest partition under VM. In fact, over 40,000 simultaneous Linux + images have been run on a single mainframe! The S390 Linux project + has a home page at . + +Axis Communications ETRAX 100LX embedded network CPU +CONFIG_CRIS + Linux has been ported to run on the Axis Communications ETRAX 100LX + CPU and the single-board computers built around it, targeted for + network and embedded applications. For more information see the + Axis Communication site, . + +Unsynced TSC support +CONFIG_X86_TSC_DISABLE + This option is used for getting Linux to run on a NUMA multi-node + boxes, laptops and other systems suffering from unsynced TSCs or + TSC drift, which can cause gettimeofday to return non-monotonic values. + Choosing this option will disable the CONFIG_X86_TSC optimization, + and allows you to then specify "notsc" as a boot option regardless of + which processor you have compiled for. + + NOTE: If your system hangs when init should run, you are probably + using a i686 compiled glibc which reads the TSC without checking for + availability. Boot without "notsc" and install a i386 compiled glibc + to solve the problem. + + If unsure, say N. + +Multiquad support for NUMAQ systems +CONFIG_X86_NUMAQ + This option is used for getting Linux to run on a (IBM/Sequent) NUMA + multiquad box. This changes the way that processors are bootstrapped, + and uses Clustered Logical APIC addressing mode instead of Flat Logical. + You will need a new lynxer.elf file to flash your firmware with - send + email to Martin.Bligh@us.ibm.com + +Support for IBM Summit (EXA) systems +CONFIG_X86_SUMMIT + This option is needed for IBM systems that use the Summit/EXA chipset. + (EXA: Extendable Xseries Architecture)In particular, it is needed for + the x440 (even for the 4-CPU model). + + If you don't have this computer, you may safely say N. + +IO-APIC support on uniprocessors +CONFIG_X86_UP_IOAPIC + An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an + SMP-capable replacement for PC-style interrupt controllers. Most + SMP systems and a small number of uniprocessor systems have one. + If you have a single-CPU system with an IO-APIC, you can say Y here + to use it. If you say Y here even though your machine doesn't have + an IO-APIC, then the kernel will still run with no slowdown at all. + + If you have a system with several CPUs, you do not need to say Y + here: the IO-APIC will be used automatically. + +Local APIC Support on Uniprocessors +CONFIG_X86_UP_APIC + A local APIC (Advanced Programmable Interrupt Controller) is an + integrated interrupt controller in the CPU. If you have a single-CPU + system which has a processor with a local APIC, you can say Y here to + enable and use it. If you say Y here even though your machine doesn't + have a local APIC, then the kernel will still run with no slowdown at + all. The local APIC supports CPU-generated self-interrupts (timer, + performance counters), and the NMI watchdog which detects hard lockups. + + If you have a system with several CPUs, you do not need to say Y + here: the local APIC will be used automatically. + +Kernel math emulation +CONFIG_MATH_EMULATION + Linux can emulate a math coprocessor (used for floating point + operations) if you don't have one. 486DX and Pentium processors have + a math coprocessor built in, 486SX and 386 do not, unless you added + a 487DX or 387, respectively. (The messages during boot time can + give you some hints here ["man dmesg"].) Everyone needs either a + coprocessor or this emulation. + + If you don't have a math coprocessor, you need to say Y here; if you + say Y here even though you have a coprocessor, the coprocessor will + be used nevertheless. (This behaviour can be changed with the kernel + command line option "no387", which comes handy if your coprocessor + is broken. Try "man bootparam" or see the documentation of your boot + loader (lilo or loadlin) about how to pass options to the kernel at + boot time.) This means that it is a good idea to say Y here if you + intend to use this kernel on different machines. + + More information about the internals of the Linux math coprocessor + emulation can be found in . + + If you are not sure, say Y; apart from resulting in a 66 KB bigger + kernel, it won't hurt. + +Timer and CPU usage LEDs +CONFIG_LEDS + If you say Y here, the LEDs on your machine will be used + to provide useful information about your current system status. + + If you are compiling a kernel for a NetWinder or EBSA-285, you will + be able to select which LEDs are active using the options below. If + you are compiling a kernel for the EBSA-110 or the LART however, the + red LED will simply flash regularly to indicate that the system is + still functional. It is safe to say Y here if you have a CATS + system, but the driver will do nothing. + +Timer LED +CONFIG_LEDS_TIMER + If you say Y here, one of the system LEDs (the green one on the + NetWinder, the amber one on the EBSA285, or the red one on the LART) + will flash regularly to indicate that the system is still + operational. This is mainly useful to kernel hackers who are + debugging unstable kernels. + + The LART uses the same LED for both Timer LED and CPU usage LED + functions. You may choose to use both, but the Timer LED function + will overrule the CPU usage LED. + +CPU usage LED +CONFIG_LEDS_CPU + If you say Y here, the red LED will be used to give a good real + time indication of CPU usage, by lighting whenever the idle task + is not currently executing. + + The LART uses the same LED for both Timer LED and CPU usage LED + functions. You may choose to use both, but the Timer LED function + will overrule the CPU usage LED. + +Kernel FP software completion +CONFIG_MATHEMU + This option is required for IEEE compliant floating point arithmetic + on the Alpha. The only time you would ever not say Y is to say M in + order to debug the code. Say Y unless you know what you are doing. + +# Choice: himem +High Memory support +CONFIG_NOHIGHMEM + Linux can use up to 64 Gigabytes of physical memory on x86 systems. + However, the address space of 32-bit x86 processors is only 4 + Gigabytes large. That means that, if you have a large amount of + physical memory, not all of it can be "permanently mapped" by the + kernel. The physical memory that's not permanently mapped is called + "high memory". + + If you are compiling a kernel which will never run on a machine with + more than 960 megabytes of total physical RAM, answer "off" here (default + choice and suitable for most users). This will result in a "3GB/1GB" + split: 3GB are mapped so that each process sees a 3GB virtual memory + space and the remaining part of the 4GB virtual memory space is used + by the kernel to permanently map as much physical memory as + possible. + + If the machine has between 1 and 4 Gigabytes physical RAM, then + answer "4GB" here. + + If more than 4 Gigabytes is used then answer "64GB" here. This + selection turns Intel PAE (Physical Address Extension) mode on. + PAE implements 3-level paging on IA32 processors. PAE is fully + supported by Linux, PAE mode is implemented on all recent Intel + processors (Pentium Pro and better). NOTE: If you say "64GB" here, + then the kernel will not boot on CPUs that don't support PAE! + + The actual amount of total physical memory will either be auto + detected or can be forced by using a kernel command line option such + as "mem=256M". (Try "man bootparam" or see the documentation of your + boot loader (grub, lilo or loadlin) about how to pass options to the + kernel at boot time.) + + If unsure, say "off". + +4GB +CONFIG_HIGHMEM4G + Select this if you have a 32-bit processor and between 1 and 4 + gigabytes of physical RAM. + +64GB +CONFIG_HIGHMEM64G + Select this if you have a 32-bit processor and more than 4 + gigabytes of physical RAM. + +HIGHMEM I/O support +CONFIG_HIGHIO + If you want to be able to do I/O to high memory pages, say Y. + Otherwise low memory pages are used as bounce buffers causing a + degrade in performance. + +Normal floppy disk support +CONFIG_BLK_DEV_FD + If you want to use the floppy disk drive(s) of your PC under Linux, + say Y. Information about this driver, especially important for IBM + Thinkpad users, is contained in . + That file also contains the location of the Floppy driver FAQ as + well as location of the fdutils package used to configure additional + parameters of the driver at run time. + + 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 floppy.o. If you want to compile it as a + module, say M here and read . + +iSeries Virtual I/O Disk Support +CONFIG_VIODASD + If you are running on an iSeries system and you want to use + virtual disks created and managed by OS/400, say Y. + +iSeries Virtual I/O Disk IDE Emulation +CONFIG_VIODASD_IDE + This causes the iSeries virtual disks to look like IDE disks. + If you have programs or utilities that only support certain + kinds of disks, this option will cause iSeries virtual disks + to pretend to be IDE disks, which may satisfy the program. + +Support for PowerMac floppy +CONFIG_MAC_FLOPPY + If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple) + floppy controller, say Y here. Most commonly found in PowerMacs. + +RAM disk support +CONFIG_BLK_DEV_RAM + Saying Y here will allow you to use a portion of your RAM memory as + a block device, so that you can make file systems on it, read and + write to it and do all the other things that you can do with normal + block devices (such as hard drives). It is usually used to load and + store a copy of a minimal root file system off of a floppy into RAM + during the initial install of Linux. + + Note that the kernel command line option "ramdisk=XX" is now + obsolete. For details, read . + + 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 and read . The module will be + called rd.o. + + Most normal users won't need the RAM disk functionality, and can + thus say N here. + +Default RAM disk size +CONFIG_BLK_DEV_RAM_SIZE + The default value is 4096. Only change this if you know what are + you doing. If you are using IBM S/390, then set this to 8192. + +Initial RAM disk (initrd) support +CONFIG_BLK_DEV_INITRD + The initial RAM disk is a RAM disk that is loaded by the boot loader + (loadlin or lilo) and that is mounted as root before the normal boot + procedure. It is typically used to load modules needed to mount the + "real" root file system, etc. See + for details. + +Embed root filesystem ramdisk into the kernel +CONFIG_EMBEDDED_RAMDISK + Select this option if you want to build the ramdisk image into the + the final kernel binary. + +Filename of gziped ramdisk image +CONFIG_EMBEDDED_RAMDISK_IMAGE + This is the filename of the ramdisk image to be built into the + kernel. Relative pathnames are relative to arch/mips/ramdisk/. + The ramdisk image is not part of the kernel distribution; you must + provide one yourself. + +Loopback device support +CONFIG_BLK_DEV_LOOP + Saying Y here will allow you to use a regular file as a block + device; you can then create a file system on that block device and + mount it just as you would mount other block devices such as hard + drive partitions, CD-ROM drives or floppy drives. The loop devices + are block special device files with major number 7 and typically + called /dev/loop0, /dev/loop1 etc. + + This is useful if you want to check an ISO 9660 file system before + burning the CD, or if you want to use floppy images without first + writing them to floppy. Furthermore, some Linux distributions avoid + the need for a dedicated Linux partition by keeping their complete + root file system inside a DOS FAT file using this loop device + driver. + + The loop device driver can also be used to "hide" a file system in a + disk partition, floppy, or regular file, either using encryption + (scrambling the data) or steganography (hiding the data in the low + bits of, say, a sound file). This is also safe if the file resides + on a remote file server. If you want to do this, you will first have + to acquire and install a kernel patch from + , and then you need to + say Y to this option. + + Note that alternative ways to use encrypted file systems are + provided by the cfs package, which can be gotten from + , and the newer tcfs + package, available at . You do not need + to say Y here if you want to use one of these. However, using cfs + requires saying Y to "NFS file system support" below while using + tcfs requires applying a kernel patch. An alternative steganography + solution is provided by StegFS, also available from + . + + To use the loop device, you need the losetup utility and a recent + version of the mount program, both contained in the util-linux + package. The location and current version number of util-linux is + contained in the file . + + Note that this loop device has nothing to do with the loopback + device used for network connections from the machine to itself. + + 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 loop.o. + + Most users will answer N here. + +Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL) +CONFIG_BLK_DEV_UMEM + Saying Y here will include support for the MM5415 family of + battery backed (Non-volatile) RAM cards. + + + The cards appear as block devices that can be partitioned into + as many as 15 partitions. + + 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 Documentation/modules.txt. The module will be + called umem.o. + + The umem driver has been allocated block major number 116. + See Documentation/devices.txt for recommended device naming. + +Network block device support +CONFIG_BLK_DEV_NBD + Saying Y here will allow your computer to be a client for network + block devices, i.e. it will be able to use block devices exported by + servers (mount file systems on them etc.). Communication between + client and server works over TCP/IP networking, but to the client + program this is hidden: it looks like a regular local file access to + a block device special file such as /dev/nd0. + + Network block devices also allows you to run a block-device in + userland (making server and client physically the same computer, + communicating using the loopback network device). + + Read for more information, especially + about where to find the server code, which runs in user space and + does not need special kernel support. + + Note that this has nothing to do with the network file systems NFS + or Coda; you can say N here even if you intend to use NFS or Coda. + + 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 nbd.o. + + If unsure, say N. + +Per partition statistics in /proc/partitions +CONFIG_BLK_STATS + If you say yes here, your kernel will keep statistical information + for every partition. The information includes things as numbers of + read and write accesses, the number of merged requests etc. + + This is required for the full functionality of sar(8) and interesting + if you want to do performance tuning, by tweaking the elevator, e.g. + + If unsure, say N. + +ATA/IDE/MFM/RLL support +CONFIG_IDE + If you say Y here, your kernel will be able to manage low cost mass + storage units such as ATA/(E)IDE and ATAPI units. The most common + cases are IDE hard drives and ATAPI CD-ROM drives. + + If your system is pure SCSI and doesn't use these interfaces, you + can say N here. + + Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard + for mass storage units such as hard disks. It was designed by + Western Digital and Compaq Computer in 1984. It was then named + ST506. Quite a number of disks use the IDE interface. + + AT Attachment (ATA) is the superset of the IDE specifications. + ST506 was also called ATA-1. + + Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is + ATA-3. It provides support for larger disks (up to 8.4GB by means of + the LBA standard), more disks (4 instead of 2) and for other mass + storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is + ATA-4 and provides faster (and more CPU friendly) transfer modes + than previous PIO (Programmed processor Input/Output) from previous + ATA/IDE standards by means of fast DMA controllers. + + ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and + CD-ROM drives, similar in many respects to the SCSI protocol. + + SMART IDE (Self Monitoring, Analysis and Reporting Technology) was + designed in order to prevent data corruption and disk crash by + detecting pre hardware failure conditions (heat, access time, and + the like...). Disks built since June 1995 may follow this standard. + The kernel itself don't manage this; however there are quite a + number of user programs such as smart that can query the status of + SMART parameters disk. + + 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 ide.o. + + For further information, please read . + + If unsure, say Y. + +Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support +CONFIG_BLK_DEV_IDE + If you say Y here, you will use the full-featured IDE driver to + control up to ten ATA/IDE interfaces, each being able to serve a + "master" and a "slave" device, for a total of up to twenty ATA/IDE + disk/cdrom/tape/floppy drives. + + Useful information about large (>540 MB) IDE disks, multiple + interfaces, what to do if ATA/IDE devices are not automatically + detected, sound card ATA/IDE ports, module support, and other + topics, is contained in . For detailed + information about hard drives, consult the Disk-HOWTO and the + Multi-Disk-HOWTO, available from + . + + To fine-tune ATA/IDE drive/interface parameters for improved + performance, look for the hdparm package at + . + + 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 and + . The module will be called ide-mod.o. + Do not compile this driver as a module if your root file system (the + one containing the directory /) is located on an IDE device. + + If you have one or more IDE drives, say Y or M here. If your system + has no IDE drives, or if memory requirements are really tight, you + could say N here, and select the "Old hard disk driver" below + instead to save about 13 KB of memory in the kernel. + +Old hard disk (MFM/RLL/IDE) driver +CONFIG_BLK_DEV_HD_ONLY + There are two drivers for MFM/RLL/IDE hard disks. Most people use + the newer enhanced driver, but this old one is still around for two + reasons. Some older systems have strange timing problems and seem to + work only with the old driver (which itself does not work with some + newer systems). The other reason is that the old driver is smaller, + since it lacks the enhanced functionality of the new one. This makes + it a good choice for systems with very tight memory restrictions, or + for systems with only older MFM/RLL/ESDI drives. Choosing the old + driver can save 13 KB or so of kernel memory. + + If you are unsure, then just choose the Enhanced IDE/MFM/RLL driver + instead of this one. For more detailed information, read the + Disk-HOWTO, available from + . + +Use old disk-only driver on primary interface +CONFIG_BLK_DEV_HD_IDE + There are two drivers for MFM/RLL/IDE disks. Most people use just + the new enhanced driver by itself. This option however installs the + old hard disk driver to control the primary IDE/disk interface in + the system, leaving the new enhanced IDE driver to take care of only + the 2nd/3rd/4th IDE interfaces. Doing this will prevent you from + having an IDE/ATAPI CD-ROM or tape drive connected to the primary + IDE interface. Choosing this option may be useful for older systems + which have MFM/RLL/ESDI controller+drives at the primary port + address (0x1f0), along with IDE drives at the secondary/3rd/4th port + addresses. + + Normally, just say N here; you will then use the new driver for all + 4 interfaces. + +Include IDE/ATA-2 DISK support +CONFIG_BLK_DEV_IDEDISK + This will include enhanced support for MFM/RLL/IDE hard disks. If + you have a MFM/RLL/IDE disk, and there is no special reason to use + the old hard disk driver instead, say Y. If you have an SCSI-only + system, you can say N here. + + 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 ide-disk.o. Do not compile this driver as a module + if your root file system (the one containing the directory /) is + located on the IDE disk. If unsure, say Y. + +Use multi-mode by default +CONFIG_IDEDISK_MULTI_MODE + If you get this error, try to say Y here: + + hda: set_multmode: status=0x51 { DriveReady SeekComplete Error } + hda: set_multmode: error=0x04 { DriveStatusError } + + If in doubt, say N. + +PCMCIA IDE support +CONFIG_BLK_DEV_IDECS + Support for outboard IDE disks, tape drives, and CD-ROM drives + connected through a PCMCIA card. + + This driver is also available as a module ( = code which can be + inserted in and removed from the running kernel whenever you want). + If you want to compile it as a module, say M here and read + . The module will be called + ide-cs.o + +Include IDE/ATAPI CD-ROM support +CONFIG_BLK_DEV_IDECD + If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is + a newer protocol used by IDE CD-ROM and TAPE drives, similar to the + SCSI protocol. Most new CD-ROM drives use ATAPI, including the + NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI + double(2X) or better speed drives. + + If you say Y here, the CD-ROM drive will be identified at boot time + along with other IDE devices, as "hdb" or "hdc", or something + similar (check the boot messages with dmesg). If this is your only + CD-ROM drive, you can say N to all other CD-ROM options, but be sure + to say Y or M to "ISO 9660 CD-ROM file system support". + + Note that older versions of LILO (LInux LOader) cannot properly deal + with IDE/ATAPI CD-ROMs, so install LILO 16 or higher, available from + . + + 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 ide-cd.o. + +Include IDE/ATAPI TAPE support +CONFIG_BLK_DEV_IDETAPE + If you have an IDE tape drive using the ATAPI protocol, say Y. + ATAPI is a newer protocol used by IDE tape and CD-ROM drives, + similar to the SCSI protocol. If you have an SCSI tape drive + however, you can say N here. + + You should also say Y if you have an OnStream DI-30 tape drive; this + will not work with the SCSI protocol, until there is support for the + SC-30 and SC-50 versions. + + If you say Y here, the tape drive will be identified at boot time + along with other IDE devices, as "hdb" or "hdc", or something + similar, and will be mapped to a character device such as "ht0" + (check the boot messages with dmesg). Be sure to consult the + and files + for usage information. + + 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 ide-tape.o. + +Include IDE/ATAPI FLOPPY support +CONFIG_BLK_DEV_IDEFLOPPY + If you have an IDE floppy drive which uses the ATAPI protocol, + answer Y. ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy + drives, similar to the SCSI protocol. + + The LS-120 and the IDE/ATAPI Iomega ZIP drive are also supported by + this driver. For information about jumper settings and the question + of when a ZIP drive uses a partition table, see + . + (ATAPI PD-CD/CDR drives are not supported by this driver; support + for PD-CD/CDR drives is available if you answer Y to + "SCSI emulation support", below). + + If you say Y here, the FLOPPY drive will be identified along with + other IDE devices, as "hdb" or "hdc", or something similar (check + the boot messages with dmesg). + + 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 ide-floppy.o. + +AWARD Bios Work-Around +CONFIG_IDEDISK_STROKE + Should you have a system w/ an AWARD Bios and your drives are larger + than 32GB and it will not boot, one is required to perform a few OEM + operations first. The option is called "STROKE" because it allows + one to "soft clip" the drive to work around a barrier limit. For + Maxtor drives it is called "jumpon.exe". Please search Maxtor's + web-site for "JUMPON.EXE". IBM has a similar tool at: + . + + If you are unsure, say N here. + +Raw Access to Media +CONFIG_IDE_TASK_IOCTL + This is a direct raw access to the media. It is a complex but + elegant solution to test and validate the domain of the hardware and + perform below the driver data recover if needed. This is the most + basic form of media-forensics. + + If you are unsure, say N here. + +Use Taskfile I/O +CONFIG_IDE_TASKFILE_IO + This is the "Jewel" of the patch. It will go away and become the new + driver core. Since all the chipsets/host side hardware deal w/ their + exceptions in "their local code" currently, adoption of a + standardized data-transport is the only logical solution. + Additionally we packetize the requests and gain rapid performance and + a reduction in system latency. Additionally by using a memory struct + for the commands we can redirect to a MMIO host hardware in the next + generation of controllers, specifically second generation Ultra133 + and Serial ATA. + + Since this is a major transition, it was deemed necessary to make the + driver paths buildable in separate models. Therefore if using this + option fails for your arch then we need to address the needs for that + arch. + + If you want to test this functionality, say Y here. + +Force DMA +CONFIG_BLK_DEV_IDEDMA_FORCED + This is an old piece of lost code from Linux 2.0 Kernels. + + Generally say N here. + +DMA Only on Disks +CONFIG_IDEDMA_ONLYDISK + This is used if you know your ATAPI Devices are going to fail DMA + Transfers. + + Generally say N here. + +SCSI emulation support +CONFIG_BLK_DEV_IDESCSI + This will provide SCSI host adapter emulation for IDE ATAPI devices, + and will allow you to use a SCSI device driver instead of a native + ATAPI driver. + + This is useful if you have an ATAPI device for which no native + driver has been written (for example, an ATAPI PD-CD or CDR drive); + you can then use this emulation together with an appropriate SCSI + device driver. In order to do this, say Y here and to "SCSI support" + and "SCSI generic support", below. You must then provide the kernel + command line "hdx=scsi" (try "man bootparam" or see the + documentation of your boot loader (lilo or loadlin) about how to + pass options to the kernel at boot time) for devices if you want the + native EIDE sub-drivers to skip over the native support, so that + this SCSI emulation can be used instead. This is required for use of + CD-RW's. + + Note that this option does NOT allow you to attach SCSI devices to a + box that doesn't have a SCSI host adapter installed. + + If both this SCSI emulation and native ATAPI support are compiled + into the kernel, the native support will be used. + + This driver is also available as a module ( = code which can be + inserted in and removed from the running kernel whenever you want). + If you want to compile it as a module, say M here and read + . The module will be called + ide-scsi.o + +Use the NOOP Elevator (WARNING) +CONFIG_BLK_DEV_ELEVATOR_NOOP + If you are using a raid class top-level driver above the ATA/IDE core, + one may find a performance boost by preventing a merging and re-sorting + of the new requests. + + If unsure, say N. + +ISA-PNP EIDE support +CONFIG_BLK_DEV_ISAPNP + If you have an ISA EIDE card that is PnP (Plug and Play) and + requires setup first before scanning for devices, say Y here. + + If unsure, say N. + +CMD640 chipset bugfix/support +CONFIG_BLK_DEV_CMD640 + The CMD-Technologies CMD640 IDE chip is used on many common 486 and + Pentium motherboards, usually in combination with a "Neptune" or + "SiS" chipset. Unfortunately, it has a number of rather nasty + design flaws that can cause severe data corruption under many common + conditions. Say Y here to include code which tries to automatically + detect and correct the problems under Linux. This option also + enables access to the secondary IDE ports in some CMD640 based + systems. + + This driver will work automatically in PCI based systems (most new + systems have PCI slots). But if your system uses VESA local bus + (VLB) instead of PCI, you must also supply a kernel boot parameter + to enable the CMD640 bugfix/support: "ide0=cmd640_vlb". (Try "man + bootparam" or see the documentation of your boot loader about how to + pass options to the kernel.) + + The CMD640 chip is also used on add-in cards by Acculogic, and on + the "CSA-6400E PCI to IDE controller" that some people have. For + details, read . + +CMD640 enhanced support +CONFIG_BLK_DEV_CMD640_ENHANCED + This option includes support for setting/autotuning PIO modes and + prefetch on CMD640 IDE interfaces. For details, read + . If you have a CMD640 IDE interface + and your BIOS does not already do this for you, then say Y here. + Otherwise say N. + +RZ1000 chipset bugfix/support +CONFIG_BLK_DEV_RZ1000 + The PC-Technologies RZ1000 IDE chip is used on many common 486 and + Pentium motherboards, usually along with the "Neptune" chipset. + Unfortunately, it has a rather nasty design flaw that can cause + severe data corruption under many conditions. Say Y here to include + code which automatically detects and corrects the problem under + Linux. This may slow disk throughput by a few percent, but at least + things will operate 100% reliably. + +Generic PCI IDE chipset support +CONFIG_BLK_DEV_IDEPCI + Say Y here for PCI systems which use IDE drive(s). + This option helps the IDE driver to automatically detect and + configure all PCI-based IDE interfaces in your system. + +Support for sharing PCI IDE interrupts +CONFIG_IDEPCI_SHARE_IRQ + Some ATA/IDE chipsets have hardware support which allows for + sharing a single IRQ with other cards. To enable support for + this in the ATA/IDE driver, say Y here. + + It is safe to say Y to this question, in most cases. + If unsure, say N. + +Generic PCI bus-master DMA support +CONFIG_BLK_DEV_IDEDMA_PCI + If your PCI system uses IDE drive(s) (as opposed to SCSI, say) and + is capable of bus-master DMA operation (most Pentium PCI systems), + you will want to say Y here to reduce CPU overhead. You can then use + the "hdparm" utility to enable DMA for drives for which it was not + enabled automatically. By default, DMA is not enabled automatically + for these drives, but you can change that by saying Y to the + following question "Use DMA by default when available". You can get + the latest version of the hdparm utility from + . + + Read the comments at the beginning of + and the file for more information. + + It is safe to say Y to this question. + +Good-Bad DMA Model-Firmware (WIP) +CONFIG_IDEDMA_NEW_DRIVE_LISTINGS + If you say Y here, the model and firmware revision of your drive + will be compared against a blacklist of buggy drives that claim to + be (U)DMA capable but aren't. This is a blanket on/off test with no + speed limit options. + + Straight GNU GCC 2.7.3/2.8.X compilers are known to be safe; + whereas, many versions of EGCS have a problem and miscompile if you + say Y here. + + If in doubt, say N. + +Attempt to HACK around Chipsets that TIMEOUT (WIP) +CONFIG_BLK_DEV_IDEDMA_TIMEOUT + If you say Y here, this is a NASTY UGLY HACK! + + We have to issue an abort and requeue the request DMA engine got + turned off by a goofy ASIC, and we have to clean up the mess, and + here is as good as any. Do it globally for all chipsets. + + If in doubt, say N. + +Boot off-board chipsets first support +CONFIG_BLK_DEV_OFFBOARD + Normally, IDE controllers built into the motherboard (on-board + controllers) are assigned to ide0 and ide1 while those on add-in PCI + cards (off-board controllers) are relegated to ide2 and ide3. + Answering Y here will allow you to reverse the situation, with + off-board controllers on ide0/1 and on-board controllers on ide2/3. + This can improve the usability of some boot managers such as lilo + when booting from a drive on an off-board controller. + + If you say Y here, and you actually want to reverse the device scan + order as explained above, you also need to issue the kernel command + line option "ide=reverse". (Try "man bootparam" or see the + documentation of your boot loader (lilo or loadlin) about how to + pass options to the kernel at boot time.) + + Note that, if you do this, the order of the hd* devices will be + rearranged which may require modification of fstab and other files. + + If in doubt, say N. + +Use PCI DMA by default when available +CONFIG_IDEDMA_PCI_AUTO + Prior to kernel version 2.1.112, Linux used to automatically use + DMA for IDE drives and chipsets which support it. Due to concerns + about a couple of cases where buggy hardware may have caused damage, + the default is now to NOT use DMA automatically. To revert to the + previous behaviour, say Y to this question. + + If you suspect your hardware is at all flakey, say N here. + Do NOT email the IDE kernel people regarding this issue! + + It is normally safe to answer Y to this question unless your + motherboard uses a VIA VP2 chipset, in which case you should say N. + +IGNORE word93 Validation BITS +CONFIG_IDEDMA_IVB + There are unclear terms in ATA-4 and ATA-5 standards how certain + hardware (an 80c ribbon) should be detected. Different interpretations + of the standards have been released in hardware. This causes problems: + for example, a host with Ultra Mode 4 (or higher) will not run + in that mode with an 80c ribbon. + + If you are experiencing compatibility or performance problems, you + MAY try to answering Y here. However, it does not necessarily solve + any of your problems, it could even cause more of them. + + It is normally safe to answer Y; however, the default is N. + +ATA Work(s) In Progress (EXPERIMENTAL) +CONFIG_IDEDMA_PCI_WIP + If you enable this you will be able to use and test highly + developmental projects. If you say N, the configurator will + simply skip those options. + + It is SAFEST to say N to this question. + +Asynchronous DMA support (EXPERIMENTAL) +CONFIG_BLK_DEV_ADMA + Please read the comments at the top of + . + +Pacific Digital A-DMA support (EXPERIMENTAL) +CONFIG_BLK_DEV_PDC_ADMA + Please read the comments at the top of . + +3ware Hardware ATA-RAID support +CONFIG_BLK_DEV_3W_XXXX_RAID + 3ware is the only hardware ATA-Raid product in Linux to date. + This card is 2,4, or 8 channel master mode support only. + SCSI support required!!! + + + + Please read the comments at the top of + . + + 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 3w-xxxx.o. + +AEC62XX chipset support +CONFIG_BLK_DEV_AEC62XX + This driver adds up to 4 more EIDE devices sharing a single + interrupt. This add-on card is a bootable PCI UDMA controller. In + order to get this card to initialize correctly in some cases, you + should say Y here, and preferably also to "Use DMA by default when + available". + + The ATP850U/UF is an UltraDMA 33 chipset base. + The ATP860 is an UltraDMA 66 chipset base. + The ATP860M(acintosh) version is an UltraDMA 66 chipset base. + + Please read the comments at the top of . + If you say Y here, then say Y to "Use DMA by default when available" + as well. + +AEC62XX Tuning support +CONFIG_AEC62XX_TUNING + Please read the comments at the top of . + If unsure, say N. + +ALI M15x3 chipset support +CONFIG_BLK_DEV_ALI15X3 + This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C + onboard chipsets. It also tests for Simplex mode and enables + normal dual channel support. + + If you say Y here, you also need to say Y to "Use DMA by default + when available", above. Please read the comments at the top of + . + + If unsure, say N. + +ALI M15x3 WDC support (DANGEROUS) +CONFIG_WDC_ALI15X3 + This allows for UltraDMA support for WDC drives that ignore CRC + checking. You are a fool for enabling this option, but there have + been requests. DO NOT COMPLAIN IF YOUR DRIVE HAS FS CORRUPTION, IF + YOU ENABLE THIS! No one will listen, just laugh for ignoring this + SERIOUS WARNING. + + Using this option can allow WDC drives to run at ATA-4/5 transfer + rates with only an ATA-2 support structure. + + SAY N! + +AMD and nVidia IDE support +CONFIG_BLK_DEV_AMD74XX + This driver adds explicit support for AMD-7xx and AMD-8111 chips + and also for the nVidia nForce chip. This allows the kernel to + change PIO, DMA and UDMA speeds and to configure the chip to + optimum performance. + + If you say Y here, you also need to say Y to "Use DMA by default + when available", above. + Please read the comments at the top of . + + If unsure, say N. + +AMD Viper ATA-66 Override support (WIP) +CONFIG_AMD74XX_OVERRIDE + This option auto-forces the ata66 flag. + This effect can be also invoked by calling "idex=ata66" + If unsure, say N. + +CMD64X/CMD680 chipset support +CONFIG_BLK_DEV_CMD64X + Say Y here if you have an IDE controller which uses any of these + chipsets: CMD643, CMD646 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 + used on Digital's PC-Alpha 164SX boards. + + If you say Y here, you need to say Y to "Use DMA by default + when available" as well. + +Cyrix CS5530 MediaGX chipset support +CONFIG_BLK_DEV_CS5530 + Include support for UDMA on the Cyrix MediaGX 5530 chipset. This + will automatically be detected and configured if found. + + It is safe to say Y to this question. + + People with SCSI-only systems should say N here. If unsure, say Y. + +HPT34X chipset support +CONFIG_BLK_DEV_HPT34X + This driver adds up to 4 more EIDE devices sharing a single + interrupt. The HPT343 chipset in its current form is a non-bootable + controller; the HPT345/HPT363 chipset is a bootable (needs BIOS FIX) + PCI UDMA controllers. This driver requires dynamic tuning of the + chipset during the ide-probe at boot time. It is reported to support + DVD II drives, by the manufacturer. + +HPT34X AUTODMA support (WIP) +CONFIG_HPT34X_AUTODMA + This is a dangerous thing to attempt currently! Please read the + comments at the top of . If you say Y + here, then say Y to "Use DMA by default when available" as well. + + If unsure, say N. + +HPT36X/37X chipset support +CONFIG_BLK_DEV_HPT366 + HPT366 is an Ultra DMA chipset for ATA-66. + HPT368 is an Ultra DMA chipset for ATA-66 RAID Based. + HPT370 is an Ultra DMA chipset for ATA-100. + HPT372 is an Ultra DMA chipset for ATA-133. + HPT374 is an Ultra DMA chipset for ATA-133. + + This driver adds up to 4 more EIDE devices sharing a single + interrupt. + + The HPT366 chipset in its current form is bootable. One solution + for this problem are special LILO commands for redirecting the + reference to device 0x80. The other solution is to say Y to "Boot + off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless + your mother board has the chipset natively mounted. Regardless one + should use the fore mentioned option and call at LILO or include + "ide=reverse" in LILO's append-line. + + This driver requires dynamic tuning of the chipset during the + ide-probe at boot. It is reported to support DVD II drives, by the + manufacturer. + +NS87415 chipset support (EXPERIMENTAL) +CONFIG_BLK_DEV_NS87415 + This driver adds detection and support for the NS87415 chip + (used in SPARC64, among others). + + Please read the comments at the top of . + +OPTi 82C621 chipset enhanced support (EXPERIMENTAL) +CONFIG_BLK_DEV_OPTI621 + This is a driver for the OPTi 82C621 EIDE controller. + Please read the comments at the top of . + +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 + controllers by Intel. Since the BIOS can sometimes improperly tune + PIO 0-4 mode settings, this allows dynamic tuning of the chipset + via the standard end-user tool 'hdparm'. + + Please read the comments at the top of . + + If you say Y here, you should also say Y to "PIIXn Tuning support", + below. + + If unsure, say N. + +PIIXn Tuning support +CONFIG_PIIX_TUNING + This driver extension adds DMA mode setting and tuning for all PIIX + IDE controllers by Intel. Since the BIOS can sometimes improperly + set up the device/adapter combination and speed limits, it has + become a necessity to back/forward speed devices as needed. + + Case 430HX/440FX PIIX3 need speed limits to reduce UDMA to DMA mode + 2 if the BIOS can not perform this task at initialization. + + If unsure, say N. + +PROMISE PDC20246/PDC20262/PDC20265/PDC20267/PDC20268 support +CONFIG_BLK_DEV_PDC202XX_OLD + Promise Ultra33 or PDC20246 + Promise Ultra66 or PDC20262 + Promise Ultra100 or PDC20265/PDC20267/PDC20268 + + This driver adds up to 4 more EIDE devices sharing a single + interrupt. This add-on card 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 (three-max) 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. This card may require that you say Y to + "Special UDMA Feature". + + If you say Y here, you need to say Y to "Use DMA by default when + available" as well. + + Please read the comments at the top of + . + + 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 + PDC202xx even when the PDC202xx BIOS has not done so. + + It was originally designed for the PDC20246/Ultra33, whose BIOS will + only setup UDMA on the first two PDC20246 cards. It has also been + used successfully on a PDC20265/Ultra100, allowing use of UDMA modes + when the PDC20265 BIOS has been disabled (for faster boot up). + + Please read the comments at the top of + . + + If unsure, say N. + +Special FastTrak Feature +CONFIG_PDC202XX_FORCE + For FastTrak enable overriding BIOS. + +SiS5513 chipset support +CONFIG_BLK_DEV_SIS5513 + This driver ensures (U)DMA support for SIS5513 chipset family based + mainboards. + + The following chipsets are supported: + ATA16: SiS5511, SiS5513 + ATA33: SiS5591, SiS5597, SiS5598, SiS5600 + ATA66: SiS530, SiS540, SiS620, SiS630, SiS640 + ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740, + SiS745, SiS750 + + If you say Y here, you need to say Y to "Use DMA by default when + available" as well. + + Please read the comments at the top of . + +Silicon Image chipset support +CONFIG_BLK_DEV_SIIMAGE + This driver provides (U)DMA support for the SII3112 SATA controllers and + for the CMD/SI680 UDMA/DMA ATA controller. + +SLC90E66 chipset support +CONFIG_BLK_DEV_SLC90E66 + This driver ensures (U)DMA support for Victroy66 SouthBridges for + SMsC with Intel NorthBridges. This is an Ultra66 based chipset. + The nice thing about it is that you can mix Ultra/DMA/PIO devices + and it will handle timing cycles. Since this is an improved + look-a-like to the PIIX4 it should be a nice addition. + + If you say Y here, you need to say Y to "Use DMA by default when + available" as well. + + Please read the comments at the top of + . + +Winbond SL82c105 support +CONFIG_BLK_DEV_SL82C105 + If you have a Winbond SL82c105 IDE controller, say Y here to enable + special configuration for this chip. This is common on various CHRP + motherboards, but could be used elsewhere. If in doubt, say Y. + +Tekram TRM290 chipset support +CONFIG_BLK_DEV_TRM290 + This driver adds support for bus master DMA transfers + using the Tekram TRM290 PCI IDE chip. Volunteers are + needed for further tweaking and development. + Please read the comments at the top of . + +VIA82CXXX chipset support +CONFIG_BLK_DEV_VIA82CXXX + This allows you to configure your chipset for a better use while + running PIO/(U)DMA, it will allow you to enable efficiently the + second channel dma usage, as it may not be set by BIOS. It will try + to set fifo configuration at its best. It will allow you to get + information from /proc/ide/via provided you enabled "/proc file + system" support. + + Please read the comments at the top of + . + + If you say Y here, then say Y to "Use DMA by default when available" + as well. + + If unsure, say N. + +RapIDE interface support +CONFIG_BLK_DEV_IDE_RAPIDE + Say Y here if you want to support the Yellowstone RapIDE controller + manufactured for use with Acorn computers. + +Other IDE chipset support +CONFIG_IDE_CHIPSETS + Say Y here if you want to include enhanced support for various IDE + interface chipsets used on motherboards and add-on cards. You can + then pick your particular IDE chip from among the following options. + This enhanced support may be necessary for Linux to be able to + access the 3rd/4th drives in some systems. It may also enable + setting of higher speed I/O rates to improve system performance with + these chipsets. Most of these also require special kernel boot + parameters to actually turn on the support at runtime; you can find + a list of these in the file . + + People with SCSI-only systems can say N here. + +Generic 4 drives/port support +CONFIG_BLK_DEV_4DRIVES + Certain older chipsets, including the Tekram 690CD, use a single set + of I/O ports at 0x1f0 to control up to four drives, instead of the + customary two drives per port. Support for this can be enabled at + runtime using the "ide0=four" kernel boot parameter if you say Y + here. + +ALI M14xx support +CONFIG_BLK_DEV_ALI14XX + This driver is enabled at runtime using the "ide0=ali14xx" kernel + boot parameter. It enables support for the secondary IDE interface + of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster + I/O speeds to be set as well. See the files + and for + more info. + +DTC-2278 support +CONFIG_BLK_DEV_DTC2278 + This driver is enabled at runtime using the "ide0=dtc2278" kernel + boot parameter. It enables support for the secondary IDE interface + of the DTC-2278 card, and permits faster I/O speeds to be set as + well. See the and + files for more info. + +Holtek HT6560B support +CONFIG_BLK_DEV_HT6560B + This driver is enabled at runtime using the "ide0=ht6560b" kernel + boot parameter. It enables support for the secondary IDE interface + of the Holtek card, and permits faster I/O speeds to be set as well. + See the and + files for more info. + +PROMISE DC4030 support (EXPERIMENTAL) +CONFIG_BLK_DEV_PDC4030 + This driver provides support for the secondary IDE interface and + cache of Promise IDE chipsets, e.g. DC4030 and DC5030. This driver + is known to incur timeouts/retries during heavy I/O to drives + attached to the secondary interface. CD-ROM and TAPE devices are + not supported yet. This driver is enabled at runtime using the + "ide0=dc4030" kernel boot parameter. See the + and files + for more info. + +QDI QD65XX support +CONFIG_BLK_DEV_QD65XX + This driver is enabled at runtime using the "ide0=qd65xx" kernel + boot parameter. It permits faster I/O speeds to be set. See the + and for + more info. + +UMC 8672 support +CONFIG_BLK_DEV_UMC8672 + This driver is enabled at runtime using the "ide0=umc8672" kernel + boot parameter. It enables support for the secondary IDE interface + of the UMC-8672, and permits faster I/O speeds to be set as well. + See the files and + for more info. + +Amiga Gayle IDE interface support +CONFIG_BLK_DEV_GAYLE + This is the IDE driver for the builtin IDE interface on some Amiga + models. It supports both the `A1200 style' (used in A600 and A1200) + and `A4000 style' (used in A4000 and A4000T) of the Gayle IDE + interface. Say Y if you have such an Amiga model and want to use IDE + devices (hard disks, CD-ROM drives, etc.) that are connected to the + builtin IDE interface. + +Falcon IDE interface support +CONFIG_BLK_DEV_FALCON_IDE + This is the IDE driver for the builtin IDE interface on the Atari + Falcon. Say Y if you have a Falcon and want to use IDE devices (hard + disks, CD-ROM drives, etc.) that are connected to the builtin IDE + interface. + +Amiga Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL) +CONFIG_BLK_DEV_BUDDHA + This is the IDE driver for the IDE interfaces on the Buddha, + Catweasel and X-Surf expansion boards. It supports up to two interfaces + on the Buddha, three on the Catweasel and two on the X-Surf. + + Say Y if you have a Buddha or Catweasel expansion board and want to + use IDE devices (hard disks, CD-ROM drives, etc.) that are connected + to one of its IDE interfaces. + +Amiga IDE Doubler support (EXPERIMENTAL) +CONFIG_BLK_DEV_IDEDOUBLER + This driver provides support for the so-called `IDE doublers' (made + by various manufacturers, e.g. Eyetech) that can be connected to the + builtin IDE interface of some Amiga models. Using such an IDE + doubler, you can connect up to four instead of two IDE devices on + the Amiga's builtin IDE interface. + + Note that the normal Amiga Gayle IDE driver may not work correctly + if you have an IDE doubler and don't enable this driver! + + Say Y if you have an IDE doubler. The driver is enabled at kernel + runtime using the "ide=doubler" kernel boot parameter. + +WarpEngine SCSI support +CONFIG_WARPENGINE_SCSI + Support for MacroSystem Development's WarpEngine Amiga SCSI-2 + controller. Info at + . + +Builtin PowerMac IDE support +CONFIG_BLK_DEV_IDE_PMAC + This driver provides support for the built-in IDE controller on + most of the recent Apple Power Macintoshes and PowerBooks. + If unsure, say Y. + +PowerMac IDE DMA support +CONFIG_BLK_DEV_IDEDMA_PMAC + This option allows the driver for the built-in IDE controller on + Power Macintoshes and PowerBooks to use DMA (direct memory access) + to transfer data to and from memory. Saying Y is safe and improves + performance. + +Broadcom SiByte onboard IDE support +CONFIG_BLK_DEV_IDE_SIBYTE + Include the driver for on-board IDE on the SiByte Generic Bus. Note + that this limits the number of IDE devices to 4 (ide0...ide3). + +Use DMA by default +CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO + This option allows the driver for the built-in IDE controller on + Power Macintoshes and PowerBooks to use DMA automatically, without + it having to be explicitly enabled. This option is provided because + of concerns about a couple of cases where using DMA on buggy PC + hardware may have caused damage. Saying Y should be safe on all + Apple machines. + +Macintosh Quadra/Powerbook IDE interface support +CONFIG_BLK_DEV_MAC_IDE + This is the IDE driver for the builtin IDE interface on some m68k + Macintosh models. It supports both the `Quadra style' (used in + Quadra/ Centris 630 and Performa 588 models) and `Powerbook style' + (used in the Powerbook 150 and 190 models) IDE interface. + + Say Y if you have such an Macintosh model and want to use IDE + devices (hard disks, CD-ROM drives, etc.) that are connected to the + builtin IDE interface. + +ICS IDE interface support +CONFIG_BLK_DEV_IDE_ICSIDE + On Acorn systems, say Y here if you wish to use the ICS IDE + interface card. This is not required for ICS partition support. + If you are unsure, say N to this. + +ICS DMA support +CONFIG_BLK_DEV_IDEDMA_ICS + Say Y here if you want to add DMA (Direct Memory Access) support to + the ICS IDE driver. + +Use ICS DMA by default +CONFIG_IDEDMA_ICS_AUTO + Prior to kernel version 2.1.112, Linux used to automatically use + DMA for IDE drives and chipsets which support it. Due to concerns + about a couple of cases where buggy hardware may have caused damage, + the default is now to NOT use DMA automatically. To revert to the + previous behaviour, say Y to this question. + + If you suspect your hardware is at all flakey, say N here. + Do NOT email the IDE kernel people regarding this issue! + +XT hard disk support +CONFIG_BLK_DEV_XD + Very old 8 bit hard disk controllers used in the IBM XT computer + will be supported if you say Y here. + + 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 xd.o. + + It's pretty unlikely that you have one of these: say N. + +PS/2 ESDI hard disk support +CONFIG_BLK_DEV_PS2 + Say Y here if you have a PS/2 machine with a MCA bus and an ESDI + hard disk. + + 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 ps2esdi.o. + +Mylex DAC960/DAC1100 PCI RAID Controller support +CONFIG_BLK_DEV_DAC960 + This driver adds support for the Mylex DAC960, AcceleRAID, and + eXtremeRAID PCI RAID controllers. See the file + for further information about + this driver. + + 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 DAC960.o. + +Parallel port IDE device support +CONFIG_PARIDE + There are many external CD-ROM and disk devices that connect through + your computer's parallel port. Most of them are actually IDE devices + using a parallel port IDE adapter. This option enables the PARIDE + subsystem which contains drivers for many of these external drives. + Read for more information. + + If you have said Y to the "Parallel-port support" configuration + option, you may share a single port between your printer and other + parallel port devices. Answer Y to build PARIDE support into your + kernel, or M if you would like to build it as a loadable module. If + your parallel port support is in a loadable module, you must build + PARIDE as a module. If you built PARIDE support into your kernel, + you may still build the individual protocol modules and high-level + drivers as loadable modules. If you build this support as a module, + it will be called paride.o. + + To use the PARIDE support, you must say Y or M here and also to at + least one high-level driver (e.g. "Parallel port IDE disks", + "Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and + to at least one protocol driver (e.g. "ATEN EH-100 protocol", + "MicroSolutions backpack protocol", "DataStor Commuter protocol" + etc.). + +Parallel port IDE disks +CONFIG_PARIDE_PD + This option enables the high-level driver for IDE-type disk devices + connected through a parallel port. If you chose to build PARIDE + support into your kernel, you may answer Y here to build in the + parallel port IDE driver, otherwise you should answer M to build + it as a loadable module. The module will be called pd.o. You + must also have at least one parallel port protocol driver in your + system. Among the devices supported by this driver are the SyQuest + EZ-135, EZ-230 and SparQ drives, the Avatar Shark and the backpack + hard drives from MicroSolutions. + +Parallel port ATAPI CD-ROMs +CONFIG_PARIDE_PCD + This option enables the high-level driver for ATAPI CD-ROM devices + connected through a parallel port. If you chose to build PARIDE + support into your kernel, you may answer Y here to build in the + parallel port ATAPI CD-ROM driver, otherwise you should answer M to + build it as a loadable module. The module will be called pcd.o. You + must also have at least one parallel port protocol driver in your + system. Among the devices supported by this driver are the + MicroSolutions backpack CD-ROM drives and the Freecom Power CD. If + you have such a CD-ROM drive, you should also say Y or M to "ISO + 9660 CD-ROM file system support" below, because that's the file + system used on CD-ROMs. + +Parallel port ATAPI disks +CONFIG_PARIDE_PF + This option enables the high-level driver for ATAPI disk devices + connected through a parallel port. If you chose to build PARIDE + support into your kernel, you may answer Y here to build in the + parallel port ATAPI disk driver, otherwise you should answer M + to build it as a loadable module. The module will be called pf.o. + You must also have at least one parallel port protocol driver in + your system. Among the devices supported by this driver are the + MicroSolutions backpack PD/CD drive and the Imation Superdisk + LS-120 drive. + +Parallel port ATAPI tapes +CONFIG_PARIDE_PT + This option enables the high-level driver for ATAPI tape devices + connected through a parallel port. If you chose to build PARIDE + support into your kernel, you may answer Y here to build in the + parallel port ATAPI disk driver, otherwise you should answer M + to build it as a loadable module. The module will be called pt.o. + You must also have at least one parallel port protocol driver in + your system. Among the devices supported by this driver is the + parallel port version of the HP 5GB drive. + +Parallel port generic ATAPI devices +CONFIG_PARIDE_PG + This option enables a special high-level driver for generic ATAPI + devices connected through a parallel port. The driver allows user + programs, such as cdrtools, to send ATAPI commands directly to a + device. + + If you chose to build PARIDE support into your kernel, you may + answer Y here to build in the parallel port generic ATAPI driver, + otherwise you should answer M to build it as a loadable module. The + module will be called pg.o. + + You must also have at least one parallel port protocol driver in + your system. + + This driver implements an API loosely related to the generic SCSI + driver. See . for details. + + You can obtain the most recent version of cdrtools from + . Versions 1.6.1a3 and + later fully support this driver. + +ATEN EH-100 protocol +CONFIG_PARIDE_ATEN + This option enables support for the ATEN EH-100 parallel port IDE + protocol. This protocol is used in some inexpensive low performance + parallel port kits made in Hong Kong. If you chose to build PARIDE + support into your kernel, you may answer Y here to build in the + protocol driver, otherwise you should answer M to build it as a + loadable module. The module will be called aten.o. You must also + have a high-level driver for the type of device that you want to + support. + +Micro Solutions BACKPACK Series 5 protocol +CONFIG_PARIDE_BPCK + This option enables support for the Micro Solutions BACKPACK + parallel port Series 5 IDE protocol. (Most BACKPACK drives made + before 1999 were Series 5) Series 5 drives will NOT always have the + Series noted on the bottom of the drive. Series 6 drivers will. + + In other words, if your BACKPACK drive dosen't say "Series 6" on the + bottom, enable this option. + + If you chose to build PARIDE support into your kernel, you may + answer Y here to build in the protocol driver, otherwise you should + answer M to build it as a loadable module. The module will be + called bpck.o. You must also have a high-level driver for the type + of device that you want to support. + +Micro Solutions BACKPACK Series 6 protocol +CONFIG_PARIDE_BPCK6 + This option enables support for the Micro Solutions BACKPACK + parallel port Series 6 IDE protocol. (Most BACKPACK drives made + after 1999 were Series 6) Series 6 drives will have the Series noted + on the bottom of the drive. Series 5 drivers don't always have it + noted. + + In other words, if your BACKPACK drive says "Series 6" on the + bottom, enable this option. + + If you chose to build PARIDE support into your kernel, you may + answer Y here to build in the protocol driver, otherwise you should + answer M to build it as a loadable module. The module will be + called bpck6.o. You must also have a high-level driver for the type + of device that you want to support. + +DataStor Commuter protocol +CONFIG_PARIDE_COMM + This option enables support for the Commuter parallel port IDE + protocol from DataStor. If you chose to build PARIDE support + into your kernel, you may answer Y here to build in the protocol + driver, otherwise you should answer M to build it as a loadable + module. The module will be called comm.o. You must also have + a high-level driver for the type of device that you want to support. + +DataStor EP-2000 protocol +CONFIG_PARIDE_DSTR + This option enables support for the EP-2000 parallel port IDE + protocol from DataStor. If you chose to build PARIDE support + into your kernel, you may answer Y here to build in the protocol + driver, otherwise you should answer M to build it as a loadable + module. The module will be called dstr.o. You must also have + a high-level driver for the type of device that you want to support. + +Shuttle EPAT/EPEZ protocol +CONFIG_PARIDE_EPAT + This option enables support for the EPAT parallel port IDE protocol. + EPAT is a parallel port IDE adapter manufactured by Shuttle + Technology and widely used in devices from major vendors such as + Hewlett-Packard, SyQuest, Imation and Avatar. If you chose to build + PARIDE support into your kernel, you may answer Y here to build in + the protocol driver, otherwise you should answer M to build it as a + loadable module. The module will be called epat.o. You must also + have a high-level driver for the type of device that you want to + support. + +Shuttle EPAT c7/c8 extension +CONFIG_PARIDE_EPATC8 + This option enables support for the newer Shuttle EP1284 (aka c7 and + c8) chip. You need this if you are using any recent Imation SuperDisk + (LS-120) drive. + +Shuttle EPIA protocol +CONFIG_PARIDE_EPIA + This option enables support for the (obsolete) EPIA parallel port + IDE protocol from Shuttle Technology. This adapter can still be + found in some no-name kits. If you chose to build PARIDE support + into your kernel, you may answer Y here to build in the protocol + driver, otherwise you should answer M to build it as a loadable + module. The module will be called epia.o. You must also have a + high-level driver for the type of device that you want to support. + +FIT TD-2000 protocol +CONFIG_PARIDE_FIT2 + This option enables support for the TD-2000 parallel port IDE + protocol from Fidelity International Technology. This is a simple + (low speed) adapter that is used in some portable hard drives. If + you chose to build PARIDE support into your kernel, you may answer Y + here to build in the protocol driver, otherwise you should answer M + to build it as a loadable module. The module will be called fit2.o. + You must also have a high-level driver for the type of device that + you want to support. + +FIT TD-3000 protocol +CONFIG_PARIDE_FIT3 + This option enables support for the TD-3000 parallel port IDE + protocol from Fidelity International Technology. This protocol is + used in newer models of their portable disk, CD-ROM and PD/CD + devices. If you chose to build PARIDE support into your kernel, you + may answer Y here to build in the protocol driver, otherwise you + should answer M to build it as a loadable module. The module will be + called fit3.o. You must also have a high-level driver for the type + of device that you want to support. + +Freecom IQ ASIC-2 protocol +CONFIG_PARIDE_FRIQ + This option enables support for version 2 of the Freecom IQ parallel + port IDE adapter. This adapter is used by the Maxell Superdisk + drive. If you chose to build PARIDE support into your kernel, you + may answer Y here to build in the protocol driver, otherwise you + should answer M to build it as a loadable module. The module will be + called friq.o. You must also have a high-level driver for the type + of device that you want to support. + +FreeCom power protocol +CONFIG_PARIDE_FRPW + This option enables support for the Freecom power parallel port IDE + protocol. If you chose to build PARIDE support into your kernel, you + may answer Y here to build in the protocol driver, otherwise you + should answer M to build it as a loadable module. The module will be + called frpw.o. You must also have a high-level driver for the type + of device that you want to support. + +KingByte KBIC-951A/971A protocols +CONFIG_PARIDE_KBIC + This option enables support for the KBIC-951A and KBIC-971A parallel + port IDE protocols from KingByte Information Corp. KingByte's + adapters appear in many no-name portable disk and CD-ROM products, + especially in Europe. If you chose to build PARIDE support into your + kernel, you may answer Y here to build in the protocol driver, + otherwise you should answer M to build it as a loadable module. The + module will be called kbic.o. You must also have a high-level driver + for the type of device that you want to support. + +KT PHd protocol +CONFIG_PARIDE_KTTI + This option enables support for the "PHd" parallel port IDE protocol + from KT Technology. This is a simple (low speed) adapter that is + used in some 2.5" portable hard drives. If you chose to build PARIDE + support into your kernel, you may answer Y here to build in the + protocol driver, otherwise you should answer M to build it as a + loadable module. The module will be called ktti.o. You must also + have a high-level driver for the type of device that you want to + support. + +OnSpec 90c20 protocol +CONFIG_PARIDE_ON20 + This option enables support for the (obsolete) 90c20 parallel port + IDE protocol from OnSpec (often marketed under the ValuStore brand + name). If you chose to build PARIDE support into your kernel, you + may answer Y here to build in the protocol driver, otherwise you + should answer M to build it as a loadable module. The module will + be called on20.o. You must also have a high-level driver for the + type of device that you want to support. + +OnSpec 90c26 protocol +CONFIG_PARIDE_ON26 + This option enables support for the 90c26 parallel port IDE protocol + from OnSpec Electronics (often marketed under the ValuStore brand + name). If you chose to build PARIDE support into your kernel, you + may answer Y here to build in the protocol driver, otherwise you + should answer M to build it as a loadable module. The module will be + called on26.o. You must also have a high-level driver for the type + of device that you want to support. + +Logical Volume Manager (LVM) support +CONFIG_BLK_DEV_LVM + This driver lets you combine several hard disks, hard disk + partitions, multiple devices or even loop devices (for evaluation + purposes) into a volume group. Imagine a volume group as a kind of + virtual disk. Logical volumes, which can be thought of as virtual + partitions, can be created in the volume group. You can resize + volume groups and logical volumes after creation time, corresponding + to new capacity needs. Logical volumes are accessed as block + devices named /dev/VolumeGroupName/LogicalVolumeName. + + For details see . You will need + supporting user space software; location is in + . + + If you want to compile this support 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 lvm-mod.o. + +Multiple devices driver support (RAID and LVM) +CONFIG_MD + Support multiple physical spindles through a single logical device. + Required for RAID and logical volume management (LVM). + +Multiple devices driver support +CONFIG_BLK_DEV_MD + This driver lets you combine several hard disk partitions into one + logical block device. This can be used to simply append one + partition to another one or to combine several redundant hard disks + into a RAID1/4/5 device so as to provide protection against hard + disk failures. This is called "Software RAID" since the combining of + the partitions is done by the kernel. "Hardware RAID" means that the + combining is done by a dedicated controller; if you have such a + controller, you do not need to say Y here. + + More information about Software RAID on Linux is contained in the + Software RAID mini-HOWTO, available from + . There you will also learn + where to get the supporting user space utilities raidtools. + + This driver is also available as a module ( = code which can be + inserted in and removed from the running kernel whenever you want). + If you want to compile it as a module, say M here and read + . The module will be called + md.o + + If unsure, say N. + +Linear (append) mode +CONFIG_MD_LINEAR + If you say Y here, then your multiple devices driver will be able to + use the so-called linear mode, i.e. it will combine the hard disk + partitions by simply appending one to the other. + + If you want to compile this as a module ( = code which can be + inserted in and removed from the running kernel whenever you want), + say M here and read . The module + will be called linear.o. + + If unsure, say Y. + +RAID-0 (striping) mode +CONFIG_MD_RAID0 + If you say Y here, then your multiple devices driver will be able to + use the so-called raid0 mode, i.e. it will combine the hard disk + partitions into one logical device in such a fashion as to fill them + up evenly, one chunk here and one chunk there. This will increase + the throughput rate if the partitions reside on distinct disks. + + Information about Software RAID on Linux is contained in the + Software-RAID mini-HOWTO, available from + . There you will also + learn where to get the supporting user space utilities raidtools. + + If you want to compile this as a module ( = code which can be + inserted in and removed from the running kernel whenever you want), + say M here and read . The module + will be called raid0.o. + + If unsure, say Y. + +RAID-1 (mirroring) mode +CONFIG_MD_RAID1 + A RAID-1 set consists of several disk drives which are exact copies + of each other. In the event of a mirror failure, the RAID driver + will continue to use the operational mirrors in the set, providing + an error free MD (multiple device) to the higher levels of the + kernel. In a set with N drives, the available space is the capacity + of a single drive, and the set protects against a failure of (N - 1) + drives. + + Information about Software RAID on Linux is contained in the + Software-RAID mini-HOWTO, available from + . There you will also + learn where to get the supporting user space utilities raidtools. + + If you want to use such a RAID-1 set, say Y. This code is also + available as a module called raid1.o ( = code which can be inserted + in and removed from the running kernel whenever you want). If you + want to compile it as a module, say M here and read + . + + If unsure, say Y. + +RAID-4/RAID-5 mode +CONFIG_MD_RAID5 + A RAID-5 set of N drives with a capacity of C MB per drive provides + the capacity of C * (N - 1) MB, and protects against a failure + of a single drive. For a given sector (row) number, (N - 1) drives + contain data sectors, and one drive contains the parity protection. + For a RAID-4 set, the parity blocks are present on a single drive, + while a RAID-5 set distributes the parity across the drives in one + of the available parity distribution methods. + + Information about Software RAID on Linux is contained in the + Software-RAID mini-HOWTO, available from + . There you will also + learn where to get the supporting user space utilities raidtools. + + If you want to use such a RAID-4/RAID-5 set, say Y. This code is + also available as a module called raid5.o ( = code which can be + inserted in and removed from the running kernel whenever you want). + If you want to compile it as a module, say M here and read + . + + If unsure, say Y. + +Multipath I/O support +CONFIG_MD_MULTIPATH + Multipath-IO is the ability of certain devices to address the same + physical disk over multiple 'IO paths'. The code ensures that such + paths can be defined and handled at runtime, and ensures that a + transparent failover to the backup path(s) happens if a IO errors + arrives on the primary path. + + This driver is also available as a module ( = code which can be + inserted in and removed from the running kernel whenever you want). + If you want to compile it as a module, say M here and read + . The module will be called + multipath.o + + If unsure, say N. + +Support for IDE Raid controllers +CONFIG_BLK_DEV_ATARAID + Say Y or M if you have an IDE Raid controller and want linux + to use its softwareraid feature. You must also select an + appropriate for your board low-level driver below. + + Note, that Linux does not use the Raid implementation in BIOS, and + the main purpose for this feature is to retain compatibility and + data integrity with other OS-es, using the same disk array. Linux + has its own Raid drivers, which you should use if you need better + performance. + + This driver is also available as a module ( = code which can be + inserted in and removed from the running kernel whenever you want). + If you want to compile it as a module, say M here and read + . The module will be called + ataraid.o + +Support Promise software RAID (Fasttrak(tm)) +CONFIG_BLK_DEV_ATARAID_PDC + Say Y or M if you have a Promise Fasttrak (tm) Raid controller + and want linux to use the softwareraid feature of this card. + This driver uses /dev/ataraid/dXpY (X and Y numbers) as device + names. + + If you choose to compile this as a module, the module will be called + pdcraid.o. + +Highpoint 370 software RAID +CONFIG_BLK_DEV_ATARAID_HPT + Say Y or M if you have a Highpoint HPT 370 Raid controller + and want linux to use the softwareraid feature of this card. + This driver uses /dev/ataraid/dXpY (X and Y numbers) as device + names. + + If you choose to compile this as a module, the module will be called + hptraid.o. + +Support for Acer PICA 1 chipset +CONFIG_ACER_PICA_61 + This is a machine with a R4400 133/150 MHz CPU. To compile a Linux + kernel that runs on these, say Y here. For details about Linux on + the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at + . + +Support for Algorithmics P4032 (EXPERIMENTAL) +CONFIG_ALGOR_P4032 + This is an evaluation board of the British company Algorithmics. + 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 + more details about the Baget see the Linux/MIPS FAQ on + . + +Baget AMD LANCE support +CONFIG_BAGETLANCE + Say Y to enable kernel support for AMD Lance Ethernet cards on the + MIPS-32-based Baget embedded system. This chipset is better known + via the NE2100 cards. + +Support for DECstations +CONFIG_DECSTATION + This enables support for DEC's MIPS based workstations. For details + see the Linux/MIPS FAQ on and the + DECstation porting pages on . + + If you have one of the following DECstation Models you definitely + want to choose R4xx0 for the CPU Type: + + DECstation 5000/50 + DECstation 5000/150 + DECstation 5000/260 + DECsystem 5900/260 + + otherwise choose R3000. + +Support for Cobalt Micro Server +CONFIG_COBALT_MICRO_SERVER + Support for MIPS-based Cobalt boxes (they have been bought by Sun + and are now the "Server Appliance Business Unit") including the 2700 + series -- versions 1 of the Qube and Raq. To compile a Linux kernel + for this hardware, say Y here. + +Support for Cobalt 2800 +CONFIG_COBALT_28 + Support for the second generation of MIPS-based Cobalt boxes (they + have been bought by Sun and are now the "Server Appliance Business + Unit") including the 2800 series -- versions 2 of the Qube and Raq. + To compile a Linux kernel for this hardware, say Y here. + +Support for the Momentum Computer Ocelot SBC +CONFIG_MOMENCO_OCELOT + The Ocelot is a MIPS-based Single Board Computer (SBC) made by + Momentum Computer . + +Support for NEC DDB Vrc-5074 +CONFIG_DDB5074 + This enables support for the VR5000-based NEC DDB Vrc-5074 + evaluation board. + +Support for NEC DDB Vrc-5476 +CONFIG_DDB5476 + This enables support for the R5432-based NEC DDB Vrc-5476 + evaluation board. + + Features : kernel debugging, serial terminal, NFS root fs, on-board + ether port (Need an additional patch at ), + USB, AC97, PCI, PCI VGA card & framebuffer console, IDE controller, + PS2 keyboard, PS2 mouse, etc. + +Support for NEC DDB Vrc-5477 +CONFIG_DDB5477 + This enables support for the R5432-based NEC DDB Vrc-5477 + evaluation board. + + Features : kernel debugging, serial terminal, NFS root fs, on-board + ether port (Need an additional patch at ), + USB, AC97, PCI, etc. + +Support for MIPS Atlas board +CONFIG_MIPS_ATLAS + This enables support for the QED R5231-based MIPS Atlas evaluation + board. + +Support for MIPS Malta board +CONFIG_MIPS_MALTA + This enables support for the VR5000-based MIPS Malta evaluation + board. + +# Choice: bcmboard +Support for Broadcom SiByte boards +CONFIG_SIBYTE_SWARM + Enable support for boards based on the Broadcom SiByte family: + + BCM91250A-SWARM BCM1250 ATX size Eval Board (BCM91250A-SWARM) + + BCM91250E-Sentosa BCM1250 PCI ca