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
72 prompt "ARM system type"
79 bool "Cirrus-CL-PS7500FE"
82 bool "CLPS711x/EP721x-based"
88 bool "PXA250/210-based"
93 This is an evaluation board for the StrongARM processor available
94 from Digital. It has limited hardware on-board, including an onboard
95 Ethernet interface, two PCMCIA sockets, two serial ports and a
101 This enables support for Altera's Excalibur XA10 development board.
102 If you would like to build your kernel to run on one of these boards
103 then you must say 'Y' here. Otherwise say 'N'
105 config ARCH_FOOTBRIDGE
108 config ARCH_INTEGRATOR
117 Say Y here if you intend to run this kernel on a LinkUp Systems
118 L7200 Software Development Board which uses an ARM720T processor.
119 Information on this board can be obtained at:
121 <http://www.linkupsys.com/>
123 If you have any questions or comments about the Linux kernel port
124 to this board, send e-mail to sjhill@cotw.com.
129 On the Acorn Risc-PC, Linux can support the internal IDE disk and
130 CD-ROM interface, serial and parallel port, and the floppy drive.
139 bool "Samsung S3C2410"
141 Samsung S3C2410X CPU based systems, such as the Simtec Electronics
142 BAST (http://www.simtec.co.uk/products/EB110ITX/), the IPAQ 1940 or
143 the Samsung SMDK2410 development board (and derviatives).
151 Say Y here for systems based on one of the Sharp LH7A40X
152 System on a Chip processors. These CPUs include an ARM922T
153 core with a wide array of integrated devices for
154 hand-held and low-power applications.
156 config ARCH_VERSATILE_PB
159 This enables support for ARM Ltd Versatile PB board.
163 source "arch/arm/mach-clps711x/Kconfig"
165 source "arch/arm/mach-epxa10db/Kconfig"
167 source "arch/arm/mach-footbridge/Kconfig"
169 source "arch/arm/mach-integrator/Kconfig"
171 source "arch/arm/mach-iop3xx/Kconfig"
173 source "arch/arm/mach-pxa/Kconfig"
175 source "arch/arm/mach-sa1100/Kconfig"
177 source "arch/arm/mach-omap/Kconfig"
179 source "arch/arm/mach-s3c2410/Kconfig"
181 source "arch/arm/mach-lh7a40x/Kconfig"
183 # Definitions to make life easier
189 #####################################################################
193 depends on ARCH_CO285 || ARCH_FOOTBRIDGE
196 config FOOTBRIDGE_HOST
198 depends on ARCH_CATS || ARCH_EBSA285_HOST || ARCH_NETWINDER || ARCH_PERSONAL_SERVER
201 config FOOTBRIDGE_ADDIN
203 depends on ARCH_CO285 || ARCH_EBSA285_ADDIN
208 depends on ARCH_EBSA285_HOST || ARCH_EBSA285_ADDIN
211 #####################################################################
215 depends on ASSABET_NEPONSET || SA1100_ADSBITSY || SA1100_BADGE4 || SA1100_CONSUS || SA1100_GRAPHICSMASTER || SA1100_JORNADA720 || ARCH_LUBBOCK || SA1100_PFS168 || SA1100_PT_SYSTEM3 || SA1100_XP860
218 config FORCE_MAX_ZONEORDER
228 source arch/arm/mm/Kconfig
230 # bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER
233 depends on CPU_XSCALE && !XSCALE_PMU_TIMER
241 # Select various configuration options depending on the machine type
244 depends on ARCH_EDB7211 || ARCH_SA1100 || ARCH_LH7A40X
247 Say Y to upport efficient handling of discontiguous physical memory,
248 for architectures which are either NUMA (Non-Uniform Memory Access)
249 or have huge holes in the physical address space for other reasons.
250 See <file:Documentation/vm/numa> for more.
252 # Now handle the bus types
254 bool "PCI support" if ARCH_INTEGRATOR_AP
255 default y if ARCH_FTVPCI || ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX
257 Find out whether you have a PCI motherboard. PCI is the name of a
258 bus system, i.e. the way the CPU talks to the other stuff inside
259 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
260 VESA. If you have PCI, say Y, otherwise N.
262 The PCI-HOWTO, available from
263 <http://www.tldp.org/docs.html#howto>, contains valuable
264 information about which PCI hardware does work under Linux and which
267 # Select the host bridge type
268 config PCI_HOST_PLX90X0
270 depends on PCI && ARCH_FTVPCI
273 config PCI_HOST_VIA82C505
275 depends on PCI && ARCH_SHARK
280 depends on ARCH_INTEGRATOR
285 depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB
290 depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100
293 Find out whether you have ISA slots on your motherboard. ISA is the
294 name of a bus system, i.e. the way the CPU talks to the other stuff
295 inside your box. Other bus systems are PCI, EISA, MicroChannel
296 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
297 newer boards don't support it. If you have ISA, say Y, otherwise N.
301 depends on FOOTBRIDGE_HOST || ARCH_SHARK
306 depends on ARCH_ACORN || ARCH_L7200 || ARCH_LH7A400
309 # Compressed boot loader in ROM. Yes, we really want to ask about
310 # TEXT and BSS so we preserve their values in the config files.
312 bool "Compressed boot loader in ROM/flash"
314 Say Y here if you intend to execute your compressed kernel image (zImage)
315 directly from ROM or flash. If unsure, say N.
317 config ZBOOT_ROM_TEXT
318 hex "Compressed ROM boot loader base address"
321 The base address for zImage. Unless you have special requirements, you
322 should not change this value.
325 hex "Compressed ROM boot loader BSS address"
328 The base address of 64KiB of read/write memory, which must be available
329 while the decompressor is running. Unless you have special requirements,
330 you should not change this value.
333 bool "Support CPU clock change (EXPERIMENTAL)"
334 depends on (ARCH_SA1100 || ARCH_INTEGRATOR) && EXPERIMENTAL
336 CPU clock scaling allows you to change the clock speed of the
337 running CPU on the fly. This is a nice method to save battery power,
338 because the lower the clock speed, the less power the CPU
339 consumes. Note that this driver doesn't automatically change the CPU
340 clock speed, you need some userland tools (which still have to be
341 written) to implement the policy. If you don't understand what this
342 is all about, it's safe to say 'N'.
345 # CPUfreq on SA11x0 is special -- it _needs_ the userspace governor
347 config CPU_FREQ_SA1100
349 depends on CPU_FREQ && SA1100_LART
351 select CPU_FREQ_24_API if SYSCTL
353 config CPU_FREQ_SA1110
355 depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
357 select CPU_FREQ_24_API if SYSCTL
359 config CPU_FREQ_INTEGRATOR
360 tristate "CPUfreq driver for ARM Integrator CPUs"
361 depends on ARCH_INTEGRATOR && ICST525 && CPU_FREQ
364 This enables the CPUfreq driver for ARM Integrator CPUs.
366 For details, take a look at linux/Documentation/cpu-freq.
370 if (CPU_FREQ_INTEGRATOR) || (CPU_FREQ_SA1110) || (CPU_FREQ_SA1100)
372 source "drivers/cpufreq/Kconfig"
376 source "drivers/pci/Kconfig"
378 source "drivers/pcmcia/Kconfig"
380 comment "At least one math emulation must be selected"
383 bool "NWFPE math emulation"
385 Say Y to include the NWFPE floating point emulator in the kernel.
386 This is necessary to run most binaries. Linux does not currently
387 support floating point hardware so you need to say Y here even if
388 your machine has an FPA or floating point co-processor podule.
390 You may say N here if you are going to load the Acorn FPEmulator
394 bool "Support extended precision"
397 Say Y to include 80-bit support in the kernel floating-point
398 emulator. Otherwise, only 32 and 64-bit support is compiled in.
399 Note that gcc does not generate 80-bit operations by default,
400 so in most cases this option only enlarges the size of the
401 floating point emulator without any good reason.
403 You almost surely want to say N here.
406 bool "FastFPE math emulation (EXPERIMENTAL)"
407 depends on !CPU_32v3 && EXPERIMENTAL
409 Say Y here to include the FAST floating point emulator in the kernel.
410 This is an experimental much faster emulator which now also has full
411 precision for the mantissa. It does not support any exceptions.
412 It is very simple, and approximately 3-6 times faster than NWFPE.
414 It should be sufficient for most programs. It may be not suitable
415 for scientific calculations, but you have to check this for yourself.
416 If you do not feel you need a faster FP emulation you should better
419 source "fs/Kconfig.binfmt"
421 source "drivers/base/Kconfig"
424 bool "Power Management support"
426 "Power Management" means that parts of your computer are shut
427 off or put into a power conserving "sleep" mode if they are not
428 being used. There are two competing standards for doing this: APM
429 and ACPI. If you want to use either one, say Y here and then also
430 to the requisite support below.
432 Power Management is most important for battery powered laptop
433 computers; if you have a laptop, check out the Linux Laptop home
434 page on the WWW at <http://www.linux-on-laptops.com/> or
435 Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>
436 and the Battery Powered Linux mini-HOWTO, available from
437 <http://www.tldp.org/docs.html#howto>.
439 Note that, even if you say N here, Linux on the x86 architecture
440 will issue the hlt instruction if nothing is to be done, thereby
441 sending the processor to sleep and saving power.
444 bool "Preemptible Kernel (EXPERIMENTAL)"
445 depends on CPU_32 && EXPERIMENTAL
447 This option reduces the latency of the kernel when reacting to
448 real-time or interactive events by allowing a low priority process to
449 be preempted even if it is in kernel mode executing a system call.
450 This allows applications to run more reliably even when the system is
453 Say Y here if you are building a kernel for a desktop, embedded
454 or real-time system. Say N if you are unsure.
457 tristate "Advanced Power Management Emulation"
460 APM is a BIOS specification for saving power using several different
461 techniques. This is mostly useful for battery powered laptops with
462 APM compliant BIOSes. If you say Y here, the system time will be
463 reset after a RESUME operation, the /proc/apm device will provide
464 battery status information, and user-space programs will receive
465 notification of APM "events" (e.g. battery status change).
467 If you select "Y" here, you can disable actual use of the APM
468 BIOS by passing the "apm=off" option to the kernel at boot time.
470 Note that the APM support is almost completely disabled for
471 machines with more than one CPU.
473 In order to use APM, you will need supporting software. For location
474 and more information, read <file:Documentation/pm.txt> and the
475 Battery Powered Linux mini-HOWTO, available from
476 <http://www.tldp.org/docs.html#howto>.
478 This driver does not spin down disk drives (see the hdparm(8)
479 manpage ("man 8 hdparm") for that), and it doesn't turn off
480 VESA-compliant "green" monitors.
482 This driver does not support the TI 4000M TravelMate and the ACER
483 486/DX4/75 because they don't have compliant BIOSes. Many "green"
484 desktop machines also don't have compliant BIOSes, and this driver
485 may cause those machines to panic during the boot phase.
487 Generally, if you don't have a battery in your machine, there isn't
488 much point in using this driver and you should say N. If you get
489 random kernel OOPSes or reboots that don't seem to be related to
490 anything, try disabling/enabling this option (or disabling/enabling
493 Some other things you should try when experiencing seemingly random,
496 1) make sure that you have enough swap space and that it is
498 2) pass the "no-hlt" option to the kernel
499 3) switch on floating point emulation in the kernel and pass
500 the "no387" option to the kernel
501 4) pass the "floppy=nodma" option to the kernel
502 5) pass the "mem=4M" option to the kernel (thereby disabling
503 all but the first 4 MB of RAM)
504 6) make sure that the CPU is not over clocked.
505 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
506 8) disable the cache from your BIOS settings
507 9) install a fan for the video card or exchange video RAM
508 10) install a better fan for the CPU
509 11) exchange RAM chips
510 12) exchange the motherboard.
512 To compile this driver as a module, choose M here: the
513 module will be called apm.
516 tristate "RISC OS personality"
519 Say Y here to include the kernel code necessary if you want to run
520 Acorn RISC OS/Arthur binaries under Linux. This code is still very
521 experimental; if this sounds frightening, say N and sleep in peace.
522 You can also say M here to compile this support as a module (which
523 will be called arthur).
526 string "Default kernel command string"
529 On some architectures (EBSA110 and CATS), there is currently no way
530 for the boot loader to pass arguments to the kernel. For these
531 architectures, you should supply some command-line options at build
532 time by entering them here. As a minimum, you should specify the
533 memory size and the root device (e.g., mem=64M root=/dev/nfs).
536 bool "Timer and CPU usage LEDs"
537 depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_FTVPCI || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE_PB
539 If you say Y here, the LEDs on your machine will be used
540 to provide useful information about your current system status.
542 If you are compiling a kernel for a NetWinder or EBSA-285, you will
543 be able to select which LEDs are active using the options below. If
544 you are compiling a kernel for the EBSA-110 or the LART however, the
545 red LED will simply flash regularly to indicate that the system is
546 still functional. It is safe to say Y here if you have a CATS
547 system, but the driver will do nothing.
550 bool "Timer LED" if LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE_PB)
551 depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_FTVPCI || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE_PB
552 default y if ARCH_EBSA110
554 If you say Y here, one of the system LEDs (the green one on the
555 NetWinder, the amber one on the EBSA285, or the red one on the LART)
556 will flash regularly to indicate that the system is still
557 operational. This is mainly useful to kernel hackers who are
558 debugging unstable kernels.
560 The LART uses the same LED for both Timer LED and CPU usage LED
561 functions. You may choose to use both, but the Timer LED function
562 will overrule the CPU usage LED.
566 depends on LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE_PB)
568 If you say Y here, the red LED will be used to give a good real
569 time indication of CPU usage, by lighting whenever the idle task
570 is not currently executing.
572 The LART uses the same LED for both Timer LED and CPU usage LED
573 functions. You may choose to use both, but the Timer LED function
574 will overrule the CPU usage LED.
576 config ALIGNMENT_TRAP
581 ARM processors can not fetch/store information which is not
582 naturally aligned on the bus, i.e., a 4 byte fetch must start at an
583 address divisible by 4. On 32-bit ARM processors, these non-aligned
584 fetch/store instructions will be emulated in software if you say
585 here, which has a severe performance impact. This is necessary for
586 correct operation of some network protocols. With an IP-only
587 configuration it is safe to say N, otherwise say Y.
591 source "drivers/parport/Kconfig"
594 source "drivers/mtd/Kconfig"
597 source "drivers/pnp/Kconfig"
599 source "drivers/block/Kconfig"
601 source "drivers/md/Kconfig"
603 source "drivers/acorn/block/Kconfig"
607 source "drivers/ide/Kconfig"
609 source "drivers/scsi/Kconfig"
611 source "drivers/message/fusion/Kconfig"
613 source "drivers/ieee1394/Kconfig"
615 source "drivers/message/i2o/Kconfig"
617 source "drivers/isdn/Kconfig"
620 # input before char - char/joystick depends on it. As does USB.
622 source "drivers/input/Kconfig"
624 source "drivers/char/Kconfig"
626 source "drivers/i2c/Kconfig"
628 #source "drivers/l3/Kconfig"
630 source "drivers/media/Kconfig"
634 source "arch/arm/oprofile/Kconfig"
636 source "drivers/video/Kconfig"
638 source "sound/Kconfig"
640 source "drivers/misc/Kconfig"
642 source "drivers/usb/Kconfig"
645 menu "Kernel hacking"
647 # RMK wants arm kernels compiled with frame pointers so hardwire this to y.
648 # If you know what you are doing and are willing to live without stack
649 # traces, you can get a slightly smaller kernel by setting this option to
650 # n, but then RMK will have to kill you ;).
655 If you say N here, the resulting kernel will be slightly smaller and
656 faster. However, when a problem occurs with the kernel, the
657 information that is reported is severely limited. Most people
661 bool "Verbose user fault messages"
663 When a user program crashes due to an exception, the kernel can
664 print a brief message explaining what the problem was. This is
665 sometimes helpful for debugging but serves no purpose on a
666 production system. Most people should say N here.
668 In addition, you need to pass user_debug=N on the kernel command
669 line to enable this feature. N consists of the sum of:
671 1 - undefined instruction events
673 4 - invalid data aborts
678 bool "Include GDB debugging information in kernel binary"
680 Say Y here to include source-level debugging information in the
681 `vmlinux' binary image. This is handy if you want to use gdb or
682 addr2line to debug the kernel. It has no impact on the in-memory
683 footprint of the running kernel but it can increase the amount of
684 time and disk space needed for compilation of the kernel. If in
688 bool "Kernel debugging"
690 Say Y here if you are developing drivers or trying to debug and
691 identify kernel problems.
694 bool "Debug memory allocations"
695 depends on DEBUG_KERNEL
697 Say Y here to have the kernel do limited verification on memory
698 allocation as well as poisoning memory on free to catch use of freed
702 bool "Magic SysRq key"
703 depends on DEBUG_KERNEL
705 If you say Y here, you will have some control over the system even
706 if the system crashes for example during kernel debugging (e.g., you
707 will be able to flush the buffer cache to disk, reboot the system
708 immediately or dump some status information). This is accomplished
709 by pressing various keys while holding SysRq (Alt+PrintScreen). It
710 also works on a serial console (on PC hardware at least), if you
711 send a BREAK and then within 5 seconds a command keypress. The
712 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
713 unless you really know what this hack does.
715 config DEBUG_SPINLOCK
716 bool "Spinlock debugging"
717 depends on DEBUG_KERNEL
719 Say Y here and build SMP to catch missing spinlock initialization
720 and certain other kinds of spinlock errors commonly made. This is
721 best used in conjunction with the NMI watchdog so that spinlock
722 deadlocks are also debuggable.
725 bool "Wait queue debugging"
726 depends on DEBUG_KERNEL
728 config DEBUG_BUGVERBOSE
729 bool "Verbose BUG() reporting (adds 70K)"
730 depends on DEBUG_KERNEL
732 Say Y here to make BUG() panics output the file name and line number
733 of the BUG call as well as the EIP and oops trace. This aids
734 debugging but costs about 70-100K of memory.
737 bool "Verbose kernel error messages"
738 depends on DEBUG_KERNEL
740 This option controls verbose debugging information which can be
741 printed when the kernel detects an internal error. This debugging
742 information is useful to kernel hackers when tracking down problems,
743 but mostly meaningless to other people. It's safe to say Y unless
744 you are concerned with the code size or don't want to see these
747 # These options are only for real kernel hackers who want to get their hands dirty.
749 bool "Kernel low-level debugging functions"
750 depends on DEBUG_KERNEL
752 Say Y here to include definitions of printascii, printchar, printhex
753 in the kernel. This is helpful if you are debugging code that
754 executes before the console is initialized.
757 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
760 Say Y here if you want the debug print routines to direct their
761 output to the EmbeddedICE macrocell's DCC channel using
762 co-processor 14. This is known to work on the ARM9 style ICE
765 It does include a timeout to ensure that the system does not
766 totally freeze when there is nothing connected to read.
768 config DEBUG_DC21285_PORT
769 bool "Kernel low-level debugging messages via footbridge serial port"
770 depends on DEBUG_LL && FOOTBRIDGE
772 Say Y here if you want the debug print routines to direct their
773 output to the serial port in the DC21285 (Footbridge). Saying N
774 will cause the debug messages to appear on the first 16550
777 config DEBUG_CLPS711X_UART2
778 bool "Kernel low-level debugging messages via UART2"
779 depends on DEBUG_LL && ARCH_CLPS711X
781 Say Y here if you want the debug print routines to direct their
782 output to the second serial port on these devices. Saying N will
783 cause the debug messages to appear on the first serial port.
785 config DEBUG_S3C2410_PORT
786 depends on DEBUG_LL && ARCH_S3C2410
787 bool "Kernel low-level debugging messages via S3C2410 UART"
789 Say Y here if you want debug print routines to go to one of the
790 S3C2410 internal UARTs. The chosen UART must have been configured
793 config DEBUG_S3C2410_UART
795 depends on DEBUG_LL && ARCH_S3C2410
798 Choice for UART for kernel low-level using S3C2410 UARTS,
799 should be between zero and two. The port must have been
800 initalised by the boot-loader before use.
804 source "kernel/vserver/Kconfig"
806 source "security/Kconfig"
808 source "crypto/Kconfig"