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_BUST_SPINLOCK
63 config GENERIC_ISA_DMA
75 prompt "ARM system type"
79 bool "Cirrus-CL-PS7500FE"
82 bool "CLPS711x/EP721x-based"
87 select FOOTBRIDGE_ADDIN
92 This is an evaluation board for the StrongARM processor available
93 from Digital. It has limited hardware on-board, including an onboard
94 Ethernet interface, two PCMCIA sockets, two serial ports and a
100 This enables support for Altera's Excalibur XA10 development board.
101 If you would like to build your kernel to run on one of these boards
102 then you must say 'Y' here. Otherwise say 'N'
104 config ARCH_FOOTBRIDGE
108 config ARCH_INTEGRATOR
118 bool "IXP2400/2800-based"
123 Say Y here if you intend to run this kernel on a LinkUp Systems
124 L7200 Software Development Board which uses an ARM720T processor.
125 Information on this board can be obtained at:
127 <http://www.linkupsys.com/>
129 If you have any questions or comments about the Linux kernel port
130 to this board, send e-mail to sjhill@cotw.com.
138 On the Acorn Risc-PC, Linux can support the internal IDE disk and
139 CD-ROM interface, serial and parallel port, and the floppy drive.
145 bool "Samsung S3C2410"
147 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
148 BAST (http://www.simtec.co.uk/products/EB110ITX/), the IPAQ 1940 or
149 the Samsung SMDK2410 development board (and derviatives).
157 Say Y here for systems based on one of the Sharp LH7A40X
158 System on a Chip processors. These CPUs include an ARM922T
159 core with a wide array of integrated devices for
160 hand-held and low-power applications.
165 config ARCH_VERSATILE
168 This enables support for ARM Ltd Versatile board.
174 bool "Hynix-HMS720x-based"
176 This enables support for systems based on the Hynix HMS720x
180 source "arch/arm/mach-clps711x/Kconfig"
182 source "arch/arm/mach-epxa10db/Kconfig"
184 source "arch/arm/mach-footbridge/Kconfig"
186 source "arch/arm/mach-integrator/Kconfig"
188 source "arch/arm/mach-iop3xx/Kconfig"
190 source "arch/arm/mach-ixp4xx/Kconfig"
192 source "arch/arm/mach-ixp2000/Kconfig"
194 source "arch/arm/mach-pxa/Kconfig"
196 source "arch/arm/mach-sa1100/Kconfig"
198 source "arch/arm/mach-omap/Kconfig"
200 source "arch/arm/mach-s3c2410/Kconfig"
202 source "arch/arm/mach-lh7a40x/Kconfig"
204 source "arch/arm/mach-imx/Kconfig"
206 source "arch/arm/mach-h720x/Kconfig"
208 source "arch/arm/mach-versatile/Kconfig"
210 # Definitions to make life easier
218 depends on ARCH_ACORN || ARCH_CLPS7500
221 #####################################################################
225 depends on ASSABET_NEPONSET || SA1100_ADSBITSY || SA1100_BADGE4 || SA1100_CONSUS || SA1100_GRAPHICSMASTER || SA1100_JORNADA720 || ARCH_LUBBOCK || SA1100_PFS168 || SA1100_PT_SYSTEM3 || SA1100_XP860
230 depends on SA1100_COLLIE
233 config FORCE_MAX_ZONEORDER
240 depends on SA1111 || ARCH_IXP4XX
243 source arch/arm/mm/Kconfig
245 # bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
248 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
255 # Select various configuration options depending on the machine type
258 depends on ARCH_EDB7211 || ARCH_SA1100 || (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
261 Say Y to support efficient handling of discontiguous physical memory,
262 for architectures which are either NUMA (Non-Uniform Memory Access)
263 or have huge holes in the physical address space for other reasons.
264 See <file:Documentation/vm/numa> for more.
266 # Now handle the bus types
268 bool "PCI support" if ARCH_INTEGRATOR_AP
269 default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_IXP2000
271 Find out whether you have a PCI motherboard. PCI is the name of a
272 bus system, i.e. the way the CPU talks to the other stuff inside
273 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
274 VESA. If you have PCI, say Y, otherwise N.
276 The PCI-HOWTO, available from
277 <http://www.tldp.org/docs.html#howto>, contains valuable
278 information about which PCI hardware does work under Linux and which
281 # Select the host bridge type
282 config PCI_HOST_VIA82C505
284 depends on PCI && ARCH_SHARK
289 depends on ARCH_INTEGRATOR
294 depends on ARCH_VERSATILE
299 depends on ARCH_INTEGRATOR || ARCH_VERSATILE
304 depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100 || ARCH_MX1ADS
307 Find out whether you have ISA slots on your motherboard. ISA is the
308 name of a bus system, i.e. the way the CPU talks to the other stuff
309 inside your box. Other bus systems are PCI, EISA, MicroChannel
310 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
311 newer boards don't support it. If you have ISA, say Y, otherwise N.
315 depends on FOOTBRIDGE_HOST || ARCH_SHARK
320 depends on ARCH_ACORN || ARCH_L7200
323 # Compressed boot loader in ROM. Yes, we really want to ask about
324 # TEXT and BSS so we preserve their values in the config files.
325 config ZBOOT_ROM_TEXT
326 hex "Compressed ROM boot loader base address"
329 The physical address at which the ROM-able zImage is to be
330 placed in the target. Platforms which normally make use of
331 ROM-able zImage formats normally set this to a suitable
332 value in their defconfig file.
334 If ZBOOT_ROM is not enabled, this has no effect.
337 hex "Compressed ROM boot loader BSS address"
340 The base address of 64KiB of read/write memory in the target
341 for the ROM-able zImage, which must be available while the
342 decompressor is running. Platforms which normally make use of
343 ROM-able zImage formats normally set this to a suitable
344 value in their defconfig file.
346 If ZBOOT_ROM is not enabled, this has no effect.
349 bool "Compressed boot loader in ROM/flash"
350 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
352 Say Y here if you intend to execute your compressed kernel image
353 (zImage) directly from ROM or flash. If unsure, say N.
356 bool "Kernel Execute-In-Place from ROM"
357 depends on !ZBOOT_ROM
359 Execute-In-Place allows the kernel to run from non-volatile storage
360 directly addressable by the CPU, such as NOR flash. This saves RAM
361 space since the text section of the kernel is not loaded from flash
362 to RAM. Read-write sections, such as the data section and stack,
363 are still copied to RAM. The XIP kernel is not compressed since
364 it has to run directly from flash, so it will take more space to
365 store it. The flash address used to link the kernel object files,
366 and for storing it, is configuration dependent. Therefore, if you
367 say Y here, you must know the proper physical address where to
368 store the kernel image depending on your own flash memory usage.
370 Also note that the make target becomes "make xipImage" rather than
371 "make zImage" or "make Image". The final kernel binary to put in
372 ROM memory will be arch/arm/boot/xipImage.
377 hex "XIP Kernel Physical Location"
378 depends on XIP_KERNEL
381 This is the physical address in your flash memory the kernel will
382 be linked for and stored to. This address is dependent on your
385 Please note that, if you're using MTD, you must use a flash chip
386 that is NOT handled by MTD or the flash will be turned into non
387 data mode for status and query purposes which will instantaneously
390 MTD can however be used with a XIP kernel on the same flash chip
391 but only if the flash memory supports multiple partitions in
392 hardware, like with the Intel K3 flash parts, and only if the
393 kernel is not stored within the firrst hardware partition of the
396 In any case, make sure that MTD support is configured out for
399 if (ARCH_SA1100 || ARCH_INTEGRATOR)
401 source "drivers/cpufreq/Kconfig"
403 config CPU_FREQ_SA1100
405 depends on CPU_FREQ && (SA1100_LART || SA1100_PLEB)
408 config CPU_FREQ_SA1110
410 depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
413 config CPU_FREQ_INTEGRATOR
414 tristate "CPUfreq driver for ARM Integrator CPUs"
415 depends on ARCH_INTEGRATOR && ICST525 && CPU_FREQ
418 This enables the CPUfreq driver for ARM Integrator CPUs.
420 For details, take a look at <file:Documentation/cpu-freq>.
426 source "drivers/pci/Kconfig"
428 source "drivers/pcmcia/Kconfig"
430 comment "At least one math emulation must be selected"
433 bool "NWFPE math emulation"
435 Say Y to include the NWFPE floating point emulator in the kernel.
436 This is necessary to run most binaries. Linux does not currently
437 support floating point hardware so you need to say Y here even if
438 your machine has an FPA or floating point co-processor podule.
440 You may say N here if you are going to load the Acorn FPEmulator
444 bool "Support extended precision"
445 depends on FPE_NWFPE && !CPU_BIG_ENDIAN
447 Say Y to include 80-bit support in the kernel floating-point
448 emulator. Otherwise, only 32 and 64-bit support is compiled in.
449 Note that gcc does not generate 80-bit operations by default,
450 so in most cases this option only enlarges the size of the
451 floating point emulator without any good reason.
453 You almost surely want to say N here.
456 bool "FastFPE math emulation (EXPERIMENTAL)"
457 depends on !CPU_32v3 && EXPERIMENTAL
459 Say Y here to include the FAST floating point emulator in the kernel.
460 This is an experimental much faster emulator which now also has full
461 precision for the mantissa. It does not support any exceptions.
462 It is very simple, and approximately 3-6 times faster than NWFPE.
464 It should be sufficient for most programs. It may be not suitable
465 for scientific calculations, but you have to check this for yourself.
466 If you do not feel you need a faster FP emulation you should better
470 bool "VFP-format floating point maths"
471 depends on CPU_V6 || CPU_ARM926T
473 Say Y to include VFP support code in the kernel. This is needed
474 if your hardware includes a VFP unit.
476 Please see <file:Documentation/arm/VFP/release-notes.txt> for
477 release notes and additional status information.
479 Say N if your target does not have VFP hardware.
481 source "fs/Kconfig.binfmt"
483 source "drivers/base/Kconfig"
486 bool "Power Management support"
488 "Power Management" means that parts of your computer are shut
489 off or put into a power conserving "sleep" mode if they are not
490 being used. There are two competing standards for doing this: APM
491 and ACPI. If you want to use either one, say Y here and then also
492 to the requisite support below.
494 Power Management is most important for battery powered laptop
495 computers; if you have a laptop, check out the Linux Laptop home
496 page on the WWW at <http://www.linux-on-laptops.com/> or
497 Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>
498 and the Battery Powered Linux mini-HOWTO, available from
499 <http://www.tldp.org/docs.html#howto>.
501 Note that, even if you say N here, Linux on the x86 architecture
502 will issue the hlt instruction if nothing is to be done, thereby
503 sending the processor to sleep and saving power.
506 bool "Preemptible Kernel (EXPERIMENTAL)"
507 depends on CPU_32 && EXPERIMENTAL
509 This option reduces the latency of the kernel when reacting to
510 real-time or interactive events by allowing a low priority process to
511 be preempted even if it is in kernel mode executing a system call.
512 This allows applications to run more reliably even when the system is
515 Say Y here if you are building a kernel for a desktop, embedded
516 or real-time system. Say N if you are unsure.
519 tristate "Advanced Power Management Emulation"
522 APM is a BIOS specification for saving power using several different
523 techniques. This is mostly useful for battery powered laptops with
524 APM compliant BIOSes. If you say Y here, the system time will be
525 reset after a RESUME operation, the /proc/apm device will provide
526 battery status information, and user-space programs will receive
527 notification of APM "events" (e.g. battery status change).
529 If you select "Y" here, you can disable actual use of the APM
530 BIOS by passing the "apm=off" option to the kernel at boot time.
532 Note that the APM support is almost completely disabled for
533 machines with more than one CPU.
535 In order to use APM, you will need supporting software. For location
536 and more information, read <file:Documentation/pm.txt> and the
537 Battery Powered Linux mini-HOWTO, available from
538 <http://www.tldp.org/docs.html#howto>.
540 This driver does not spin down disk drives (see the hdparm(8)
541 manpage ("man 8 hdparm") for that), and it doesn't turn off
542 VESA-compliant "green" monitors.
544 This driver does not support the TI 4000M TravelMate and the ACER
545 486/DX4/75 because they don't have compliant BIOSes. Many "green"
546 desktop machines also don't have compliant BIOSes, and this driver
547 may cause those machines to panic during the boot phase.
549 Generally, if you don't have a battery in your machine, there isn't
550 much point in using this driver and you should say N. If you get
551 random kernel OOPSes or reboots that don't seem to be related to
552 anything, try disabling/enabling this option (or disabling/enabling
555 Some other things you should try when experiencing seemingly random,
558 1) make sure that you have enough swap space and that it is
560 2) pass the "no-hlt" option to the kernel
561 3) switch on floating point emulation in the kernel and pass
562 the "no387" option to the kernel
563 4) pass the "floppy=nodma" option to the kernel
564 5) pass the "mem=4M" option to the kernel (thereby disabling
565 all but the first 4 MB of RAM)
566 6) make sure that the CPU is not over clocked.
567 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
568 8) disable the cache from your BIOS settings
569 9) install a fan for the video card or exchange video RAM
570 10) install a better fan for the CPU
571 11) exchange RAM chips
572 12) exchange the motherboard.
574 To compile this driver as a module, choose M here: the
575 module will be called apm.
578 tristate "RISC OS personality"
581 Say Y here to include the kernel code necessary if you want to run
582 Acorn RISC OS/Arthur binaries under Linux. This code is still very
583 experimental; if this sounds frightening, say N and sleep in peace.
584 You can also say M here to compile this support as a module (which
585 will be called arthur).
588 string "Default kernel command string"
591 On some architectures (EBSA110 and CATS), there is currently no way
592 for the boot loader to pass arguments to the kernel. For these
593 architectures, you should supply some command-line options at build
594 time by entering them here. As a minimum, you should specify the
595 memory size and the root device (e.g., mem=64M root=/dev/nfs).
598 bool "Timer and CPU usage LEDs"
599 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
601 If you say Y here, the LEDs on your machine will be used
602 to provide useful information about your current system status.
604 If you are compiling a kernel for a NetWinder or EBSA-285, you will
605 be able to select which LEDs are active using the options below. If
606 you are compiling a kernel for the EBSA-110 or the LART however, the
607 red LED will simply flash regularly to indicate that the system is
608 still functional. It is safe to say Y here if you have a CATS
609 system, but the driver will do nothing.
612 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)
613 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
614 default y if ARCH_EBSA110
616 If you say Y here, one of the system LEDs (the green one on the
617 NetWinder, the amber one on the EBSA285, or the red one on the LART)
618 will flash regularly to indicate that the system is still
619 operational. This is mainly useful to kernel hackers who are
620 debugging unstable kernels.
622 The LART uses the same LED for both Timer LED and CPU usage LED
623 functions. You may choose to use both, but the Timer LED function
624 will overrule the CPU usage LED.
628 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)
630 If you say Y here, the red LED will be used to give a good real
631 time indication of CPU usage, by lighting whenever the idle task
632 is not currently executing.
634 The LART uses the same LED for both Timer LED and CPU usage LED
635 functions. You may choose to use both, but the Timer LED function
636 will overrule the CPU usage LED.
638 config ALIGNMENT_TRAP
641 default y if !ARCH_EBSA110
643 ARM processors can not fetch/store information which is not
644 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
645 address divisible by 4. On 32-bit ARM processors, these non-aligned
646 fetch/store instructions will be emulated in software if you say
647 here, which has a severe performance impact. This is necessary for
648 correct operation of some network protocols. With an IP-only
649 configuration it is safe to say N, otherwise say Y.
653 source "drivers/parport/Kconfig"
656 source "drivers/mtd/Kconfig"
659 source "drivers/pnp/Kconfig"
661 source "drivers/block/Kconfig"
663 source "drivers/md/Kconfig"
665 source "drivers/acorn/block/Kconfig"
669 if ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE
670 source "drivers/ide/Kconfig"
673 source "drivers/scsi/Kconfig"
675 source "drivers/message/fusion/Kconfig"
677 source "drivers/ieee1394/Kconfig"
679 source "drivers/message/i2o/Kconfig"
681 source "drivers/isdn/Kconfig"
684 # input before char - char/joystick depends on it. As does USB.
686 source "drivers/input/Kconfig"
688 source "drivers/char/Kconfig"
690 source "drivers/i2c/Kconfig"
692 #source "drivers/l3/Kconfig"
694 source "drivers/media/Kconfig"
698 source "arch/arm/oprofile/Kconfig"
700 source "drivers/video/Kconfig"
702 source "sound/Kconfig"
704 source "drivers/misc/Kconfig"
706 source "drivers/usb/Kconfig"
708 source "drivers/mmc/Kconfig"
710 source "arch/arm/Kconfig.debug"
712 source "kernel/vserver/Kconfig"
714 source "security/Kconfig"
716 source "crypto/Kconfig"