2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux Kernel Configuration"
12 The ARM series is a line of low-power-consumption RISC chip designs
13 licensed by ARM ltd and targeted at embedded applications and
14 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
15 manufactured, but legacy ARM-based PC hardware remains popular in
16 Europe. There is an ARM Linux project with a web page at
17 <http://www.arm.linux.org.uk/>.
26 The Extended Industry Standard Architecture (EISA) bus was
27 developed as an open alternative to the IBM MicroChannel bus.
29 The EISA bus provided some of the features of the IBM MicroChannel
30 bus while maintaining backward compatibility with cards made for
31 the older ISA bus. The EISA bus saw limited use between 1988 and
32 1995 when it was made obsolete by the PCI bus.
34 Say Y here if you are building a kernel for an EISA-based machine.
44 MicroChannel Architecture is found in some IBM PS/2 machines and
45 laptops. It is a bus system similar to PCI or ISA. See
46 <file:Documentation/mca.txt> (and especially the web page given
47 there) before attempting to build an MCA bus kernel.
53 config RWSEM_GENERIC_SPINLOCK
57 config RWSEM_XCHGADD_ALGORITHM
60 config GENERIC_CALIBRATE_DELAY
64 config GENERIC_BUST_SPINLOCK
67 config GENERIC_ISA_DMA
82 prompt "ARM system type"
86 bool "Cirrus-CL-PS7500FE"
90 bool "CLPS711x/EP721x-based"
95 select FOOTBRIDGE_ADDIN
100 This is an evaluation board for the StrongARM processor available
101 from Digital. It has limited hardware on-board, including an onboard
102 Ethernet interface, two PCMCIA sockets, two serial ports and a
108 This enables support for Altera's Excalibur XA10 development board.
109 If you would like to build your kernel to run on one of these boards
110 then you must say 'Y' here. Otherwise say 'N'
112 config ARCH_FOOTBRIDGE
116 config ARCH_INTEGRATOR
129 bool "IXP2400/2800-based"
135 Say Y here if you intend to run this kernel on a LinkUp Systems
136 L7200 Software Development Board which uses an ARM720T processor.
137 Information on this board can be obtained at:
139 <http://www.linkupsys.com/>
141 If you have any questions or comments about the Linux kernel port
142 to this board, send e-mail to <sjhill@cotw.com>.
153 On the Acorn Risc-PC, Linux can support the internal IDE disk and
154 CD-ROM interface, serial and parallel port, and the floppy drive.
160 bool "Samsung S3C2410"
162 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
163 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
164 the Samsung SMDK2410 development board (and derviatives).
172 Say Y here for systems based on one of the Sharp LH7A40X
173 System on a Chip processors. These CPUs include an ARM922T
174 core with a wide array of integrated devices for
175 hand-held and low-power applications.
180 config ARCH_VERSATILE
185 This enables support for ARM Ltd Versatile board.
191 bool "Hynix-HMS720x-based"
193 This enables support for systems based on the Hynix HMS720x
197 source "arch/arm/mach-clps711x/Kconfig"
199 source "arch/arm/mach-epxa10db/Kconfig"
201 source "arch/arm/mach-footbridge/Kconfig"
203 source "arch/arm/mach-integrator/Kconfig"
205 source "arch/arm/mach-iop3xx/Kconfig"
207 source "arch/arm/mach-ixp4xx/Kconfig"
209 source "arch/arm/mach-ixp2000/Kconfig"
211 source "arch/arm/mach-pxa/Kconfig"
213 source "arch/arm/mach-sa1100/Kconfig"
215 source "arch/arm/mach-omap/Kconfig"
217 source "arch/arm/mach-s3c2410/Kconfig"
219 source "arch/arm/mach-lh7a40x/Kconfig"
221 source "arch/arm/mach-imx/Kconfig"
223 source "arch/arm/mach-h720x/Kconfig"
225 source "arch/arm/mach-versatile/Kconfig"
227 # Definitions to make life easier
231 source arch/arm/mm/Kconfig
233 # bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
236 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
241 source "arch/arm/common/Kconfig"
243 config FORCE_MAX_ZONEORDER
255 depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100 || ARCH_MX1ADS
258 Find out whether you have ISA slots on your motherboard. ISA is the
259 name of a bus system, i.e. the way the CPU talks to the other stuff
260 inside your box. Other bus systems are PCI, EISA, MicroChannel
261 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
262 newer boards don't support it. If you have ISA, say Y, otherwise N.
266 depends on FOOTBRIDGE_HOST || ARCH_SHARK
270 bool "PCI support" if ARCH_INTEGRATOR_AP
271 default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_IXP2000
273 Find out whether you have a PCI motherboard. PCI is the name of a
274 bus system, i.e. the way the CPU talks to the other stuff inside
275 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
276 VESA. If you have PCI, say Y, otherwise N.
278 The PCI-HOWTO, available from
279 <http://www.tldp.org/docs.html#howto>, contains valuable
280 information about which PCI hardware does work under Linux and which
283 # Select the host bridge type
284 config PCI_HOST_VIA82C505
286 depends on PCI && ARCH_SHARK
289 source "drivers/pci/Kconfig"
291 source "drivers/pcmcia/Kconfig"
295 menu "Kernel Features"
298 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
299 depends on EXPERIMENTAL && n
301 This enables support for systems with more than one CPU. If you have
302 a system with only one CPU, like most personal computers, say N. If
303 you have a system with more than one CPU, say Y.
305 If you say N here, the kernel will run on single and multiprocessor
306 machines, but will use only one CPU of a multiprocessor machine. If
307 you say Y here, the kernel will run on many, but not all, single
308 processor machines. On a single processor machine, the kernel will
309 run faster if you say N here.
311 See also the <file:Documentation/smp.tex>,
312 <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
313 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
314 <http://www.linuxdoc.org/docs.html#howto>.
316 If you don't know what to do here, say N.
319 int "Maximum number of CPUs (2-32)"
325 bool "Preemptible Kernel (EXPERIMENTAL)"
326 depends on EXPERIMENTAL
328 This option reduces the latency of the kernel when reacting to
329 real-time or interactive events by allowing a low priority process to
330 be preempted even if it is in kernel mode executing a system call.
331 This allows applications to run more reliably even when the system is
334 Say Y here if you are building a kernel for a desktop, embedded
335 or real-time system. Say N if you are unsure.
339 depends on ARCH_EDB7211 || ARCH_SA1100 || (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
342 Say Y to support efficient handling of discontiguous physical memory,
343 for architectures which are either NUMA (Non-Uniform Memory Access)
344 or have huge holes in the physical address space for other reasons.
345 See <file:Documentation/vm/numa> for more.
348 bool "Timer and CPU usage LEDs"
349 depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
350 ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
351 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
352 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
353 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE
355 If you say Y here, the LEDs on your machine will be used
356 to provide useful information about your current system status.
358 If you are compiling a kernel for a NetWinder or EBSA-285, you will
359 be able to select which LEDs are active using the options below. If
360 you are compiling a kernel for the EBSA-110 or the LART however, the
361 red LED will simply flash regularly to indicate that the system is
362 still functional. It is safe to say Y here if you have a CATS
363 system, but the driver will do nothing.
366 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
367 MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
369 default y if ARCH_EBSA110
371 If you say Y here, one of the system LEDs (the green one on the
372 NetWinder, the amber one on the EBSA285, or the red one on the LART)
373 will flash regularly to indicate that the system is still
374 operational. This is mainly useful to kernel hackers who are
375 debugging unstable kernels.
377 The LART uses the same LED for both Timer LED and CPU usage LED
378 functions. You may choose to use both, but the Timer LED function
379 will overrule the CPU usage LED.
382 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
383 !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
386 If you say Y here, the red LED will be used to give a good real
387 time indication of CPU usage, by lighting whenever the idle task
388 is not currently executing.
390 The LART uses the same LED for both Timer LED and CPU usage LED
391 functions. You may choose to use both, but the Timer LED function
392 will overrule the CPU usage LED.
394 config ALIGNMENT_TRAP
396 default y if !ARCH_EBSA110
398 ARM processors can not fetch/store information which is not
399 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
400 address divisible by 4. On 32-bit ARM processors, these non-aligned
401 fetch/store instructions will be emulated in software if you say
402 here, which has a severe performance impact. This is necessary for
403 correct operation of some network protocols. With an IP-only
404 configuration it is safe to say N, otherwise say Y.
410 # Compressed boot loader in ROM. Yes, we really want to ask about
411 # TEXT and BSS so we preserve their values in the config files.
412 config ZBOOT_ROM_TEXT
413 hex "Compressed ROM boot loader base address"
416 The physical address at which the ROM-able zImage is to be
417 placed in the target. Platforms which normally make use of
418 ROM-able zImage formats normally set this to a suitable
419 value in their defconfig file.
421 If ZBOOT_ROM is not enabled, this has no effect.
424 hex "Compressed ROM boot loader BSS address"
427 The base address of 64KiB of read/write memory in the target
428 for the ROM-able zImage, which must be available while the
429 decompressor is running. Platforms which normally make use of
430 ROM-able zImage formats normally set this to a suitable
431 value in their defconfig file.
433 If ZBOOT_ROM is not enabled, this has no effect.
436 bool "Compressed boot loader in ROM/flash"
437 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
439 Say Y here if you intend to execute your compressed kernel image
440 (zImage) directly from ROM or flash. If unsure, say N.
443 string "Default kernel command string"
446 On some architectures (EBSA110 and CATS), there is currently no way
447 for the boot loader to pass arguments to the kernel. For these
448 architectures, you should supply some command-line options at build
449 time by entering them here. As a minimum, you should specify the
450 memory size and the root device (e.g., mem=64M root=/dev/nfs).
453 bool "Kernel Execute-In-Place from ROM"
454 depends on !ZBOOT_ROM
456 Execute-In-Place allows the kernel to run from non-volatile storage
457 directly addressable by the CPU, such as NOR flash. This saves RAM
458 space since the text section of the kernel is not loaded from flash
459 to RAM. Read-write sections, such as the data section and stack,
460 are still copied to RAM. The XIP kernel is not compressed since
461 it has to run directly from flash, so it will take more space to
462 store it. The flash address used to link the kernel object files,
463 and for storing it, is configuration dependent. Therefore, if you
464 say Y here, you must know the proper physical address where to
465 store the kernel image depending on your own flash memory usage.
467 Also note that the make target becomes "make xipImage" rather than
468 "make zImage" or "make Image". The final kernel binary to put in
469 ROM memory will be arch/arm/boot/xipImage.
474 hex "XIP Kernel Physical Location"
475 depends on XIP_KERNEL
478 This is the physical address in your flash memory the kernel will
479 be linked for and stored to. This address is dependent on your
484 if (ARCH_SA1100 || ARCH_INTEGRATOR)
486 menu "CPU Frequency scaling"
488 source "drivers/cpufreq/Kconfig"
490 config CPU_FREQ_SA1100
492 depends on CPU_FREQ && (SA1100_LART || SA1100_PLEB)
495 config CPU_FREQ_SA1110
497 depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
500 config CPU_FREQ_INTEGRATOR
501 tristate "CPUfreq driver for ARM Integrator CPUs"
502 depends on ARCH_INTEGRATOR && CPU_FREQ
505 This enables the CPUfreq driver for ARM Integrator CPUs.
507 For details, take a look at <file:Documentation/cpu-freq>.
515 menu "Floating point emulation"
517 comment "At least one emulation must be selected"
520 bool "NWFPE math emulation"
522 Say Y to include the NWFPE floating point emulator in the kernel.
523 This is necessary to run most binaries. Linux does not currently
524 support floating point hardware so you need to say Y here even if
525 your machine has an FPA or floating point co-processor podule.
527 You may say N here if you are going to load the Acorn FPEmulator
531 bool "Support extended precision"
532 depends on FPE_NWFPE && !CPU_BIG_ENDIAN
534 Say Y to include 80-bit support in the kernel floating-point
535 emulator. Otherwise, only 32 and 64-bit support is compiled in.
536 Note that gcc does not generate 80-bit operations by default,
537 so in most cases this option only enlarges the size of the
538 floating point emulator without any good reason.
540 You almost surely want to say N here.
543 bool "FastFPE math emulation (EXPERIMENTAL)"
544 depends on !CPU_32v3 && EXPERIMENTAL
546 Say Y here to include the FAST floating point emulator in the kernel.
547 This is an experimental much faster emulator which now also has full
548 precision for the mantissa. It does not support any exceptions.
549 It is very simple, and approximately 3-6 times faster than NWFPE.
551 It should be sufficient for most programs. It may be not suitable
552 for scientific calculations, but you have to check this for yourself.
553 If you do not feel you need a faster FP emulation you should better
557 bool "VFP-format floating point maths"
558 depends on CPU_V6 || CPU_ARM926T
560 Say Y to include VFP support code in the kernel. This is needed
561 if your hardware includes a VFP unit.
563 Please see <file:Documentation/arm/VFP/release-notes.txt> for
564 release notes and additional status information.
566 Say N if your target does not have VFP hardware.
570 menu "Userspace binary formats"
572 source "fs/Kconfig.binfmt"
575 tristate "RISC OS personality"
577 Say Y here to include the kernel code necessary if you want to run
578 Acorn RISC OS/Arthur binaries under Linux. This code is still very
579 experimental; if this sounds frightening, say N and sleep in peace.
580 You can also say M here to compile this support as a module (which
581 will be called arthur).
585 menu "Power management options"
588 bool "Power Management support"
590 "Power Management" means that parts of your computer are shut
591 off or put into a power conserving "sleep" mode if they are not
592 being used. There are two competing standards for doing this: APM
593 and ACPI. If you want to use either one, say Y here and then also
594 to the requisite support below.
596 Power Management is most important for battery powered laptop
597 computers; if you have a laptop, check out the Linux Laptop home
598 page on the WWW at <http://www.linux-on-laptops.com/> or
599 Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>
600 and the Battery Powered Linux mini-HOWTO, available from
601 <http://www.tldp.org/docs.html#howto>.
603 Note that, even if you say N here, Linux on the x86 architecture
604 will issue the hlt instruction if nothing is to be done, thereby
605 sending the processor to sleep and saving power.
608 tristate "Advanced Power Management Emulation"
611 APM is a BIOS specification for saving power using several different
612 techniques. This is mostly useful for battery powered laptops with
613 APM compliant BIOSes. If you say Y here, the system time will be
614 reset after a RESUME operation, the /proc/apm device will provide
615 battery status information, and user-space programs will receive
616 notification of APM "events" (e.g. battery status change).
618 If you select "Y" here, you can disable actual use of the APM
619 BIOS by passing the "apm=off" option to the kernel at boot time.
621 Note that the APM support is almost completely disabled for
622 machines with more than one CPU.
624 In order to use APM, you will need supporting software. For location
625 and more information, read <file:Documentation/pm.txt> and the
626 Battery Powered Linux mini-HOWTO, available from
627 <http://www.tldp.org/docs.html#howto>.
629 This driver does not spin down disk drives (see the hdparm(8)
630 manpage ("man 8 hdparm") for that), and it doesn't turn off
631 VESA-compliant "green" monitors.
633 This driver does not support the TI 4000M TravelMate and the ACER
634 486/DX4/75 because they don't have compliant BIOSes. Many "green"
635 desktop machines also don't have compliant BIOSes, and this driver
636 may cause those machines to panic during the boot phase.
638 Generally, if you don't have a battery in your machine, there isn't
639 much point in using this driver and you should say N. If you get
640 random kernel OOPSes or reboots that don't seem to be related to
641 anything, try disabling/enabling this option (or disabling/enabling
644 Some other things you should try when experiencing seemingly random,
647 1) make sure that you have enough swap space and that it is
649 2) pass the "no-hlt" option to the kernel
650 3) switch on floating point emulation in the kernel and pass
651 the "no387" option to the kernel
652 4) pass the "floppy=nodma" option to the kernel
653 5) pass the "mem=4M" option to the kernel (thereby disabling
654 all but the first 4 MB of RAM)
655 6) make sure that the CPU is not over clocked.
656 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
657 8) disable the cache from your BIOS settings
658 9) install a fan for the video card or exchange video RAM
659 10) install a better fan for the CPU
660 11) exchange RAM chips
661 12) exchange the motherboard.
663 To compile this driver as a module, choose M here: the
664 module will be called apm.
668 menu "Device Drivers"
670 source "drivers/base/Kconfig"
673 source "drivers/mtd/Kconfig"
676 source "drivers/parport/Kconfig"
678 source "drivers/pnp/Kconfig"
680 source "drivers/block/Kconfig"
682 source "drivers/acorn/block/Kconfig"
684 if ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE
685 source "drivers/ide/Kconfig"
688 source "drivers/scsi/Kconfig"
690 source "drivers/md/Kconfig"
692 source "drivers/message/fusion/Kconfig"
694 source "drivers/ieee1394/Kconfig"
696 source "drivers/message/i2o/Kconfig"
700 source "drivers/isdn/Kconfig"
702 # input before char - char/joystick depends on it. As does USB.
704 source "drivers/input/Kconfig"
706 source "drivers/char/Kconfig"
708 source "drivers/i2c/Kconfig"
710 #source "drivers/l3/Kconfig"
712 source "drivers/misc/Kconfig"
714 source "drivers/media/Kconfig"
716 source "drivers/video/Kconfig"
718 source "sound/Kconfig"
720 source "drivers/usb/Kconfig"
722 source "drivers/mmc/Kconfig"
728 source "arch/arm/oprofile/Kconfig"
730 source "arch/arm/Kconfig.debug"
732 source "security/Kconfig"
734 source "crypto/Kconfig"