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"
90 This is an evaluation board for the StrongARM processor available
91 from Digital. It has limited hardware on-board, including an onboard
92 Ethernet interface, two PCMCIA sockets, two serial ports and a
98 This enables support for Altera's Excalibur XA10 development board.
99 If you would like to build your kernel to run on one of these boards
100 then you must say 'Y' here. Otherwise say 'N'
102 config ARCH_FOOTBRIDGE
105 config ARCH_INTEGRATOR
115 bool "IXP2400/2800-based"
120 Say Y here if you intend to run this kernel on a LinkUp Systems
121 L7200 Software Development Board which uses an ARM720T processor.
122 Information on this board can be obtained at:
124 <http://www.linkupsys.com/>
126 If you have any questions or comments about the Linux kernel port
127 to this board, send e-mail to sjhill@cotw.com.
135 On the Acorn Risc-PC, Linux can support the internal IDE disk and
136 CD-ROM interface, serial and parallel port, and the floppy drive.
142 bool "Samsung S3C2410"
144 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
145 BAST (http://www.simtec.co.uk/products/EB110ITX/), the IPAQ 1940 or
146 the Samsung SMDK2410 development board (and derviatives).
154 Say Y here for systems based on one of the Sharp LH7A40X
155 System on a Chip processors. These CPUs include an ARM922T
156 core with a wide array of integrated devices for
157 hand-held and low-power applications.
162 config ARCH_VERSATILE_PB
165 This enables support for ARM Ltd Versatile PB board.
171 bool "Hynix-HMS720x-based"
173 This enables support for systems based on the Hynix HMS720x
176 bool "MOXA CPU based"
178 This enables support for systems based on the Moxa CPU.
182 #source "arch/arm/mach-clps711x/Kconfig"
184 #source "arch/arm/mach-epxa10db/Kconfig"
186 #source "arch/arm/mach-footbridge/Kconfig"
188 #source "arch/arm/mach-integrator/Kconfig"
190 #source "arch/arm/mach-iop3xx/Kconfig"
192 #source "arch/arm/mach-ixp4xx/Kconfig"
194 #source "arch/arm/mach-ixp2000/Kconfig"
196 #source "arch/arm/mach-pxa/Kconfig"
198 #source "arch/arm/mach-sa1100/Kconfig"
200 #source "arch/arm/mach-omap/Kconfig"
202 #source "arch/arm/mach-s3c2410/Kconfig"
204 #source "arch/arm/mach-lh7a40x/Kconfig"
206 #source "arch/arm/mach-imx/Kconfig"
208 #source "arch/arm/mach-h720x/Kconfig"
210 source "arch/arm/mach-moxacpu/Kconfig"
212 # Definitions to make life easier
220 depends on ARCH_ACORN || ARCH_CLPS7500
223 #####################################################################
227 depends on ARCH_CO285 || ARCH_FOOTBRIDGE
230 config FOOTBRIDGE_HOST
232 depends on ARCH_CATS || ARCH_EBSA285_HOST || ARCH_NETWINDER || ARCH_PERSONAL_SERVER
235 config FOOTBRIDGE_ADDIN
237 depends on ARCH_CO285 || ARCH_EBSA285_ADDIN
242 depends on ARCH_EBSA285_HOST || ARCH_EBSA285_ADDIN
245 #####################################################################
249 depends on ASSABET_NEPONSET || SA1100_ADSBITSY || SA1100_BADGE4 || SA1100_CONSUS || SA1100_GRAPHICSMASTER || SA1100_JORNADA720 || ARCH_LUBBOCK || SA1100_PFS168 || SA1100_PT_SYSTEM3 || SA1100_XP860
254 depends on SA1100_COLLIE
257 config FORCE_MAX_ZONEORDER
264 depends on SA1111 || ARCH_IXP4XX
267 source arch/arm/mm/Kconfig
269 # bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
272 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
279 # Select various configuration options depending on the machine type
282 depends on ARCH_EDB7211 || ARCH_SA1100 || (ARCH_LH7A40X && !LH7A40X_CONTIGMEM)
285 Say Y to support efficient handling of discontiguous physical memory,
286 for architectures which are either NUMA (Non-Uniform Memory Access)
287 or have huge holes in the physical address space for other reasons.
288 See <file:Documentation/vm/numa> for more.
290 # Now handle the bus types
293 default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_IXP2000 || ARCH_MOXACPU
295 Find out whether you have a PCI motherboard. PCI is the name of a
296 bus system, i.e. the way the CPU talks to the other stuff inside
297 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
298 VESA. If you have PCI, say Y, otherwise N.
300 The PCI-HOWTO, available from
301 <http://www.tldp.org/docs.html#howto>, contains valuable
302 information about which PCI hardware does work under Linux and which
305 # Select the host bridge type
306 config PCI_HOST_VIA82C505
308 depends on PCI && ARCH_SHARK
313 depends on ARCH_INTEGRATOR
318 depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB
323 depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100 || ARCH_MX1ADS
326 Find out whether you have ISA slots on your motherboard. ISA is the
327 name of a bus system, i.e. the way the CPU talks to the other stuff
328 inside your box. Other bus systems are PCI, EISA, MicroChannel
329 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
330 newer boards don't support it. If you have ISA, say Y, otherwise N.
334 depends on FOOTBRIDGE_HOST || ARCH_SHARK
339 depends on ARCH_ACORN || ARCH_L7200 || ARCH_LH7A400
342 # Compressed boot loader in ROM. Yes, we really want to ask about
343 # TEXT and BSS so we preserve their values in the config files.
345 bool "Compressed boot loader in ROM/flash"
347 Say Y here if you intend to execute your compressed kernel image (zImage)
348 directly from ROM or flash. If unsure, say N.
350 config ZBOOT_ROM_TEXT
351 hex "Compressed ROM boot loader base address"
354 The base address for zImage. Unless you have special requirements, you
355 should not change this value.
358 hex "Compressed ROM boot loader BSS address"
361 The base address of 64KiB of read/write memory, which must be available
362 while the decompressor is running. Unless you have special requirements,
363 you should not change this value.
366 bool "Support CPU clock change (EXPERIMENTAL)"
367 depends on (ARCH_SA1100 || ARCH_INTEGRATOR) && EXPERIMENTAL
369 CPU clock scaling allows you to change the clock speed of the
370 running CPU on the fly. This is a nice method to save battery power,
371 because the lower the clock speed, the less power the CPU
372 consumes. Note that this driver doesn't automatically change the CPU
373 clock speed, you need some userland tools (which still have to be
374 written) to implement the policy. If you don't understand what this
375 is all about, it's safe to say 'N'.
378 # CPUfreq on SA11x0 is special -- it _needs_ the userspace governor
380 config CPU_FREQ_SA1100
382 depends on CPU_FREQ && SA1100_LART
384 select CPU_FREQ_24_API if SYSCTL
386 config CPU_FREQ_SA1110
388 depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
390 select CPU_FREQ_24_API if SYSCTL
392 config CPU_FREQ_INTEGRATOR
393 tristate "CPUfreq driver for ARM Integrator CPUs"
394 depends on ARCH_INTEGRATOR && ICST525 && CPU_FREQ
397 This enables the CPUfreq driver for ARM Integrator CPUs.
399 For details, take a look at <file:Documentation/cpu-freq>.
403 if (CPU_FREQ_INTEGRATOR) || (CPU_FREQ_SA1110) || (CPU_FREQ_SA1100)
405 source "drivers/cpufreq/Kconfig"
409 source "drivers/pci/Kconfig"
411 source "drivers/pcmcia/Kconfig"
413 comment "At least one math emulation must be selected"
416 bool "NWFPE math emulation"
418 Say Y to include the NWFPE floating point emulator in the kernel.
419 This is necessary to run most binaries. Linux does not currently
420 support floating point hardware so you need to say Y here even if
421 your machine has an FPA or floating point co-processor podule.
423 You may say N here if you are going to load the Acorn FPEmulator
427 bool "Support extended precision"
428 depends on FPE_NWFPE && !CPU_BIG_ENDIAN
430 Say Y to include 80-bit support in the kernel floating-point
431 emulator. Otherwise, only 32 and 64-bit support is compiled in.
432 Note that gcc does not generate 80-bit operations by default,
433 so in most cases this option only enlarges the size of the
434 floating point emulator without any good reason.
436 You almost surely want to say N here.
439 bool "FastFPE math emulation (EXPERIMENTAL)"
440 depends on !CPU_32v3 && EXPERIMENTAL
442 Say Y here to include the FAST floating point emulator in the kernel.
443 This is an experimental much faster emulator which now also has full
444 precision for the mantissa. It does not support any exceptions.
445 It is very simple, and approximately 3-6 times faster than NWFPE.
447 It should be sufficient for most programs. It may be not suitable
448 for scientific calculations, but you have to check this for yourself.
449 If you do not feel you need a faster FP emulation you should better
453 bool "VFP-format floating point maths"
454 depends on CPU_V6 || CPU_ARM926T
456 Say Y to include VFP support code in the kernel. This is needed
457 if your hardware includes a VFP unit.
459 Please see <file:Documentation/arm/VFP/release-notes.txt> for
460 release notes and additional status information.
462 Say N if your target does not have VFP hardware.
464 source "fs/Kconfig.binfmt"
466 source "drivers/base/Kconfig"
469 bool "Power Management support"
471 "Power Management" means that parts of your computer are shut
472 off or put into a power conserving "sleep" mode if they are not
473 being used. There are two competing standards for doing this: APM
474 and ACPI. If you want to use either one, say Y here and then also
475 to the requisite support below.
477 Power Management is most important for battery powered laptop
478 computers; if you have a laptop, check out the Linux Laptop home
479 page on the WWW at <http://www.linux-on-laptops.com/> or
480 Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>
481 and the Battery Powered Linux mini-HOWTO, available from
482 <http://www.tldp.org/docs.html#howto>.
484 Note that, even if you say N here, Linux on the x86 architecture
485 will issue the hlt instruction if nothing is to be done, thereby
486 sending the processor to sleep and saving power.
489 bool "Preemptible Kernel (EXPERIMENTAL)"
490 depends on CPU_32 && EXPERIMENTAL
492 This option reduces the latency of the kernel when reacting to
493 real-time or interactive events by allowing a low priority process to
494 be preempted even if it is in kernel mode executing a system call.
495 This allows applications to run more reliably even when the system is
498 Say Y here if you are building a kernel for a desktop, embedded
499 or real-time system. Say N if you are unsure.
502 tristate "Advanced Power Management Emulation"
505 APM is a BIOS specification for saving power using several different
506 techniques. This is mostly useful for battery powered laptops with
507 APM compliant BIOSes. If you say Y here, the system time will be
508 reset after a RESUME operation, the /proc/apm device will provide
509 battery status information, and user-space programs will receive
510 notification of APM "events" (e.g. battery status change).
512 If you select "Y" here, you can disable actual use of the APM
513 BIOS by passing the "apm=off" option to the kernel at boot time.
515 Note that the APM support is almost completely disabled for
516 machines with more than one CPU.
518 In order to use APM, you will need supporting software. For location
519 and more information, read <file:Documentation/pm.txt> and the
520 Battery Powered Linux mini-HOWTO, available from
521 <http://www.tldp.org/docs.html#howto>.
523 This driver does not spin down disk drives (see the hdparm(8)
524 manpage ("man 8 hdparm") for that), and it doesn't turn off
525 VESA-compliant "green" monitors.
527 This driver does not support the TI 4000M TravelMate and the ACER
528 486/DX4/75 because they don't have compliant BIOSes. Many "green"
529 desktop machines also don't have compliant BIOSes, and this driver
530 may cause those machines to panic during the boot phase.
532 Generally, if you don't have a battery in your machine, there isn't
533 much point in using this driver and you should say N. If you get
534 random kernel OOPSes or reboots that don't seem to be related to
535 anything, try disabling/enabling this option (or disabling/enabling
538 Some other things you should try when experiencing seemingly random,
541 1) make sure that you have enough swap space and that it is
543 2) pass the "no-hlt" option to the kernel
544 3) switch on floating point emulation in the kernel and pass
545 the "no387" option to the kernel
546 4) pass the "floppy=nodma" option to the kernel
547 5) pass the "mem=4M" option to the kernel (thereby disabling
548 all but the first 4 MB of RAM)
549 6) make sure that the CPU is not over clocked.
550 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
551 8) disable the cache from your BIOS settings
552 9) install a fan for the video card or exchange video RAM
553 10) install a better fan for the CPU
554 11) exchange RAM chips
555 12) exchange the motherboard.
557 To compile this driver as a module, choose M here: the
558 module will be called apm.
561 tristate "RISC OS personality"
564 Say Y here to include the kernel code necessary if you want to run
565 Acorn RISC OS/Arthur binaries under Linux. This code is still very
566 experimental; if this sounds frightening, say N and sleep in peace.
567 You can also say M here to compile this support as a module (which
568 will be called arthur).
571 string "Default kernel command string"
574 On some architectures (EBSA110 and CATS), there is currently no way
575 for the boot loader to pass arguments to the kernel. For these
576 architectures, you should supply some command-line options at build
577 time by entering them here. As a minimum, you should specify the
578 memory size and the root device (e.g., mem=64M root=/dev/nfs).
581 bool "Timer and CPU usage LEDs"
582 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_PB || ARCH_IMX
584 If you say Y here, the LEDs on your machine will be used
585 to provide useful information about your current system status.
587 If you are compiling a kernel for a NetWinder or EBSA-285, you will
588 be able to select which LEDs are active using the options below. If
589 you are compiling a kernel for the EBSA-110 or the LART however, the
590 red LED will simply flash regularly to indicate that the system is
591 still functional. It is safe to say Y here if you have a CATS
592 system, but the driver will do nothing.
595 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_PB || ARCH_IMX)
596 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_PB || ARCH_IMX
597 default y if ARCH_EBSA110
599 If you say Y here, one of the system LEDs (the green one on the
600 NetWinder, the amber one on the EBSA285, or the red one on the LART)
601 will flash regularly to indicate that the system is still
602 operational. This is mainly useful to kernel hackers who are
603 debugging unstable kernels.
605 The LART uses the same LED for both Timer LED and CPU usage LED
606 functions. You may choose to use both, but the Timer LED function
607 will overrule the CPU usage LED.
611 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_PB || ARCH_IMX)
613 If you say Y here, the red LED will be used to give a good real
614 time indication of CPU usage, by lighting whenever the idle task
615 is not currently executing.
617 The LART uses the same LED for both Timer LED and CPU usage LED
618 functions. You may choose to use both, but the Timer LED function
619 will overrule the CPU usage LED.
621 config ALIGNMENT_TRAP
624 default y if !ARCH_EBSA110
626 ARM processors can not fetch/store information which is not
627 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
628 address divisible by 4. On 32-bit ARM processors, these non-aligned
629 fetch/store instructions will be emulated in software if you say
630 here, which has a severe performance impact. This is necessary for
631 correct operation of some network protocols. With an IP-only
632 configuration it is safe to say N, otherwise say Y.
636 source "drivers/parport/Kconfig"
639 source "drivers/mtd/Kconfig"
642 source "drivers/pnp/Kconfig"
644 source "drivers/block/Kconfig"
646 source "drivers/md/Kconfig"
648 source "drivers/acorn/block/Kconfig"
652 if ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE
653 source "drivers/ide/Kconfig"
656 source "drivers/scsi/Kconfig"
658 source "drivers/message/fusion/Kconfig"
660 source "drivers/ieee1394/Kconfig"
662 source "drivers/message/i2o/Kconfig"
664 source "drivers/isdn/Kconfig"
667 # input before char - char/joystick depends on it. As does USB.
669 source "drivers/input/Kconfig"
671 source "drivers/char/Kconfig"
673 source "drivers/i2c/Kconfig"
675 #source "drivers/l3/Kconfig"
677 source "drivers/media/Kconfig"
681 source "arch/arm/oprofile/Kconfig"
683 source "drivers/video/Kconfig"
685 source "sound/Kconfig"
687 source "drivers/misc/Kconfig"
689 source "drivers/usb/Kconfig"
691 source "drivers/mmc/Kconfig"
693 source "arch/arm/Kconfig.debug"
695 source "security/Kconfig"
697 source "crypto/Kconfig"