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
79 prompt "ARM system type"
83 bool "Cirrus-CL-PS7500FE"
86 bool "CLPS711x/EP721x-based"
91 select FOOTBRIDGE_ADDIN
96 This is an evaluation board for the StrongARM processor available
97 from Digital. It has limited hardware on-board, including an onboard
98 Ethernet interface, two PCMCIA sockets, two serial ports and a
104 This enables support for Altera's Excalibur XA10 development board.
105 If you would like to build your kernel to run on one of these boards
106 then you must say 'Y' here. Otherwise say 'N'
108 config ARCH_FOOTBRIDGE
112 config ARCH_INTEGRATOR
122 bool "IXP2400/2800-based"
127 Say Y here if you intend to run this kernel on a LinkUp Systems
128 L7200 Software Development Board which uses an ARM720T processor.
129 Information on this board can be obtained at:
131 <http://www.linkupsys.com/>
133 If you have any questions or comments about the Linux kernel port
134 to this board, send e-mail to <sjhill@cotw.com>.
142 On the Acorn Risc-PC, Linux can support the internal IDE disk and
143 CD-ROM interface, serial and parallel port, and the floppy drive.
149 bool "Samsung S3C2410"
151 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
152 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or
153 the Samsung SMDK2410 development board (and derviatives).
161 Say Y here for systems based on one of the Sharp LH7A40X
162 System on a Chip processors. These CPUs include an ARM922T
163 core with a wide array of integrated devices for
164 hand-held and low-power applications.
169 config ARCH_VERSATILE
172 This enables support for ARM Ltd Versatile board.
178 bool "Hynix-HMS720x-based"
180 This enables support for systems based on the Hynix HMS720x
184 source "arch/arm/mach-clps711x/Kconfig"
186 source "arch/arm/mach-epxa10db/Kconfig"
188 source "arch/arm/mach-footbridge/Kconfig"
190 source "arch/arm/mach-integrator/Kconfig"
192 source "arch/arm/mach-iop3xx/Kconfig"
194 source "arch/arm/mach-ixp4xx/Kconfig"
196 source "arch/arm/mach-ixp2000/Kconfig"
198 source "arch/arm/mach-pxa/Kconfig"
200 source "arch/arm/mach-sa1100/Kconfig"
202 source "arch/arm/mach-omap/Kconfig"
204 source "arch/arm/mach-s3c2410/Kconfig"
206 source "arch/arm/mach-lh7a40x/Kconfig"
208 source "arch/arm/mach-imx/Kconfig"
210 source "arch/arm/mach-h720x/Kconfig"
212 source "arch/arm/mach-versatile/Kconfig"
214 # Definitions to make life easier
222 depends on ARCH_ACORN || ARCH_CLPS7500
225 #####################################################################
229 depends on ASSABET_NEPONSET || SA1100_ADSBITSY || SA1100_BADGE4 || SA1100_CONSUS || SA1100_GRAPHICSMASTER || SA1100_JORNADA720 || ARCH_LUBBOCK || SA1100_PFS168 || SA1100_PT_SYSTEM3 || SA1100_XP860
234 depends on SA1100_COLLIE
239 depends on PXA_SHARPSL || SA1100_COLLIE
242 config FORCE_MAX_ZONEORDER
249 depends on SA1111 || ARCH_IXP4XX
252 source arch/arm/mm/Kconfig
254 # bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
257 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
264 # Select various configuration options depending on the machine type
267 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
268 depends on EXPERIMENTAL && n
270 This enables support for systems with more than one CPU. If you have
271 a system with only one CPU, like most personal computers, say N. If
272 you have a system with more than one CPU, say Y.
274 If you say N here, the kernel will run on single and multiprocessor
275 machines, but will use only one CPU of a multiprocessor machine. If
276 you say Y here, the kernel will run on many, but not all, single
277 processor machines. On a single processor machine, the kernel will
278 run faster if you say N here.
280 See also the <file:Documentation/smp.tex>,
281 <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
282 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
283 <http://www.linuxdoc.org/docs.html#howto>.
285 If you don't know what to do here, say N.
288 int "Maximum number of CPUs (2-32)"
294 depends on ARCH_EDB7211 || ARCH_SA1100 || (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
297 Say Y to support efficient handling of discontiguous physical memory,
298 for architectures which are either NUMA (Non-Uniform Memory Access)
299 or have huge holes in the physical address space for other reasons.
300 See <file:Documentation/vm/numa> for more.
302 # Now handle the bus types
304 bool "PCI support" if ARCH_INTEGRATOR_AP
305 default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_IXP2000
307 Find out whether you have a PCI motherboard. PCI is the name of a
308 bus system, i.e. the way the CPU talks to the other stuff inside
309 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
310 VESA. If you have PCI, say Y, otherwise N.
312 The PCI-HOWTO, available from
313 <http://www.tldp.org/docs.html#howto>, contains valuable
314 information about which PCI hardware does work under Linux and which
317 # Select the host bridge type
318 config PCI_HOST_VIA82C505
320 depends on PCI && ARCH_SHARK
325 depends on ARCH_INTEGRATOR
330 depends on ARCH_VERSATILE
335 depends on ARCH_INTEGRATOR || ARCH_VERSATILE
340 depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100 || ARCH_MX1ADS
343 Find out whether you have ISA slots on your motherboard. ISA is the
344 name of a bus system, i.e. the way the CPU talks to the other stuff
345 inside your box. Other bus systems are PCI, EISA, MicroChannel
346 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
347 newer boards don't support it. If you have ISA, say Y, otherwise N.
351 depends on FOOTBRIDGE_HOST || ARCH_SHARK
356 depends on ARCH_ACORN || ARCH_L7200
359 # Compressed boot loader in ROM. Yes, we really want to ask about
360 # TEXT and BSS so we preserve their values in the config files.
361 config ZBOOT_ROM_TEXT
362 hex "Compressed ROM boot loader base address"
365 The physical address at which the ROM-able zImage is to be
366 placed in the target. Platforms which normally make use of
367 ROM-able zImage formats normally set this to a suitable
368 value in their defconfig file.
370 If ZBOOT_ROM is not enabled, this has no effect.
373 hex "Compressed ROM boot loader BSS address"
376 The base address of 64KiB of read/write memory in the target
377 for the ROM-able zImage, which must be available while the
378 decompressor is running. Platforms which normally make use of
379 ROM-able zImage formats normally set this to a suitable
380 value in their defconfig file.
382 If ZBOOT_ROM is not enabled, this has no effect.
385 bool "Compressed boot loader in ROM/flash"
386 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
388 Say Y here if you intend to execute your compressed kernel image
389 (zImage) directly from ROM or flash. If unsure, say N.
392 bool "Kernel Execute-In-Place from ROM"
393 depends on !ZBOOT_ROM
395 Execute-In-Place allows the kernel to run from non-volatile storage
396 directly addressable by the CPU, such as NOR flash. This saves RAM
397 space since the text section of the kernel is not loaded from flash
398 to RAM. Read-write sections, such as the data section and stack,
399 are still copied to RAM. The XIP kernel is not compressed since
400 it has to run directly from flash, so it will take more space to
401 store it. The flash address used to link the kernel object files,
402 and for storing it, is configuration dependent. Therefore, if you
403 say Y here, you must know the proper physical address where to
404 store the kernel image depending on your own flash memory usage.
406 Also note that the make target becomes "make xipImage" rather than
407 "make zImage" or "make Image". The final kernel binary to put in
408 ROM memory will be arch/arm/boot/xipImage.
413 hex "XIP Kernel Physical Location"
414 depends on XIP_KERNEL
417 This is the physical address in your flash memory the kernel will
418 be linked for and stored to. This address is dependent on your
421 if (ARCH_SA1100 || ARCH_INTEGRATOR)
423 source "drivers/cpufreq/Kconfig"
425 config CPU_FREQ_SA1100
427 depends on CPU_FREQ && (SA1100_LART || SA1100_PLEB)
430 config CPU_FREQ_SA1110
432 depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
435 config CPU_FREQ_INTEGRATOR
436 tristate "CPUfreq driver for ARM Integrator CPUs"
437 depends on ARCH_INTEGRATOR && ICST525 && CPU_FREQ
440 This enables the CPUfreq driver for ARM Integrator CPUs.
442 For details, take a look at <file:Documentation/cpu-freq>.
448 source "drivers/pci/Kconfig"
450 source "drivers/pcmcia/Kconfig"
452 comment "At least one math emulation must be selected"
455 bool "NWFPE math emulation"
457 Say Y to include the NWFPE floating point emulator in the kernel.
458 This is necessary to run most binaries. Linux does not currently
459 support floating point hardware so you need to say Y here even if
460 your machine has an FPA or floating point co-processor podule.
462 You may say N here if you are going to load the Acorn FPEmulator
466 bool "Support extended precision"
467 depends on FPE_NWFPE && !CPU_BIG_ENDIAN
469 Say Y to include 80-bit support in the kernel floating-point
470 emulator. Otherwise, only 32 and 64-bit support is compiled in.
471 Note that gcc does not generate 80-bit operations by default,
472 so in most cases this option only enlarges the size of the
473 floating point emulator without any good reason.
475 You almost surely want to say N here.
478 bool "FastFPE math emulation (EXPERIMENTAL)"
479 depends on !CPU_32v3 && EXPERIMENTAL
481 Say Y here to include the FAST floating point emulator in the kernel.
482 This is an experimental much faster emulator which now also has full
483 precision for the mantissa. It does not support any exceptions.
484 It is very simple, and approximately 3-6 times faster than NWFPE.
486 It should be sufficient for most programs. It may be not suitable
487 for scientific calculations, but you have to check this for yourself.
488 If you do not feel you need a faster FP emulation you should better
492 bool "VFP-format floating point maths"
493 depends on CPU_V6 || CPU_ARM926T
495 Say Y to include VFP support code in the kernel. This is needed
496 if your hardware includes a VFP unit.
498 Please see <file:Documentation/arm/VFP/release-notes.txt> for
499 release notes and additional status information.
501 Say N if your target does not have VFP hardware.
503 source "fs/Kconfig.binfmt"
505 source "drivers/base/Kconfig"
508 bool "Power Management support"
510 "Power Management" means that parts of your computer are shut
511 off or put into a power conserving "sleep" mode if they are not
512 being used. There are two competing standards for doing this: APM
513 and ACPI. If you want to use either one, say Y here and then also
514 to the requisite support below.
516 Power Management is most important for battery powered laptop
517 computers; if you have a laptop, check out the Linux Laptop home
518 page on the WWW at <http://www.linux-on-laptops.com/> or
519 Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>
520 and the Battery Powered Linux mini-HOWTO, available from
521 <http://www.tldp.org/docs.html#howto>.
523 Note that, even if you say N here, Linux on the x86 architecture
524 will issue the hlt instruction if nothing is to be done, thereby
525 sending the processor to sleep and saving power.
528 bool "Preemptible Kernel (EXPERIMENTAL)"
529 depends on CPU_32 && EXPERIMENTAL
531 This option reduces the latency of the kernel when reacting to
532 real-time or interactive events by allowing a low priority process to
533 be preempted even if it is in kernel mode executing a system call.
534 This allows applications to run more reliably even when the system is
537 Say Y here if you are building a kernel for a desktop, embedded
538 or real-time system. Say N if you are unsure.
541 tristate "Advanced Power Management Emulation"
544 APM is a BIOS specification for saving power using several different
545 techniques. This is mostly useful for battery powered laptops with
546 APM compliant BIOSes. If you say Y here, the system time will be
547 reset after a RESUME operation, the /proc/apm device will provide
548 battery status information, and user-space programs will receive
549 notification of APM "events" (e.g. battery status change).
551 If you select "Y" here, you can disable actual use of the APM
552 BIOS by passing the "apm=off" option to the kernel at boot time.
554 Note that the APM support is almost completely disabled for
555 machines with more than one CPU.
557 In order to use APM, you will need supporting software. For location
558 and more information, read <file:Documentation/pm.txt> and the
559 Battery Powered Linux mini-HOWTO, available from
560 <http://www.tldp.org/docs.html#howto>.
562 This driver does not spin down disk drives (see the hdparm(8)
563 manpage ("man 8 hdparm") for that), and it doesn't turn off
564 VESA-compliant "green" monitors.
566 This driver does not support the TI 4000M TravelMate and the ACER
567 486/DX4/75 because they don't have compliant BIOSes. Many "green"
568 desktop machines also don't have compliant BIOSes, and this driver
569 may cause those machines to panic during the boot phase.
571 Generally, if you don't have a battery in your machine, there isn't
572 much point in using this driver and you should say N. If you get
573 random kernel OOPSes or reboots that don't seem to be related to
574 anything, try disabling/enabling this option (or disabling/enabling
577 Some other things you should try when experiencing seemingly random,
580 1) make sure that you have enough swap space and that it is
582 2) pass the "no-hlt" option to the kernel
583 3) switch on floating point emulation in the kernel and pass
584 the "no387" option to the kernel
585 4) pass the "floppy=nodma" option to the kernel
586 5) pass the "mem=4M" option to the kernel (thereby disabling
587 all but the first 4 MB of RAM)
588 6) make sure that the CPU is not over clocked.
589 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
590 8) disable the cache from your BIOS settings
591 9) install a fan for the video card or exchange video RAM
592 10) install a better fan for the CPU
593 11) exchange RAM chips
594 12) exchange the motherboard.
596 To compile this driver as a module, choose M here: the
597 module will be called apm.
600 tristate "RISC OS personality"
603 Say Y here to include the kernel code necessary if you want to run
604 Acorn RISC OS/Arthur binaries under Linux. This code is still very
605 experimental; if this sounds frightening, say N and sleep in peace.
606 You can also say M here to compile this support as a module (which
607 will be called arthur).
610 string "Default kernel command string"
613 On some architectures (EBSA110 and CATS), there is currently no way
614 for the boot loader to pass arguments to the kernel. For these
615 architectures, you should supply some command-line options at build
616 time by entering them here. As a minimum, you should specify the
617 memory size and the root device (e.g., mem=64M root=/dev/nfs).
620 bool "Timer and CPU usage LEDs"
621 depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE || ARCH_IMX
623 If you say Y here, the LEDs on your machine will be used
624 to provide useful information about your current system status.
626 If you are compiling a kernel for a NetWinder or EBSA-285, you will
627 be able to select which LEDs are active using the options below. If
628 you are compiling a kernel for the EBSA-110 or the LART however, the
629 red LED will simply flash regularly to indicate that the system is
630 still functional. It is safe to say Y here if you have a CATS
631 system, but the driver will do nothing.
634 bool "Timer LED" if LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || MACH_MAINSTONE || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE || ARCH_IMX || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2)
635 depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE || ARCH_IMX
636 default y if ARCH_EBSA110
638 If you say Y here, one of the system LEDs (the green one on the
639 NetWinder, the amber one on the EBSA285, or the red one on the LART)
640 will flash regularly to indicate that the system is still
641 operational. This is mainly useful to kernel hackers who are
642 debugging unstable kernels.
644 The LART uses the same LED for both Timer LED and CPU usage LED
645 functions. You may choose to use both, but the Timer LED function
646 will overrule the CPU usage LED.
650 depends on LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE || ARCH_IMX || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2)
652 If you say Y here, the red LED will be used to give a good real
653 time indication of CPU usage, by lighting whenever the idle task
654 is not currently executing.
656 The LART uses the same LED for both Timer LED and CPU usage LED
657 functions. You may choose to use both, but the Timer LED function
658 will overrule the CPU usage LED.
660 config ALIGNMENT_TRAP
663 default y if !ARCH_EBSA110
665 ARM processors can not fetch/store information which is not
666 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
667 address divisible by 4. On 32-bit ARM processors, these non-aligned
668 fetch/store instructions will be emulated in software if you say
669 here, which has a severe performance impact. This is necessary for
670 correct operation of some network protocols. With an IP-only
671 configuration it is safe to say N, otherwise say Y.
675 source "drivers/parport/Kconfig"
678 source "drivers/mtd/Kconfig"
681 source "drivers/pnp/Kconfig"
683 source "drivers/block/Kconfig"
685 source "drivers/md/Kconfig"
687 source "drivers/acorn/block/Kconfig"
691 if ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE
692 source "drivers/ide/Kconfig"
695 source "drivers/scsi/Kconfig"
697 source "drivers/message/fusion/Kconfig"
699 source "drivers/ieee1394/Kconfig"
701 source "drivers/message/i2o/Kconfig"
703 source "drivers/isdn/Kconfig"
706 # input before char - char/joystick depends on it. As does USB.
708 source "drivers/input/Kconfig"
710 source "drivers/char/Kconfig"
712 source "drivers/i2c/Kconfig"
714 #source "drivers/l3/Kconfig"
716 source "drivers/media/Kconfig"
720 source "arch/arm/oprofile/Kconfig"
722 source "drivers/video/Kconfig"
724 source "sound/Kconfig"
726 source "drivers/misc/Kconfig"
728 source "drivers/usb/Kconfig"
730 source "drivers/mmc/Kconfig"
732 source "arch/arm/Kconfig.debug"
734 source "kernel/vserver/Kconfig"
736 source "security/Kconfig"
738 source "crypto/Kconfig"