1# 2# For a description of the syntax of this configuration file, 3# see Documentation/kbuild/kconfig-language.txt. 4# 5 6mainmenu "Linux Kernel Configuration" 7 8config ARM 9 bool 10 default y 11 help 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/>. 18 19config MMU 20 bool 21 default y 22 23config EISA 24 bool 25 ---help--- 26 The Extended Industry Standard Architecture (EISA) bus was 27 developed as an open alternative to the IBM MicroChannel bus. 28 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. 33 34 Say Y here if you are building a kernel for an EISA-based machine. 35 36 Otherwise, say N. 37 38config SBUS 39 bool 40 41config MCA 42 bool 43 help 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. 48 49config UID16 50 bool 51 default y 52 53config RWSEM_GENERIC_SPINLOCK 54 bool 55 default y 56 57config RWSEM_XCHGADD_ALGORITHM 58 bool 59 60config GENERIC_CALIBRATE_DELAY 61 bool 62 default y 63 64config GENERIC_BUST_SPINLOCK 65 bool 66 67config GENERIC_ISA_DMA 68 bool 69 70config GENERIC_IOMAP 71 bool 72 default y 73 74config FIQ 75 bool 76 77source "init/Kconfig" 78 79menu "System Type" 80 81choice 82 prompt "ARM system type" 83 default ARCH_RPC 84 85config ARCH_CLPS7500 86 bool "Cirrus-CL-PS7500FE" 87 select TIMER_ACORN 88 89config ARCH_CLPS711X 90 bool "CLPS711x/EP721x-based" 91 92config ARCH_CO285 93 bool "Co-EBSA285" 94 select FOOTBRIDGE 95 select FOOTBRIDGE_ADDIN 96 97config ARCH_EBSA110 98 bool "EBSA-110" 99 help 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 103 parallel port. 104 105config ARCH_CAMELOT 106 bool "Epxa10db" 107 help 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' 111 112config ARCH_FOOTBRIDGE 113 bool "FootBridge" 114 select FOOTBRIDGE 115 116config ARCH_INTEGRATOR 117 bool "Integrator" 118 select ARM_AMBA 119 select ICST525 120 121config ARCH_IOP3XX 122 bool "IOP3xx-based" 123 124config ARCH_IXP4XX 125 bool "IXP4xx-based" 126 select DMABOUNCE 127 128config ARCH_IXP2000 129 bool "IXP2400/2800-based" 130 131config ARCH_L7200 132 bool "LinkUp-L7200" 133 select FIQ 134 help 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: 138 139 <http://www.linkupsys.com/> 140 141 If you have any questions or comments about the Linux kernel port 142 to this board, send e-mail to <sjhill@cotw.com>. 143 144config ARCH_PXA 145 bool "PXA2xx-based" 146 147config ARCH_RPC 148 bool "RiscPC" 149 select ARCH_ACORN 150 select FIQ 151 select TIMER_ACORN 152 help 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. 155 156config ARCH_SA1100 157 bool "SA1100-based" 158 159config ARCH_S3C2410 160 bool "Samsung S3C2410" 161 help 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). 165 166config ARCH_SHARK 167 bool "Shark" 168 169config ARCH_LH7A40X 170 bool "Sharp LH7A40X" 171 help 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. 176 177config ARCH_OMAP 178 bool "TI OMAP" 179 180config ARCH_VERSATILE 181 bool "Versatile" 182 select ARM_AMBA 183 select ICST307 184 help 185 This enables support for ARM Ltd Versatile board. 186 187config ARCH_IMX 188 bool "IMX" 189 190config ARCH_H720X 191 bool "Hynix-HMS720x-based" 192 help 193 This enables support for systems based on the Hynix HMS720x 194 195endchoice 196 197source "arch/arm/mach-clps711x/Kconfig" 198 199source "arch/arm/mach-epxa10db/Kconfig" 200 201source "arch/arm/mach-footbridge/Kconfig" 202 203source "arch/arm/mach-integrator/Kconfig" 204 205source "arch/arm/mach-iop3xx/Kconfig" 206 207source "arch/arm/mach-ixp4xx/Kconfig" 208 209source "arch/arm/mach-ixp2000/Kconfig" 210 211source "arch/arm/mach-pxa/Kconfig" 212 213source "arch/arm/mach-sa1100/Kconfig" 214 215source "arch/arm/mach-omap/Kconfig" 216 217source "arch/arm/mach-s3c2410/Kconfig" 218 219source "arch/arm/mach-lh7a40x/Kconfig" 220 221source "arch/arm/mach-imx/Kconfig" 222 223source "arch/arm/mach-h720x/Kconfig" 224 225source "arch/arm/mach-versatile/Kconfig" 226 227# Definitions to make life easier 228config ARCH_ACORN 229 bool 230 231source arch/arm/mm/Kconfig 232 233# bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER 234config XSCALE_PMU 235 bool 236 depends on CPU_XSCALE && !XSCALE_PMU_TIMER 237 default y 238 239endmenu 240 241source "arch/arm/common/Kconfig" 242 243config FORCE_MAX_ZONEORDER 244 int 245 depends on SA1111 246 default "9" 247 248menu "Bus support" 249 250config ARM_AMBA 251 bool 252 253config ISA 254 bool 255 depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100 || ARCH_MX1ADS 256 default y 257 help 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. 263 264config ISA_DMA 265 bool 266 depends on FOOTBRIDGE_HOST || ARCH_SHARK 267 default y 268 269config PCI 270 bool "PCI support" if ARCH_INTEGRATOR_AP 271 default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_IXP2000 272 help 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. 277 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 281 doesn't. 282 283# Select the host bridge type 284config PCI_HOST_VIA82C505 285 bool 286 depends on PCI && ARCH_SHARK 287 default y 288 289source "drivers/pci/Kconfig" 290 291source "drivers/pcmcia/Kconfig" 292 293endmenu 294 295menu "Kernel Features" 296 297config SMP 298 bool "Symmetric Multi-Processing (EXPERIMENTAL)" 299 depends on EXPERIMENTAL && n 300 help 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. 304 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. 310 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>. 315 316 If you don't know what to do here, say N. 317 318config NR_CPUS 319 int "Maximum number of CPUs (2-32)" 320 range 2 32 321 depends on SMP 322 default "4" 323 324config PREEMPT 325 bool "Preemptible Kernel (EXPERIMENTAL)" 326 depends on EXPERIMENTAL 327 help 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 332 under load. 333 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. 336 337config DISCONTIGMEM 338 bool 339 depends on ARCH_EDB7211 || ARCH_SA1100 || (ARCH_LH7A40X && !LH7A40X_CONTIGMEM) 340 default y 341 help 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. 346 347config LEDS 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 354 help 355 If you say Y here, the LEDs on your machine will be used 356 to provide useful information about your current system status. 357 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. 364 365config LEDS_TIMER 366 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \ 367 MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 368 depends on LEDS 369 default y if ARCH_EBSA110 370 help 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. 376 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. 380 381config LEDS_CPU 382 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \ 383 !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 384 depends on LEDS 385 help 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. 389 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. 393 394config ALIGNMENT_TRAP 395 bool 396 default y if !ARCH_EBSA110 397 help 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. 405 406endmenu 407 408menu "Boot options" 409 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. 412config ZBOOT_ROM_TEXT 413 hex "Compressed ROM boot loader base address" 414 default "0" 415 help 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. 420 421 If ZBOOT_ROM is not enabled, this has no effect. 422 423config ZBOOT_ROM_BSS 424 hex "Compressed ROM boot loader BSS address" 425 default "0" 426 help 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. 432 433 If ZBOOT_ROM is not enabled, this has no effect. 434 435config ZBOOT_ROM 436 bool "Compressed boot loader in ROM/flash" 437 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS 438 help 439 Say Y here if you intend to execute your compressed kernel image 440 (zImage) directly from ROM or flash. If unsure, say N. 441 442config CMDLINE 443 string "Default kernel command string" 444 default "" 445 help 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). 451 452config XIP_KERNEL 453 bool "Kernel Execute-In-Place from ROM" 454 depends on !ZBOOT_ROM 455 help 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. 466 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. 470 471 If unsure, say N. 472 473config XIP_PHYS_ADDR 474 hex "XIP Kernel Physical Location" 475 depends on XIP_KERNEL 476 default "0x00080000" 477 help 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 480 own flash usage. 481 482endmenu 483 484if (ARCH_SA1100 || ARCH_INTEGRATOR) 485 486menu "CPU Frequency scaling" 487 488source "drivers/cpufreq/Kconfig" 489 490config CPU_FREQ_SA1100 491 bool 492 depends on CPU_FREQ && (SA1100_LART || SA1100_PLEB) 493 default y 494 495config CPU_FREQ_SA1110 496 bool 497 depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3) 498 default y 499 500config CPU_FREQ_INTEGRATOR 501 tristate "CPUfreq driver for ARM Integrator CPUs" 502 depends on ARCH_INTEGRATOR && CPU_FREQ 503 default y 504 help 505 This enables the CPUfreq driver for ARM Integrator CPUs. 506 507 For details, take a look at <file:Documentation/cpu-freq>. 508 509 If in doubt, say Y. 510 511endmenu 512 513endif 514 515menu "Floating point emulation" 516 517comment "At least one emulation must be selected" 518 519config FPE_NWFPE 520 bool "NWFPE math emulation" 521 ---help--- 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. 526 527 You may say N here if you are going to load the Acorn FPEmulator 528 early in the bootup. 529 530config FPE_NWFPE_XP 531 bool "Support extended precision" 532 depends on FPE_NWFPE && !CPU_BIG_ENDIAN 533 help 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. 539 540 You almost surely want to say N here. 541 542config FPE_FASTFPE 543 bool "FastFPE math emulation (EXPERIMENTAL)" 544 depends on !CPU_32v3 && EXPERIMENTAL 545 ---help--- 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. 550 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 554 choose NWFPE. 555 556config VFP 557 bool "VFP-format floating point maths" 558 depends on CPU_V6 || CPU_ARM926T 559 help 560 Say Y to include VFP support code in the kernel. This is needed 561 if your hardware includes a VFP unit. 562 563 Please see <file:Documentation/arm/VFP/release-notes.txt> for 564 release notes and additional status information. 565 566 Say N if your target does not have VFP hardware. 567 568endmenu 569 570menu "Userspace binary formats" 571 572source "fs/Kconfig.binfmt" 573 574config ARTHUR 575 tristate "RISC OS personality" 576 help 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). 582 583endmenu 584 585menu "Power management options" 586 587config PM 588 bool "Power Management support" 589 ---help--- 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. 595 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>. 602 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. 606 607config APM 608 tristate "Advanced Power Management Emulation" 609 depends on PM 610 ---help--- 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). 617 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. 620 621 Note that the APM support is almost completely disabled for 622 machines with more than one CPU. 623 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>. 628 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. 632 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. 637 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 642 APM in your BIOS). 643 644 Some other things you should try when experiencing seemingly random, 645 "weird" problems: 646 647 1) make sure that you have enough swap space and that it is 648 enabled. 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. 662 663 To compile this driver as a module, choose M here: the 664 module will be called apm. 665 666endmenu 667 668menu "Device Drivers" 669 670source "drivers/base/Kconfig" 671 672if ALIGNMENT_TRAP 673source "drivers/mtd/Kconfig" 674endif 675 676source "drivers/parport/Kconfig" 677 678source "drivers/pnp/Kconfig" 679 680source "drivers/block/Kconfig" 681 682source "drivers/acorn/block/Kconfig" 683 684if ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE 685source "drivers/ide/Kconfig" 686endif 687 688source "drivers/scsi/Kconfig" 689 690source "drivers/md/Kconfig" 691 692source "drivers/message/fusion/Kconfig" 693 694source "drivers/ieee1394/Kconfig" 695 696source "drivers/message/i2o/Kconfig" 697 698source "net/Kconfig" 699 700source "drivers/isdn/Kconfig" 701 702# input before char - char/joystick depends on it. As does USB. 703 704source "drivers/input/Kconfig" 705 706source "drivers/char/Kconfig" 707 708source "drivers/i2c/Kconfig" 709 710#source "drivers/l3/Kconfig" 711 712source "drivers/misc/Kconfig" 713 714source "drivers/media/Kconfig" 715 716source "drivers/video/Kconfig" 717 718source "sound/Kconfig" 719 720source "drivers/usb/Kconfig" 721 722source "drivers/mmc/Kconfig" 723 724endmenu 725 726source "fs/Kconfig" 727 728source "arch/arm/oprofile/Kconfig" 729 730source "arch/arm/Kconfig.debug" 731 732source "security/Kconfig" 733 734source "crypto/Kconfig" 735 736source "lib/Kconfig" 737