| # |
| # For a description of the syntax of this configuration file, |
| # see Documentation/kbuild/kconfig-language.txt. |
| # |
| |
| mainmenu "Linux Kernel Configuration" |
| |
| config X86 |
| bool |
| default y |
| help |
| 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. |
| |
| config MMU |
| bool |
| default y |
| |
| config SWAP |
| bool |
| default y |
| |
| config SBUS |
| bool |
| |
| config UID16 |
| bool |
| default y |
| |
| config GENERIC_ISA_DMA |
| bool |
| default y |
| |
| source "init/Kconfig" |
| |
| |
| menu "Processor type and features" |
| |
| choice |
| prompt "Subarchitecture Type" |
| default X86_PC |
| |
| config X86_PC |
| bool "PC-compatible" |
| help |
| Choose this option if your computer is a standard PC or compatible. |
| |
| config X86_VOYAGER |
| bool "Voyager (NCR)" |
| help |
| Voyager is a MCA based 32 way capable SMP architecture proprietary |
| to NCR Corp. Machine classes 345x/35xx/4100/51xx are voyager based. |
| |
| *** WARNING *** |
| |
| If you do not specifically know you have a Voyager based machine, |
| say N here otherwise the kernel you build will not be bootable. |
| |
| config X86_NUMAQ |
| bool "NUMAQ (IBM/Sequent)" |
| help |
| 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 |
| |
| config X86_SUMMIT |
| bool "Summit/EXA (IBM x440)" |
| help |
| This option is needed for IBM systems that use the Summit/EXA chipset. |
| In particular, it is needed for the x440. |
| |
| If you don't have one of these computers, you should say N here. |
| |
| # Visual Workstation support is utterly broken. |
| # If you want to see it working mail an VW540 to hch@infradead.org 8) |
| #config X86_VISWS |
| # bool "SGI 320/540 (Visual Workstation)" |
| # help |
| # The SGI Visual Workstation series is an IA32-based workstation |
| # based on SGI systems chips with some legacy PC hardware attached. |
| # |
| # Say Y here to create a kernel to run on the SGI 320 or 540. |
| # |
| # A kernel compiled for the Visual Workstation will not run on PCs |
| # and vice versa. See <file:Documentation/sgi-visws.txt> for details. |
| |
| endchoice |
| |
| |
| choice |
| prompt "Processor family" |
| default M686 |
| |
| config M386 |
| bool "386" |
| ---help--- |
| This is the processor type of your CPU. This information is used for |
| optimizing purposes. In order to compile a kernel that can run on |
| all x86 CPU types (albeit not optimally fast), you can specify |
| "386" here. |
| |
| The kernel will not necessarily run on earlier architectures than |
| the one you have chosen, e.g. a Pentium optimized kernel will run on |
| a PPro, but not necessarily on a i486. |
| |
| Here are the settings recommended for greatest speed: |
| - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI |
| 486DLC/DLC2, UMC 486SX-S and NexGen Nx586. Only "386" kernels |
| will run on a 386 class machine. |
| - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or |
| SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S. |
| - "586" for generic Pentium CPUs lacking the TSC |
| (time stamp counter) register. |
| - "Pentium-Classic" for the Intel Pentium. |
| - "Pentium-MMX" for the Intel Pentium MMX. |
| - "Pentium-Pro" for the Intel Pentium Pro/Celeron/Pentium II. |
| - "Pentium-III" for the Intel Pentium III |
| and Celerons based on the Coppermine core. |
| - "Pentium-4" for the Intel Pentium 4. |
| - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D). |
| - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird). |
| - "Crusoe" for the Transmeta Crusoe series. |
| - "Winchip-C6" for original IDT Winchip. |
| - "Winchip-2" for IDT Winchip 2. |
| - "Winchip-2A" for IDT Winchips with 3dNow! capabilities. |
| - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3. |
| |
| If you don't know what to do, choose "386". |
| |
| config M486 |
| bool "486" |
| help |
| Select this for a x486 processor, ether Intel or one of the |
| compatible processors from AMD, Cyrix, IBM, or Intel. Includes DX, |
| DX2, and DX4 variants; also SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or |
| U5S. |
| |
| config M586 |
| bool "586/K5/5x86/6x86/6x86MX" |
| help |
| Select this for an x586 or x686 processor such as the AMD K5, the |
| Intel 5x86 or 6x86, or the Intel 6x86MX. This choice does not |
| assume the RDTSC (Read Time Stamp Counter) instruction. |
| |
| config M586TSC |
| bool "Pentium-Classic" |
| help |
| Select this for a Pentium Classic processor with the RDTSC (Read |
| Time Stamp Counter) instruction for benchmarking. |
| |
| config M586MMX |
| bool "Pentium-MMX" |
| help |
| Select this for a Pentium with the MMX graphics/multimedia |
| extended instructions. |
| |
| config M686 |
| bool "Pentium-Pro/Celeron/Pentium-II" |
| help |
| Select this for a Pro/Celeron/Pentium II. This enables the use of |
| Pentium Pro extended instructions, and disables the init-time guard |
| against the f00f bug found in earlier Pentiums. |
| |
| config MPENTIUMIII |
| bool "Pentium-III/Celeron(Coppermine)" |
| help |
| Select this for Intel chips based on the Pentium-III and |
| Celeron-Coppermine core. Enables use of some extended prefetch |
| instructions, in addition to the Pentium II extensions. |
| |
| config MPENTIUM4 |
| bool "Pentium-4" |
| help |
| Select this for Intel Pentium 4 chips. Presently these are |
| treated almost like Pentium IIIs, but with a different cache |
| shift. |
| |
| config MK6 |
| bool "K6/K6-II/K6-III" |
| help |
| Select this for an AMD K6-family processor. Enables use of |
| some extended instructions, and passes appropriate optimization |
| flags to GCC. |
| |
| config MK7 |
| bool "Athlon/Duron/K7" |
| help |
| Select this for an AMD Athlon K7-family processor. Enables use of |
| some extended instructions, and passes appropriate optimization |
| flags to GCC. |
| |
| config MK8 |
| bool "Opteron/Athlon64/Hammer/K8" |
| help |
| Select this for an AMD Opteron or Athlon64 Hammer-family processor. Enables |
| use of some extended instructions, and passes appropriate optimization |
| flags to GCC. |
| |
| config MELAN |
| bool "Elan" |
| |
| config MCRUSOE |
| bool "Crusoe" |
| help |
| Select this for Transmeta Crusoe processor. Treats the processor |
| like a 586 with TSC, and sets some GCC optimization flags (like a |
| Pentium Pro with no alignment requirements). |
| |
| config MWINCHIPC6 |
| bool "Winchip-C6" |
| help |
| Select this for a IDT Winchip C6 chip. Linux and GCC |
| treat this chip as a 586TSC with some extended instructions |
| and alignment requirements. |
| |
| config MWINCHIP2 |
| bool "Winchip-2" |
| help |
| Select this for a IDT Winchip-2. Linux and GCC |
| treat this chip as a 586TSC with some extended instructions |
| and alignment requirements. |
| |
| config MWINCHIP3D |
| bool "Winchip-2A/Winchip-3" |
| help |
| Select this for a IDT Winchip-2A or 3. Linux and GCC |
| treat this chip as a 586TSC with some extended instructions |
| and alignment reqirements. Development kernels also enable |
| out of order memory stores for this CPU, which can increase |
| performance of some operations. |
| |
| config MCYRIXIII |
| bool "CyrixIII/VIA-C3" |
| help |
| Select this for a Cyrix III or C3 chip. Presently Linux and GCC |
| treat this chip as a generic 586. Whilst the CPU is 686 class, |
| it lacks the cmov extension which gcc assumes is present when |
| generating 686 code. |
| |
| endchoice |
| |
| # |
| # Define implied options from the CPU selection here |
| # |
| config X86_CMPXCHG |
| bool |
| depends on !M386 |
| default y |
| |
| config X86_XADD |
| bool |
| depends on !M386 |
| default y |
| |
| config X86_L1_CACHE_SHIFT |
| int |
| default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MCYRIXIII || MK6 || MPENTIUMIII || M686 || M586MMX || M586TSC || M586 |
| default "4" if MELAN || M486 || M386 |
| default "6" if MK7 || MK8 |
| default "7" if MPENTIUM4 |
| |
| config RWSEM_GENERIC_SPINLOCK |
| bool |
| depends on M386 |
| default y |
| |
| config RWSEM_XCHGADD_ALGORITHM |
| bool |
| depends on !M386 |
| default y |
| |
| config X86_PPRO_FENCE |
| bool |
| depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 |
| default y |
| |
| config X86_F00F_BUG |
| bool |
| depends on M586MMX || M586TSC || M586 || M486 || M386 |
| default y |
| |
| config X86_WP_WORKS_OK |
| bool |
| depends on !M386 |
| default y |
| |
| config X86_INVLPG |
| bool |
| depends on !M386 |
| default y |
| |
| config X86_BSWAP |
| bool |
| depends on !M386 |
| default y |
| |
| config X86_POPAD_OK |
| bool |
| depends on !M386 |
| default y |
| |
| config X86_USE_STRING_486 |
| bool |
| depends on MELAN || M586MMX || M586TSC || M586 || M486 |
| default y |
| |
| config X86_ALIGNMENT_16 |
| bool |
| depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486 |
| default y |
| |
| config X86_TSC |
| bool |
| depends on MWINCHIP3D || MWINCHIP2 || MCRUSOE || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMIII || M686 || M586MMX || M586TSC || MK8 |
| default y |
| |
| config X86_GOOD_APIC |
| bool |
| depends on MK7 || MPENTIUM4 || MPENTIUMIII || M686 || M586MMX || MK8 |
| default y |
| |
| config X86_INTEL_USERCOPY |
| bool |
| depends on MPENTIUM4 || MPENTIUMIII || M586MMX |
| default y |
| |
| config X86_USE_PPRO_CHECKSUM |
| bool |
| depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMIII || M686 || MK8 |
| default y |
| |
| config X86_USE_3DNOW |
| bool |
| depends on MCYRIXIII || MK7 |
| default y |
| |
| config X86_OOSTORE |
| bool |
| depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 |
| default y |
| |
| config X86_PREFETCH |
| bool |
| depends on MPENTIUMIII || MP4 |
| default y |
| |
| config X86_SSE2 |
| bool |
| depends on MK8 || MPENTIUM4 |
| default y |
| |
| config HUGETLB_PAGE |
| bool "Huge TLB Page Support" |
| help |
| This enables support for huge pages. User space applications |
| can make use of this support with the sys_alloc_hugepages and |
| sys_free_hugepages system calls. If your applications are |
| huge page aware and your processor (Pentium or later for x86) |
| supports this, then say Y here. |
| |
| Otherwise, say N. |
| |
| config SMP |
| bool "Symmetric multi-processing support" |
| ---help--- |
| 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, |
| singleprocessor 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 <file:Documentation/smp.tex>, |
| <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>, |
| <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at |
| <http://www.linuxdoc.org/docs.html#howto>. |
| |
| If you don't know what to do here, say N. |
| |
| config PREEMPT |
| bool "Preemptible Kernel" |
| help |
| This option reduces the latency of the kernel when reacting to |
| real-time or interactive events by allowing a low priority process to |
| be preempted even if it is in kernel mode executing a system call. |
| This allows applications to run more reliably even when the system is |
| under load. |
| |
| Say Y here if you are building a kernel for a desktop, embedded |
| or real-time system. Say N if you are unsure. |
| |
| config X86_UP_APIC |
| bool "Local APIC support on uniprocessors" if !SMP |
| depends on !X86_VOYAGER |
| ---help--- |
| 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. |
| |
| config X86_UP_IOAPIC |
| bool "IO-APIC support on uniprocessors" |
| depends on !SMP && X86_UP_APIC |
| help |
| 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. |
| |
| config X86_LOCAL_APIC |
| bool |
| depends on !SMP && X86_UP_APIC |
| default y |
| |
| config X86_IO_APIC |
| bool |
| depends on !SMP && X86_UP_IOAPIC |
| default y |
| |
| config NR_CPUS |
| int "Maximum number of CPUs (2-32)" |
| depends on SMP |
| default "32" |
| help |
| This allows you to specify the maximum number of CPUs which this |
| kernel will support. The maximum supported value is 32 and the |
| minimum value which makes sense is 2. |
| |
| This is purely to save memory - each supported CPU adds |
| approximately eight kilobytes to the kernel image. |
| |
| config CLUSTERED_APIC |
| bool |
| depends on X86_NUMAQ || X86_SUMMIT |
| default y |
| |
| # Common NUMA Features |
| config NUMA |
| bool "Numa Memory Allocation Support" |
| depends on X86_NUMAQ |
| |
| config DISCONTIGMEM |
| bool |
| depends on NUMA |
| default y |
| |
| config HAVE_ARCH_BOOTMEM_NODE |
| bool |
| depends on NUMA |
| default y |
| |
| config X86_MCE |
| bool "Machine Check Exception" |
| ---help--- |
| Machine Check Exception support allows the processor to notify the |
| kernel if it detects a problem (e.g. overheating, component failure). |
| The action the kernel takes depends on the severity of the problem, |
| ranging from a warning message on the console, to halting the machine. |
| Your processor must be a Pentium or newer to support this - check the |
| flags in /proc/cpuinfo for mce. Note that some older Pentium systems |
| have a design flaw which leads to false MCE events - hence MCE is |
| disabled on all P5 processors, unless explicitly enabled with "mce" |
| as a boot argument. Similarly, if MCE is built in and creates a |
| problem on some new non-standard machine, you can boot with "nomce" |
| to disable it. MCE support simply ignores non-MCE processors like |
| the 386 and 486, so nearly everyone can say Y here. |
| |
| config X86_MCE_NONFATAL |
| bool "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" |
| depends on X86_MCE |
| help |
| Enabling this feature starts a timer that triggers every 5 seconds which |
| will look at the machine check registers to see if anything happened. |
| Non-fatal problems automatically get corrected (but still logged). |
| Disable this if you don't want to see these messages. |
| Seeing the messages this option prints out may be indicative of dying hardware, |
| or out-of-spec (ie, overclocked) hardware. |
| This option only does something on certain CPUs. |
| (AMD Athlon/Duron and Intel Pentium 4) |
| |
| config X86_MCE_P4THERMAL |
| bool "check for P4 thermal throttling interrupt." |
| depends on X86_MCE && (X86_UP_APIC || SMP) |
| help |
| Enabling this feature will cause a message to be printed when the P4 |
| enters thermal throttling. |
| |
| config TOSHIBA |
| tristate "Toshiba Laptop support" |
| ---help--- |
| This adds a driver to safely access the System Management Mode of |
| the CPU on Toshiba portables with a genuine Toshiba BIOS. It does |
| not work on models with a Pheonix BIOS. The System Management Mode |
| is used to set the BIOS and power saving options on Toshiba portables. |
| |
| For information on utilities to make use of this driver see the |
| Toshiba Linux utilities web site at: |
| <http://www.buzzard.org.uk/toshiba/>. |
| |
| Say Y if you intend to run this kernel on a Toshiba portable. |
| Say N otherwise. |
| |
| config I8K |
| tristate "Dell laptop support" |
| ---help--- |
| This adds a driver to safely access the System Management Mode |
| of the CPU on the Dell Inspiron 8000. The System Management Mode |
| is used to read cpu temperature and cooling fan status and to |
| control the fans on the I8K portables. |
| |
| This driver has been tested only on the Inspiron 8000 but it may |
| also work with other Dell laptops. You can force loading on other |
| models by passing the parameter `force=1' to the module. Use at |
| your own risk. |
| |
| For information on utilities to make use of this driver see the |
| I8K Linux utilities web site at: |
| <http://www.debian.org/~dz/i8k/> |
| |
| Say Y if you intend to run this kernel on a Dell Inspiron 8000. |
| Say N otherwise. |
| |
| config MICROCODE |
| tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support" |
| ---help--- |
| If you say Y here and also to "/dev file system support" in the |
| 'File systems' section, you will be able to update the microcode on |
| Intel processors in the IA32 family, e.g. Pentium Pro, Pentium II, |
| Pentium III, Pentium 4, Xeon etc. You will obviously need the |
| actual microcode binary data itself which is not shipped with the |
| Linux kernel. |
| |
| For latest news and information on obtaining all the required |
| ingredients for this driver, check: |
| <http://www.urbanmyth.org/microcode/>. |
| |
| 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 microcode.o. If you want to compile it as |
| a module, say M here and read <file:Documentation/modules.txt>. If |
| you use modprobe or kmod you may also want to add the line |
| 'alias char-major-10-184 microcode' to your /etc/modules.conf file. |
| |
| config X86_MSR |
| tristate "/dev/cpu/*/msr - Model-specific register support" |
| help |
| This device gives privileged processes access to the x86 |
| Model-Specific Registers (MSRs). It is a character device with |
| major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. |
| MSR accesses are directed to a specific CPU on multi-processor |
| systems. |
| |
| config X86_CPUID |
| tristate "/dev/cpu/*/cpuid - CPU information support" |
| help |
| This device gives processes access to the x86 CPUID instruction to |
| be executed on a specific processor. It is a character device |
| with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to |
| /dev/cpu/31/cpuid. |
| |
| config EDD |
| tristate "BIOS Enhanced Disk Drive calls determine boot disk (EXPERIMENTAL)" |
| depends on EXPERIMENTAL |
| help |
| Say Y or M here if you want to enable BIOS Enhanced Disk Drive |
| Services real mode BIOS calls to determine which disk |
| BIOS tries boot from. This information is then exported via driverfs. |
| |
| This option is experimental, but believed to be safe, |
| and most disk controller BIOS vendors do not yet implement this feature. |
| |
| choice |
| prompt "High Memory Support" |
| default NOHIGHMEM |
| |
| config NOHIGHMEM |
| bool "off" |
| ---help--- |
| 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 1 Gigabyte 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 (lilo or loadlin) about how to pass options to the |
| kernel at boot time.) |
| |
| If unsure, say "off". |
| |
| config HIGHMEM4G |
| bool "4GB" |
| help |
| Select this if you have a 32-bit processor and between 1 and 4 |
| gigabytes of physical RAM. |
| |
| config HIGHMEM64G |
| bool "64GB" |
| help |
| Select this if you have a 32-bit processor and more than 4 |
| gigabytes of physical RAM. |
| |
| endchoice |
| |
| config HIGHMEM |
| bool |
| depends on HIGHMEM64G || HIGHMEM4G |
| default y |
| |
| config X86_PAE |
| bool |
| depends on HIGHMEM64G |
| default y |
| |
| config HIGHPTE |
| bool "Allocate 3rd-level pagetables from highmem" |
| depends on HIGHMEM4G || HIGHMEM64G |
| help |
| The VM uses one page table entry for each page of physical memory. |
| For systems with a lot of RAM, this can be wasteful of precious |
| low memory. Setting this option will put user-space page table |
| entries in high memory. |
| |
| config MATH_EMULATION |
| bool "Math emulation" |
| ---help--- |
| 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 behavior 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 <file:arch/i386/math-emu/README>. |
| |
| If you are not sure, say Y; apart from resulting in a 66 KB bigger |
| kernel, it won't hurt. |
| |
| config MTRR |
| bool "MTRR (Memory Type Range Register) support" |
| ---help--- |
| On Intel P6 family processors (Pentium Pro, Pentium II and later) |
| the Memory Type Range Registers (MTRRs) may be used to control |
| processor access to memory ranges. This is most useful if you have |
| a video (VGA) card on a PCI or AGP bus. Enabling write-combining |
| allows bus write transfers to be combined into a larger transfer |
| before bursting over the PCI/AGP bus. This can increase performance |
| of image write operations 2.5 times or more. Saying Y here creates a |
| /proc/mtrr file which may be used to manipulate your processor's |
| MTRRs. Typically the X server should use this. |
| |
| This code has a reasonably generic interface so that similar |
| control registers on other processors can be easily supported |
| as well: |
| |
| The Cyrix 6x86, 6x86MX and M II processors have Address Range |
| Registers (ARRs) which provide a similar functionality to MTRRs. For |
| these, the ARRs are used to emulate the MTRRs. |
| The AMD K6-2 (stepping 8 and above) and K6-3 processors have two |
| MTRRs. The Centaur C6 (WinChip) has 8 MCRs, allowing |
| write-combining. All of these processors are supported by this code |
| and it makes sense to say Y here if you have one of them. |
| |
| Saying Y here also fixes a problem with buggy SMP BIOSes which only |
| set the MTRRs for the boot CPU and not for the secondary CPUs. This |
| can lead to all sorts of problems, so it's good to say Y here. |
| |
| You can safely say Y even if your machine doesn't have MTRRs, you'll |
| just add about 9 KB to your kernel. |
| |
| See <file:Documentation/mtrr.txt> for more information. |
| |
| config HAVE_DEC_LOCK |
| bool |
| depends on (SMP || PREEMPT) && X86_CMPXCHG |
| default y |
| |
| endmenu |
| |
| |
| menu "Power management options (ACPI, APM)" |
| depends on !X86_VOYAGER |
| |
| config PM |
| bool "Power Management support" |
| ---help--- |
| "Power Management" means that parts of your computer are shut |
| off or put into a power conserving "sleep" mode if they are not |
| being used. There are two competing standards for doing this: APM |
| and ACPI. If you want to use either one, say Y here and then also |
| to the requisite support below. |
| |
| Power Management is most important for battery powered laptop |
| computers; if you have a laptop, check out the Linux Laptop home |
| page on the WWW at |
| <http://www.cs.utexas.edu/users/kharker/linux-laptop/> and the |
| Battery Powered Linux mini-HOWTO, available from |
| <http://www.linuxdoc.org/docs.html#howto>. |
| |
| Note that, even if you say N here, Linux on the x86 architecture |
| will issue the hlt instruction if nothing is to be done, thereby |
| sending the processor to sleep and saving power. |
| |
| config SOFTWARE_SUSPEND |
| bool "Software Suspend (EXPERIMENTAL)" |
| depends on EXPERIMENTAL && PM |
| ---help--- |
| Enable the possibilty of suspendig machine. It doesn't need APM. |
| You may suspend your machine by 'swsusp' or 'shutdown -z <time>' |
| (patch for sysvinit needed). |
| |
| It creates an image which is saved in your active swaps. By the next |
| booting the, pass 'resume=/path/to/your/swap/file' and kernel will |
| detect the saved image, restore the memory from |
| it and then it continues to run as before you've suspended. |
| If you don't want the previous state to continue use the 'noresume' |
| kernel option. However note that your partitions will be fsck'd and |
| you must re-mkswap your swap partitions/files. |
| |
| Right now you may boot without resuming and then later resume but |
| in meantime you cannot use those swap partitions/files which were |
| involved in suspending. Also in this case there is a risk that buffers |
| on disk won't match with saved ones. |
| |
| SMP is supported ``as-is''. There's a code for it but doesn't work. |
| There have been problems reported relating SCSI. |
| |
| This option is about getting stable. However there is still some |
| absence of features. |
| |
| For more information take a look at Documentation/swsusp.txt. |
| |
| source "drivers/acpi/Kconfig" |
| |
| config APM |
| tristate "Advanced Power Management BIOS support" |
| depends on PM |
| ---help--- |
| APM is a BIOS specification for saving power using several different |
| techniques. This is mostly useful for battery powered laptops with |
| APM compliant BIOSes. If you say Y here, the system time will be |
| reset after a RESUME operation, the /proc/apm device will provide |
| battery status information, and user-space programs will receive |
| notification of APM "events" (e.g. battery status change). |
| |
| If you select "Y" here, you can disable actual use of the APM |
| BIOS by passing the "apm=off" option to the kernel at boot time. |
| |
| Note that the APM support is almost completely disabled for |
| machines with more than one CPU. |
| |
| In order to use APM, you will need supporting software. For location |
| and more information, read <file:Documentation/pm.txt> and the |
| Battery Powered Linux mini-HOWTO, available from |
| <http://www.linuxdoc.org/docs.html#howto>. |
| |
| This driver does not spin down disk drives (see the hdparm(8) |
| manpage ("man 8 hdparm") for that), and it doesn't turn off |
| VESA-compliant "green" monitors. |
| |
| This driver does not support the TI 4000M TravelMate and the ACER |
| 486/DX4/75 because they don't have compliant BIOSes. Many "green" |
| desktop machines also don't have compliant BIOSes, and this driver |
| may cause those machines to panic during the boot phase. |
| |
| Generally, if you don't have a battery in your machine, there isn't |
| much point in using this driver and you should say N. If you get |
| random kernel OOPSes or reboots that don't seem to be related to |
| anything, try disabling/enabling this option (or disabling/enabling |
| APM in your BIOS). |
| |
| Some other things you should try when experiencing seemingly random, |
| "weird" problems: |
| |
| 1) make sure that you have enough swap space and that it is |
| enabled. |
| 2) pass the "no-hlt" option to the kernel |
| 3) switch on floating point emulation in the kernel and pass |
| the "no387" option to the kernel |
| 4) pass the "floppy=nodma" option to the kernel |
| 5) pass the "mem=4M" option to the kernel (thereby disabling |
| all but the first 4 MB of RAM) |
| 6) make sure that the CPU is not over clocked. |
| 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/> |
| 8) disable the cache from your BIOS settings |
| 9) install a fan for the video card or exchange video RAM |
| 10) install a better fan for the CPU |
| 11) exchange RAM chips |
| 12) exchange the motherboard. |
| |
| To compile this driver as a module ( = code which can be inserted in |
| and removed from the running kernel whenever you want), say M here |
| and read <file:Documentation/modules.txt>. The module will be called |
| apm.o. |
| |
| config APM_IGNORE_USER_SUSPEND |
| bool "Ignore USER SUSPEND" |
| depends on APM |
| help |
| This option will ignore USER SUSPEND requests. On machines with a |
| compliant APM BIOS, you want to say N. However, on the NEC Versa M |
| series notebooks, it is necessary to say Y because of a BIOS bug. |
| |
| config APM_DO_ENABLE |
| bool "Enable PM at boot time" |
| depends on APM |
| ---help--- |
| Enable APM features at boot time. From page 36 of the APM BIOS |
| specification: "When disabled, the APM BIOS does not automatically |
| power manage devices, enter the Standby State, enter the Suspend |
| State, or take power saving steps in response to CPU Idle calls." |
| This driver will make CPU Idle calls when Linux is idle (unless this |
| feature is turned off -- see "Do CPU IDLE calls", below). This |
| should always save battery power, but more complicated APM features |
| will be dependent on your BIOS implementation. You may need to turn |
| this option off if your computer hangs at boot time when using APM |
| support, or if it beeps continuously instead of suspending. Turn |
| this off if you have a NEC UltraLite Versa 33/C or a Toshiba |
| T400CDT. This is off by default since most machines do fine without |
| this feature. |
| |
| config APM_CPU_IDLE |
| bool "Make CPU Idle calls when idle" |
| depends on APM |
| help |
| Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop. |
| On some machines, this can activate improved power savings, such as |
| a slowed CPU clock rate, when the machine is idle. These idle calls |
| are made after the idle loop has run for some length of time (e.g., |
| 333 mS). On some machines, this will cause a hang at boot time or |
| whenever the CPU becomes idle. (On machines with more than one CPU, |
| this option does nothing.) |
| |
| config APM_DISPLAY_BLANK |
| bool "Enable console blanking using APM" |
| depends on APM |
| help |
| Enable console blanking using the APM. Some laptops can use this to |
| turn off the LCD backlight when the screen blanker of the Linux |
| virtual console blanks the screen. Note that this is only used by |
| the virtual console screen blanker, and won't turn off the backlight |
| when using the X Window system. This also doesn't have anything to |
| do with your VESA-compliant power-saving monitor. Further, this |
| option doesn't work for all laptops -- it might not turn off your |
| backlight at all, or it might print a lot of errors to the console, |
| especially if you are using gpm. |
| |
| config APM_RTC_IS_GMT |
| bool "RTC stores time in GMT" |
| depends on APM |
| help |
| Say Y here if your RTC (Real Time Clock a.k.a. hardware clock) |
| stores the time in GMT (Greenwich Mean Time). Say N if your RTC |
| stores localtime. |
| |
| It is in fact recommended to store GMT in your RTC, because then you |
| don't have to worry about daylight savings time changes. The only |
| reason not to use GMT in your RTC is if you also run a broken OS |
| that doesn't understand GMT. |
| |
| config APM_ALLOW_INTS |
| bool "Allow interrupts during APM BIOS calls" |
| depends on APM |
| help |
| Normally we disable external interrupts while we are making calls to |
| the APM BIOS as a measure to lessen the effects of a badly behaving |
| BIOS implementation. The BIOS should reenable interrupts if it |
| needs to. Unfortunately, some BIOSes do not -- especially those in |
| many of the newer IBM Thinkpads. If you experience hangs when you |
| suspend, try setting this to Y. Otherwise, say N. |
| |
| config APM_REAL_MODE_POWER_OFF |
| bool "Use real mode APM BIOS call to power off" |
| depends on APM |
| help |
| Use real mode APM BIOS calls to switch off the computer. This is |
| a work-around for a number of buggy BIOSes. Switch this option on if |
| your computer crashes instead of powering off properly. |
| |
| config CPU_FREQ |
| bool "CPU Frequency scaling" |
| help |
| Clock scaling allows you to change the clock speed of CPUs on the |
| fly. This is a nice method to save battery power on notebooks, |
| because the lower the clock speed, the less power the CPU consumes. |
| |
| For more information, take a look at linux/Documentation/cpufreq or |
| at <http://www.brodo.de/cpufreq/> |
| |
| If in doubt, say N. |
| |
| config CPU_FREQ_24_API |
| bool "/proc/sys/cpu/ interface (2.4. / OLD)" |
| depends on CPU_FREQ |
| help |
| This enables the /proc/sys/cpu/ sysctl interface for controlling |
| CPUFreq, as known from the 2.4.-kernel patches for CPUFreq. 2.5 |
| uses /proc/cpufreq instead. Please note that some drivers do not |
| work well with the 2.4. /proc/sys/cpu sysctl interface, so if in |
| doubt, say N here. |
| |
| For details, take a look at linux/Documentation/cpufreq. |
| |
| If in doubt, say N. |
| |
| config X86_POWERNOW_K6 |
| tristate "AMD Mobile K6-2/K6-3 PowerNow!" |
| depends on CPU_FREQ |
| help |
| This adds the CPUFreq driver for mobile AMD K6-2+ and mobile |
| AMD K6-3+ processors. |
| |
| For details, take a look at linux/Documentation/cpufreq. |
| |
| If in doubt, say N. |
| |
| config ELAN_CPUFREQ |
| tristate "AMD Elan" |
| depends on CPU_FREQ && MELAN |
| ---help--- |
| This adds the CPUFreq driver for AMD Elan SC400 and SC410 |
| processors. |
| |
| You need to specify the processor maximum speed as boot |
| parameter: elanfreq=maxspeed (in kHz) or as module |
| parameter "max_freq". |
| |
| For details, take a look at linux/Documentation/cpufreq. |
| |
| If in doubt, say N. |
| |
| config X86_LONGHAUL |
| tristate "VIA Cyrix III Longhaul" |
| depends on CPU_FREQ |
| help |
| This adds the CPUFreq driver for VIA Samuel/CyrixIII, |
| VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T |
| processors. |
| |
| For details, take a look at linux/Documentation/cpufreq. |
| |
| If in doubt, say N. |
| |
| config X86_SPEEDSTEP |
| tristate "Intel Speedstep" |
| depends on CPU_FREQ |
| help |
| This adds the CPUFreq driver for certain mobile Intel Pentium III |
| (Coppermine), all mobile Intel Pentium III-M (Tulatin) and all |
| mobile Intel Pentium 4 P4-Ms. |
| |
| For details, take a look at linux/Documentation/cpufreq. |
| |
| If in doubt, say N. |
| |
| config X86_P4_CLOCKMOD |
| tristate "Intel Pentium 4 clock modulation" |
| depends on CPU_FREQ |
| help |
| This adds the CPUFreq driver for Intel Pentium 4 / XEON |
| processors. |
| |
| For details, take a look at linux/Documentation/cpufreq. |
| |
| If in doubt, say N. |
| |
| config X86_LONGRUN |
| tristate "Transmeta LongRun" |
| depends on CPU_FREQ |
| help |
| This adds the CPUFreq driver for Transmeta Crusoe processors which |
| support LongRun. |
| |
| For details, take a look at linux/Documentation/cpufreq. |
| |
| If in doubt, say N. |
| |
| endmenu |
| |
| |
| menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" |
| |
| config X86_VISWS_APIC |
| bool |
| depends on X86_VISWS |
| default y |
| |
| config X86_LOCAL_APIC |
| bool |
| depends on (X86_VISWS || SMP) && !X86_VOYAGER |
| default y |
| |
| config PCI |
| bool "PCI support" if !X86_VISWS |
| depends on !X86_VOYAGER |
| default y if X86_VISWS |
| help |
| Find out whether you have a PCI motherboard. PCI is the name of a |
| bus system, i.e. the way the CPU talks to the other stuff inside |
| your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or |
| VESA. If you have PCI, say Y, otherwise N. |
| |
| The PCI-HOWTO, available from |
| <http://www.linuxdoc.org/docs.html#howto>, contains valuable |
| information about which PCI hardware does work under Linux and which |
| doesn't. |
| |
| config X86_IO_APIC |
| bool |
| depends on SMP && !(X86_VISWS || X86_VOYAGER) |
| default y |
| |
| choice |
| prompt "PCI access mode" |
| depends on PCI && !X86_VISWS |
| default PCI_GOANY |
| |
| config PCI_GOBIOS |
| bool "BIOS" |
| ---help--- |
| On PCI systems, the BIOS can be used to detect the PCI devices and |
| determine their configuration. However, some old PCI motherboards |
| have BIOS bugs and may crash if this is done. Also, some embedded |
| PCI-based systems don't have any BIOS at all. Linux can also try to |
| detect the PCI hardware directly without using the BIOS. |
| |
| With this option, you can specify how Linux should detect the PCI |
| devices. If you choose "BIOS", the BIOS will be used, if you choose |
| "Direct", the BIOS won't be used, and if you choose "Any", the |
| kernel will try the direct access method and falls back to the BIOS |
| if that doesn't work. If unsure, go with the default, which is |
| "Any". |
| |
| config PCI_GODIRECT |
| bool "Direct" |
| |
| config PCI_GOANY |
| bool "Any" |
| |
| endchoice |
| |
| config PCI_BIOS |
| bool |
| depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY) |
| default y |
| |
| config PCI_DIRECT |
| bool |
| depends on !X86_VISWS && PCI && (PCI_GODIRECT || PCI_GOANY) |
| default y |
| |
| config SCx200 |
| tristate "NatSemi SCx200 support" |
| depends on !X86_VOYAGER |
| help |
| This provides basic support for the National Semiconductor SCx200 |
| processor. Right now this is just a driver for the GPIO pins. |
| |
| If you don't know what to do here, say N. |
| |
| This support is also available as a module. If compiled as a |
| module, it will be called scx200.o. |
| |
| source "drivers/pci/Kconfig" |
| |
| config ISA |
| bool "ISA support" |
| depends on !(X86_VOYAGER || X86_VISWS) |
| help |
| Find out whether you have ISA slots on your motherboard. ISA is the |
| name of a bus system, i.e. the way the CPU talks to the other stuff |
| inside your box. Other bus systems are PCI, EISA, MicroChannel |
| (MCA) or VESA. ISA is an older system, now being displaced by PCI; |
| newer boards don't support it. If you have ISA, say Y, otherwise N. |
| |
| config EISA |
| bool "EISA support" |
| depends on ISA |
| ---help--- |
| The Extended Industry Standard Architecture (EISA) bus was |
| developed as an open alternative to the IBM MicroChannel bus. |
| |
| The EISA bus provided some of the features of the IBM MicroChannel |
| bus while maintaining backward compatibility with cards made for |
| the older ISA bus. The EISA bus saw limited use between 1988 and |
| 1995 when it was made obsolete by the PCI bus. |
| |
| Say Y here if you are building a kernel for an EISA-based machine. |
| |
| Otherwise, say N. |
| |
| config MCA |
| bool "MCA support" |
| depends on !(X86_VISWS || X86_VOYAGER) |
| help |
| MicroChannel Architecture is found in some IBM PS/2 machines and |
| laptops. It is a bus system similar to PCI or ISA. See |
| <file:Documentation/mca.txt> (and especially the web page given |
| there) before attempting to build an MCA bus kernel. |
| |
| config MCA |
| depends on X86_VOYAGER |
| default y if X86_VOYAGER |
| |
| source "drivers/mca/Kconfig" |
| |
| config HOTPLUG |
| bool "Support for hot-pluggable devices" |
| ---help--- |
| Say Y here if you want to plug devices into your computer while |
| the system is running, and be able to use them quickly. In many |
| cases, the devices can likewise be unplugged at any time too. |
| |
| One well known example of this is PCMCIA- or PC-cards, credit-card |
| size devices such as network cards, modems or hard drives which are |
| plugged into slots found on all modern laptop computers. Another |
| example, used on modern desktops as well as laptops, is USB. |
| |
| Enable HOTPLUG and KMOD, and build a modular kernel. Get agent |
| software (at <http://linux-hotplug.sourceforge.net/>) and install it. |
| Then your kernel will automatically call out to a user mode "policy |
| agent" (/sbin/hotplug) to load modules and set up software needed |
| to use devices as you hotplug them. |
| |
| source "drivers/pcmcia/Kconfig" |
| |
| source "drivers/hotplug/Kconfig" |
| |
| endmenu |
| |
| |
| menu "Executable file formats" |
| |
| choice |
| prompt "Kernel core (/proc/kcore) format" |
| depends on PROC_FS |
| default KCORE_ELF |
| |
| config KCORE_ELF |
| bool "ELF" |
| ---help--- |
| If you enabled support for /proc file system then the file |
| /proc/kcore will contain the kernel core image. This can be used |
| in gdb: |
| |
| $ cd /usr/src/linux ; gdb vmlinux /proc/kcore |
| |
| You have two choices here: ELF and A.OUT. Selecting ELF will make |
| /proc/kcore appear in ELF core format as defined by the Executable |
| and Linking Format specification. Selecting A.OUT will choose the |
| old "a.out" format which may be necessary for some old versions |
| of binutils or on some architectures. |
| |
| This is especially useful if you have compiled the kernel with the |
| "-g" option to preserve debugging information. It is mainly used |
| for examining kernel data structures on the live kernel so if you |
| don't understand what this means or are not a kernel hacker, just |
| leave it at its default value ELF. |
| |
| config KCORE_AOUT |
| bool "A.OUT" |
| help |
| Not necessary unless you're using a very out-of-date binutils |
| version. You probably want KCORE_ELF. |
| |
| endchoice |
| |
| config BINFMT_AOUT |
| tristate "Kernel support for a.out binaries" |
| ---help--- |
| A.out (Assembler.OUTput) is a set of formats for libraries and |
| executables used in the earliest versions of UNIX. Linux used the |
| a.out formats QMAGIC and ZMAGIC until they were replaced with the |
| ELF format. |
| |
| As more and more programs are converted to ELF, the use for a.out |
| will gradually diminish. If you disable this option it will reduce |
| your kernel by one page. This is not much and by itself does not |
| warrant removing support. However its removal is a good idea if you |
| wish to ensure that absolutely none of your programs will use this |
| older executable format. If you don't know what to answer at this |
| point then answer Y. If someone told you "You need a kernel with |
| QMAGIC support" then you'll have to say Y here. You may answer M to |
| compile a.out support as a module and later load the module when you |
| want to use a program or library in a.out format. The module will be |
| called binfmt_aout.o. Saying M or N here is dangerous though, |
| because some crucial programs on your system might still be in A.OUT |
| format. |
| |
| config BINFMT_ELF |
| tristate "Kernel support for ELF binaries" |
| ---help--- |
| ELF (Executable and Linkable Format) is a format for libraries and |
| executables used across different architectures and operating |
| systems. Saying Y here will enable your kernel to run ELF binaries |
| and enlarge it by about 13 KB. ELF support under Linux has now all |
| but replaced the traditional Linux a.out formats (QMAGIC and ZMAGIC) |
| because it is portable (this does *not* mean that you will be able |
| to run executables from different architectures or operating systems |
| however) and makes building run-time libraries very easy. Many new |
| executables are distributed solely in ELF format. You definitely |
| want to say Y here. |
| |
| Information about ELF is contained in the ELF HOWTO available from |
| <http://www.linuxdoc.org/docs.html#howto>. |
| |
| If you find that after upgrading from Linux kernel 1.2 and saying Y |
| here, you still can't run any ELF binaries (they just crash), then |
| you'll have to install the newest ELF runtime libraries, including |
| ld.so (check the file <file:Documentation/Changes> for location and |
| latest version). |
| |
| If you want to compile this as a module ( = code which can be |
| inserted in and removed from the running kernel whenever you want), |
| say M here and read <file:Documentation/modules.txt>. The module |
| will be called binfmt_elf.o. Saying M or N here is dangerous because |
| some crucial programs on your system might be in ELF format. |
| |
| config BINFMT_MISC |
| tristate "Kernel support for MISC binaries" |
| ---help--- |
| If you say Y here, it will be possible to plug wrapper-driven binary |
| formats into the kernel. You will like this especially when you use |
| programs that need an interpreter to run like Java, Python or |
| Emacs-Lisp. It's also useful if you often run DOS executables under |
| the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available from |
| <http://www.linuxdoc.org/docs.html#howto>). Once you have |
| registered such a binary class with the kernel, you can start one of |
| those programs simply by typing in its name at a shell prompt; Linux |
| will automatically feed it to the correct interpreter. |
| |
| You can do other nice things, too. Read the file |
| <file:Documentation/binfmt_misc.txt> to learn how to use this |
| feature, and <file:Documentation/java.txt> for information about how |
| to include Java support. |
| |
| You must say Y to "/proc file system support" (CONFIG_PROC_FS) to |
| use this part of the kernel. |
| |
| You may say M here for module support and later load the module when |
| you have use for it; the module is called binfmt_misc.o. If you |
| don't know what to answer at this point, say Y. |
| |
| endmenu |
| |
| source "drivers/mtd/Kconfig" |
| |
| source "drivers/parport/Kconfig" |
| |
| source "drivers/pnp/Kconfig" |
| |
| source "drivers/block/Kconfig" |
| |
| |
| menu "ATA/ATAPI/MFM/RLL device support" |
| |
| config IDE |
| tristate "ATA/ATAPI/MFM/RLL device support" |
| ---help--- |
| 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 <file:Documentation/modules.txt>. The module |
| will be called ide.o. |
| |
| For further information, please read <file:Documentation/ide.txt>. |
| |
| If unsure, say Y. |
| |
| source "drivers/ide/Kconfig" |
| |
| endmenu |
| |
| |
| menu "SCSI device support" |
| |
| config SCSI |
| tristate "SCSI device support" |
| ---help--- |
| If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or |
| any other SCSI device under Linux, say Y and make sure that you know |
| the name of your SCSI host adapter (the card inside your computer |
| that "speaks" the SCSI protocol, also called SCSI controller), |
| because you will be asked for it. |
| |
| You also need to say Y here if you want support for the parallel |
| port version of the 100 MB IOMEGA ZIP drive. |
| |
| 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 scsi_mod.o. If you want to compile it as |
| a module, say M here and read <file:Documentation/modules.txt> and |
| <file:Documentation/scsi/scsi.txt>. However, do not compile this as a |
| module if your root file system (the one containing the directory /) |
| is located on a SCSI device. |
| |
| source "drivers/scsi/Kconfig" |
| |
| endmenu |
| |
| |
| menu "Old CD-ROM drivers (not SCSI, not IDE)" |
| depends on ISA |
| |
| config CD_NO_IDESCSI |
| bool "Support non-SCSI/IDE/ATAPI CDROM drives" |
| ---help--- |
| If you have a CD-ROM drive that is neither SCSI nor IDE/ATAPI, say Y |
| here, otherwise N. Read the CD-ROM-HOWTO, available from |
| <http://www.linuxdoc.org/docs.html#howto>. |
| |
| Note that the answer to this question doesn't directly affect the |
| kernel: saying N will just cause the configurator to skip all |
| the questions about these CD-ROM drives. If you are unsure what you |
| have, say Y and find out whether you have one of the following |
| drives. |
| |
| For each of these drivers, a file Documentation/cdrom/{driver_name} |
| exists. Especially in cases where you do not know exactly which kind |
| of drive you have you should read there. Most of these drivers use a |
| file drivers/cdrom/{driver_name}.h where you can define your |
| interface parameters and switch some internal goodies. |
| |
| All these CD-ROM drivers are also usable as a module ( = code which |
| can be inserted in and removed from the running kernel whenever you |
| want). If you want to compile them as module, say M instead of Y and |
| read <file:Documentation/modules.txt>. |
| |
| If you want to use any of these CD-ROM drivers, you also have to |
| answer Y or M to "ISO 9660 CD-ROM file system support" below (this |
| answer will get "defaulted" for you if you enable any of the Linux |
| CD-ROM drivers). |
| |
| source "drivers/cdrom/Kconfig" |
| |
| endmenu |
| |
| source "drivers/md/Kconfig" |
| |
| source "drivers/message/fusion/Kconfig" |
| |
| source "drivers/ieee1394/Kconfig" |
| |
| source "drivers/message/i2o/Kconfig" |
| |
| source "net/Kconfig" |
| |
| |
| menu "Network device support" |
| depends on NET |
| |
| config NETDEVICES |
| bool "Network device support" |
| ---help--- |
| You can say N here if you don't intend to connect your Linux box to |
| any other computer at all or if all your connections will be over a |
| telephone line with a modem either via UUCP (UUCP is a protocol to |
| forward mail and news between unix hosts over telephone lines; read |
| the UUCP-HOWTO, available from |
| <http://www.linuxdoc.org/docs.html#howto>) or dialing up a shell |
| account or a BBS, even using term (term is a program which gives you |
| almost full Internet connectivity if you have a regular dial up |
| shell account on some Internet connected Unix computer. Read |
| <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>). |
| |
| You'll have to say Y if your computer contains a network card that |
| you want to use under Linux (make sure you know its name because you |
| will be asked for it and read the Ethernet-HOWTO (especially if you |
| plan to use more than one network card under Linux)) or if you want |
| to use SLIP (Serial Line Internet Protocol is the protocol used to |
| send Internet traffic over telephone lines or null modem cables) or |
| CSLIP (compressed SLIP) or PPP (Point to Point Protocol, a better |
| and newer replacement for SLIP) or PLIP (Parallel Line Internet |
| Protocol is mainly used to create a mini network by connecting the |
| parallel ports of two local machines) or AX.25/KISS (protocol for |
| sending Internet traffic over amateur radio links). |
| |
| Make sure to read the NET-3-HOWTO. Eventually, you will have to read |
| Olaf Kirch's excellent and free book "Network Administrator's |
| Guide", to be found in <http://www.linuxdoc.org/docs.html#guide>. If |
| unsure, say Y. |
| |
| source "drivers/net/Kconfig" |
| |
| source "drivers/atm/Kconfig" |
| |
| endmenu |
| |
| source "net/ax25/Kconfig" |
| |
| source "net/irda/Kconfig" |
| |
| source "drivers/isdn/Kconfig" |
| |
| source "drivers/telephony/Kconfig" |
| |
| # |
| # input before char - char/joystick depends on it. As does USB. |
| # |
| source "drivers/input/Kconfig" |
| |
| source "drivers/char/Kconfig" |
| |
| #source drivers/misc/Config.in |
| source "drivers/media/Kconfig" |
| |
| source "fs/Kconfig" |
| |
| source "drivers/video/Kconfig" |
| |
| menu "Sound" |
| |
| config SOUND |
| tristate "Sound card support" |
| ---help--- |
| If you have a sound card in your computer, i.e. if it can say more |
| than an occasional beep, say Y. Be sure to have all the information |
| about your sound card and its configuration down (I/O port, |
| interrupt and DMA channel), because you will be asked for it. |
| |
| You want to read the Sound-HOWTO, available from |
| <http://www.linuxdoc.org/docs.html#howto>. General information about |
| the modular sound system is contained in the files |
| <file:Documentation/sound/Introduction>. The file |
| <file:Documentation/sound/README.OSS> contains some slightly |
| outdated but still useful information as well. |
| |
| If you have a PnP sound card and you want to configure it at boot |
| time using the ISA PnP tools (read |
| <http://www.roestock.demon.co.uk/isapnptools/>), then you need to |
| compile the sound card support as a module ( = code which can be |
| inserted in and removed from the running kernel whenever you want) |
| and load that module after the PnP configuration is finished. To do |
| this, say M here and read <file:Documentation/modules.txt> as well |
| as <file:Documentation/sound/README.modules>; the module will be |
| called soundcore.o. |
| |
| I'm told that even without a sound card, you can make your computer |
| say more than an occasional beep, by programming the PC speaker. |
| Kernel patches and supporting utilities to do that are in the pcsp |
| package, available at <ftp://ftp.infradead.org/pub/pcsp/>. |
| |
| source "sound/Kconfig" |
| |
| endmenu |
| |
| source "drivers/usb/Kconfig" |
| |
| source "net/bluetooth/Kconfig" |
| |
| source "arch/i386/oprofile/Kconfig" |
| |
| |
| menu "Kernel hacking" |
| |
| config DEBUG_KERNEL |
| bool "Kernel debugging" |
| help |
| Say Y here if you are developing drivers or trying to debug and |
| identify kernel problems. |
| |
| config DEBUG_STACKOVERFLOW |
| bool "Check for stack overflows" |
| depends on DEBUG_KERNEL |
| |
| config DEBUG_SLAB |
| bool "Debug memory allocations" |
| depends on DEBUG_KERNEL |
| help |
| Say Y here to have the kernel do limited verification on memory |
| allocation as well as poisoning memory on free to catch use of freed |
| memory. |
| |
| config DEBUG_IOVIRT |
| bool "Memory mapped I/O debugging" |
| depends on DEBUG_KERNEL |
| help |
| Say Y here to get warned whenever an attempt is made to do I/O on |
| obviously invalid addresses such as those generated when ioremap() |
| calls are forgotten. Memory mapped I/O will go through an extra |
| check to catch access to unmapped ISA addresses, an access method |
| that can still be used by old drivers that are being ported from |
| 2.0/2.2. |
| |
| config MAGIC_SYSRQ |
| bool "Magic SysRq key" |
| depends on DEBUG_KERNEL |
| help |
| If you say Y here, you will have some control over the system even |
| if the system crashes for example during kernel debugging (e.g., you |
| will be able to flush the buffer cache to disk, reboot the system |
| immediately or dump some status information). This is accomplished |
| by pressing various keys while holding SysRq (Alt+PrintScreen). It |
| also works on a serial console (on PC hardware at least), if you |
| send a BREAK and then within 5 seconds a command keypress. The |
| keys are documented in <file:Documentation/sysrq.txt>. Don't say Y |
| unless you really know what this hack does. |
| |
| config DEBUG_SPINLOCK |
| bool "Spinlock debugging" |
| depends on DEBUG_KERNEL |
| help |
| Say Y here and build SMP to catch missing spinlock initialization |
| and certain other kinds of spinlock errors commonly made. This is |
| best used in conjunction with the NMI watchdog so that spinlock |
| deadlocks are also debuggable. |
| |
| config DEBUG_HIGHMEM |
| bool "Highmem debugging" |
| depends on DEBUG_KERNEL && HIGHMEM |
| help |
| This options enables addition error checking for high memory systems. |
| Disable for production systems. |
| |
| config KALLSYMS |
| bool "Load all symbols for debugging/kksymoops" |
| help |
| Say Y here to let the kernel print out symbolic crash information and |
| symbolic stack backtraces. This increases the size of the kernel |
| somewhat, as all symbols have to be loaded into the kernel image. |
| |
| config DEBUG_SPINLOCK_SLEEP |
| bool "Sleep-inside-spinlock checking" |
| help |
| If you say Y here, various routines which may sleep will become very |
| noisy if they are called with a spinlock held. |
| |
| config FRAME_POINTER |
| bool "Compile the kernel with frame pointers" |
| help |
| If you say Y here the resulting kernel image will be slightly larger |
| and slower, but it will give very useful debugging information. |
| If you don't debug the kernel, you can say N, but we may not be able |
| to solve problems without frame pointers. |
| |
| config X86_EXTRA_IRQS |
| bool |
| depends on X86_LOCAL_APIC || X86_VOYAGER |
| default y |
| |
| config X86_FIND_SMP_CONFIG |
| bool |
| depends on X86_LOCAL_APIC || X86_VOYAGER |
| default y |
| |
| config X86_MPPARSE |
| bool |
| depends on X86_LOCAL_APIC |
| default y |
| |
| endmenu |
| |
| source "security/Kconfig" |
| |
| source "crypto/Kconfig" |
| |
| source "lib/Kconfig" |
| |
| config X86_SMP |
| bool |
| depends on SMP && !X86_VOYAGER |
| default y |
| |
| config X86_HT |
| bool |
| depends on SMP && !X86_VOYAGER |
| default y |
| |
| config X86_BIOS_REBOOT |
| bool |
| depends on !X86_VOYAGER |
| default y |
| |
| config X86_TRAMPOLINE |
| bool |
| depends on SMP |
| default y |