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 ARCH_MAY_HAVE_PC_FDC 68 bool 69 70config GENERIC_ISA_DMA 71 bool 72 73config FIQ 74 bool 75 76source "init/Kconfig" 77 78menu "System Type" 79 80choice 81 prompt "ARM system type" 82 default ARCH_RPC 83 84config ARCH_CLPS7500 85 bool "Cirrus-CL-PS7500FE" 86 select TIMER_ACORN 87 select ISA 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 select ISA 100 help 101 This is an evaluation board for the StrongARM processor available 102 from Digital. It has limited hardware on-board, including an onboard 103 Ethernet interface, two PCMCIA sockets, two serial ports and a 104 parallel port. 105 106config ARCH_CAMELOT 107 bool "Epxa10db" 108 help 109 This enables support for Altera's Excalibur XA10 development board. 110 If you would like to build your kernel to run on one of these boards 111 then you must say 'Y' here. Otherwise say 'N' 112 113config ARCH_FOOTBRIDGE 114 bool "FootBridge" 115 select FOOTBRIDGE 116 117config ARCH_INTEGRATOR 118 bool "Integrator" 119 select ARM_AMBA 120 select ICST525 121 122config ARCH_IOP3XX 123 bool "IOP3xx-based" 124 select PCI 125 126config ARCH_IXP4XX 127 bool "IXP4xx-based" 128 select DMABOUNCE 129 select PCI 130 131config ARCH_IXP2000 132 bool "IXP2400/2800-based" 133 select PCI 134 135config ARCH_L7200 136 bool "LinkUp-L7200" 137 select FIQ 138 help 139 Say Y here if you intend to run this kernel on a LinkUp Systems 140 L7200 Software Development Board which uses an ARM720T processor. 141 Information on this board can be obtained at: 142 143 <http://www.linkupsys.com/> 144 145 If you have any questions or comments about the Linux kernel port 146 to this board, send e-mail to <sjhill@cotw.com>. 147 148config ARCH_PXA 149 bool "PXA2xx-based" 150 151config ARCH_RPC 152 bool "RiscPC" 153 select ARCH_ACORN 154 select FIQ 155 select TIMER_ACORN 156 select ARCH_MAY_HAVE_PC_FDC 157 help 158 On the Acorn Risc-PC, Linux can support the internal IDE disk and 159 CD-ROM interface, serial and parallel port, and the floppy drive. 160 161config ARCH_SA1100 162 bool "SA1100-based" 163 select ISA 164 select ARCH_DISCONTIGMEM_ENABLE 165 166config ARCH_S3C2410 167 bool "Samsung S3C2410" 168 help 169 Samsung S3C2410X CPU based systems, such as the Simtec Electronics 170 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or 171 the Samsung SMDK2410 development board (and derviatives). 172 173config ARCH_SHARK 174 bool "Shark" 175 select ISA 176 select ISA_DMA 177 select PCI 178 179config ARCH_LH7A40X 180 bool "Sharp LH7A40X" 181 help 182 Say Y here for systems based on one of the Sharp LH7A40X 183 System on a Chip processors. These CPUs include an ARM922T 184 core with a wide array of integrated devices for 185 hand-held and low-power applications. 186 187config ARCH_OMAP 188 bool "TI OMAP" 189 190config ARCH_VERSATILE 191 bool "Versatile" 192 select ARM_AMBA 193 select ICST307 194 help 195 This enables support for ARM Ltd Versatile board. 196 197config ARCH_IMX 198 bool "IMX" 199 200config ARCH_H720X 201 bool "Hynix-HMS720x-based" 202 help 203 This enables support for systems based on the Hynix HMS720x 204 205config ARCH_AAEC2000 206 bool "Agilent AAEC-2000 based" 207 help 208 This enables support for systems based on the Agilent AAEC-2000 209 210endchoice 211 212source "arch/arm/mach-clps711x/Kconfig" 213 214source "arch/arm/mach-epxa10db/Kconfig" 215 216source "arch/arm/mach-footbridge/Kconfig" 217 218source "arch/arm/mach-integrator/Kconfig" 219 220source "arch/arm/mach-iop3xx/Kconfig" 221 222source "arch/arm/mach-ixp4xx/Kconfig" 223 224source "arch/arm/mach-ixp2000/Kconfig" 225 226source "arch/arm/mach-pxa/Kconfig" 227 228source "arch/arm/mach-sa1100/Kconfig" 229 230source "arch/arm/plat-omap/Kconfig" 231 232source "arch/arm/mach-omap1/Kconfig" 233 234source "arch/arm/mach-s3c2410/Kconfig" 235 236source "arch/arm/mach-lh7a40x/Kconfig" 237 238source "arch/arm/mach-imx/Kconfig" 239 240source "arch/arm/mach-h720x/Kconfig" 241 242source "arch/arm/mach-versatile/Kconfig" 243 244source "arch/arm/mach-aaec2000/Kconfig" 245 246# Definitions to make life easier 247config ARCH_ACORN 248 bool 249 250source arch/arm/mm/Kconfig 251 252# bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER 253config XSCALE_PMU 254 bool 255 depends on CPU_XSCALE && !XSCALE_PMU_TIMER 256 default y 257 258endmenu 259 260source "arch/arm/common/Kconfig" 261 262config FORCE_MAX_ZONEORDER 263 int 264 depends on SA1111 265 default "9" 266 267menu "Bus support" 268 269config ARM_AMBA 270 bool 271 272config ISA 273 bool 274 help 275 Find out whether you have ISA slots on your motherboard. ISA is the 276 name of a bus system, i.e. the way the CPU talks to the other stuff 277 inside your box. Other bus systems are PCI, EISA, MicroChannel 278 (MCA) or VESA. ISA is an older system, now being displaced by PCI; 279 newer boards don't support it. If you have ISA, say Y, otherwise N. 280 281config ISA_DMA 282 bool 283 284config ISA_DMA_API 285 bool 286 default y 287 288config PCI 289 bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB 290 help 291 Find out whether you have a PCI motherboard. PCI is the name of a 292 bus system, i.e. the way the CPU talks to the other stuff inside 293 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or 294 VESA. If you have PCI, say Y, otherwise N. 295 296 The PCI-HOWTO, available from 297 <http://www.tldp.org/docs.html#howto>, contains valuable 298 information about which PCI hardware does work under Linux and which 299 doesn't. 300 301# Select the host bridge type 302config PCI_HOST_VIA82C505 303 bool 304 depends on PCI && ARCH_SHARK 305 default y 306 307source "drivers/pci/Kconfig" 308 309source "drivers/pcmcia/Kconfig" 310 311endmenu 312 313menu "Kernel Features" 314 315config SMP 316 bool "Symmetric Multi-Processing (EXPERIMENTAL)" 317 depends on EXPERIMENTAL && BROKEN #&& n 318 help 319 This enables support for systems with more than one CPU. If you have 320 a system with only one CPU, like most personal computers, say N. If 321 you have a system with more than one CPU, say Y. 322 323 If you say N here, the kernel will run on single and multiprocessor 324 machines, but will use only one CPU of a multiprocessor machine. If 325 you say Y here, the kernel will run on many, but not all, single 326 processor machines. On a single processor machine, the kernel will 327 run faster if you say N here. 328 329 See also the <file:Documentation/smp.tex>, 330 <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>, 331 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at 332 <http://www.linuxdoc.org/docs.html#howto>. 333 334 If you don't know what to do here, say N. 335 336config NR_CPUS 337 int "Maximum number of CPUs (2-32)" 338 range 2 32 339 depends on SMP 340 default "4" 341 342config PREEMPT 343 bool "Preemptible Kernel (EXPERIMENTAL)" 344 depends on EXPERIMENTAL 345 help 346 This option reduces the latency of the kernel when reacting to 347 real-time or interactive events by allowing a low priority process to 348 be preempted even if it is in kernel mode executing a system call. 349 This allows applications to run more reliably even when the system is 350 under load. 351 352 Say Y here if you are building a kernel for a desktop, embedded 353 or real-time system. Say N if you are unsure. 354 355config NO_IDLE_HZ 356 bool "Dynamic tick timer" 357 help 358 Select this option if you want to disable continuous timer ticks 359 and have them programmed to occur as required. This option saves 360 power as the system can remain in idle state for longer. 361 362 By default dynamic tick is disabled during the boot, and can be 363 manually enabled with: 364 365 echo 1 > /sys/devices/system/timer/timer0/dyn_tick 366 367 Alternatively, if you want dynamic tick automatically enabled 368 during boot, pass "dyntick=enable" via the kernel command string. 369 370 Please note that dynamic tick may affect the accuracy of 371 timekeeping on some platforms depending on the implementation. 372 Currently at least OMAP, PXA2xx and SA11x0 platforms are known 373 to have accurate timekeeping with dynamic tick. 374 375config ARCH_DISCONTIGMEM_ENABLE 376 bool 377 default (ARCH_LH7A40X && !LH7A40X_CONTIGMEM) 378 help 379 Say Y to support efficient handling of discontiguous physical memory, 380 for architectures which are either NUMA (Non-Uniform Memory Access) 381 or have huge holes in the physical address space for other reasons. 382 See <file:Documentation/vm/numa> for more. 383 384source "mm/Kconfig" 385 386config LEDS 387 bool "Timer and CPU usage LEDs" 388 depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \ 389 ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \ 390 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \ 391 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \ 392 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE 393 help 394 If you say Y here, the LEDs on your machine will be used 395 to provide useful information about your current system status. 396 397 If you are compiling a kernel for a NetWinder or EBSA-285, you will 398 be able to select which LEDs are active using the options below. If 399 you are compiling a kernel for the EBSA-110 or the LART however, the 400 red LED will simply flash regularly to indicate that the system is 401 still functional. It is safe to say Y here if you have a CATS 402 system, but the driver will do nothing. 403 404config LEDS_TIMER 405 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \ 406 MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 407 depends on LEDS 408 default y if ARCH_EBSA110 409 help 410 If you say Y here, one of the system LEDs (the green one on the 411 NetWinder, the amber one on the EBSA285, or the red one on the LART) 412 will flash regularly to indicate that the system is still 413 operational. This is mainly useful to kernel hackers who are 414 debugging unstable kernels. 415 416 The LART uses the same LED for both Timer LED and CPU usage LED 417 functions. You may choose to use both, but the Timer LED function 418 will overrule the CPU usage LED. 419 420config LEDS_CPU 421 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \ 422 !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 423 depends on LEDS 424 help 425 If you say Y here, the red LED will be used to give a good real 426 time indication of CPU usage, by lighting whenever the idle task 427 is not currently executing. 428 429 The LART uses the same LED for both Timer LED and CPU usage LED 430 functions. You may choose to use both, but the Timer LED function 431 will overrule the CPU usage LED. 432 433config ALIGNMENT_TRAP 434 bool 435 default y if !ARCH_EBSA110 436 help 437 ARM processors can not fetch/store information which is not 438 naturally aligned on the bus, i.e., a 4 byte fetch must start at an 439 address divisible by 4. On 32-bit ARM processors, these non-aligned 440 fetch/store instructions will be emulated in software if you say 441 here, which has a severe performance impact. This is necessary for 442 correct operation of some network protocols. With an IP-only 443 configuration it is safe to say N, otherwise say Y. 444 445endmenu 446 447menu "Boot options" 448 449# Compressed boot loader in ROM. Yes, we really want to ask about 450# TEXT and BSS so we preserve their values in the config files. 451config ZBOOT_ROM_TEXT 452 hex "Compressed ROM boot loader base address" 453 default "0" 454 help 455 The physical address at which the ROM-able zImage is to be 456 placed in the target. Platforms which normally make use of 457 ROM-able zImage formats normally set this to a suitable 458 value in their defconfig file. 459 460 If ZBOOT_ROM is not enabled, this has no effect. 461 462config ZBOOT_ROM_BSS 463 hex "Compressed ROM boot loader BSS address" 464 default "0" 465 help 466 The base address of 64KiB of read/write memory in the target 467 for the ROM-able zImage, which must be available while the 468 decompressor is running. Platforms which normally make use of 469 ROM-able zImage formats normally set this to a suitable 470 value in their defconfig file. 471 472 If ZBOOT_ROM is not enabled, this has no effect. 473 474config ZBOOT_ROM 475 bool "Compressed boot loader in ROM/flash" 476 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS 477 help 478 Say Y here if you intend to execute your compressed kernel image 479 (zImage) directly from ROM or flash. If unsure, say N. 480 481config CMDLINE 482 string "Default kernel command string" 483 default "" 484 help 485 On some architectures (EBSA110 and CATS), there is currently no way 486 for the boot loader to pass arguments to the kernel. For these 487 architectures, you should supply some command-line options at build 488 time by entering them here. As a minimum, you should specify the 489 memory size and the root device (e.g., mem=64M root=/dev/nfs). 490 491config XIP_KERNEL 492 bool "Kernel Execute-In-Place from ROM" 493 depends on !ZBOOT_ROM 494 help 495 Execute-In-Place allows the kernel to run from non-volatile storage 496 directly addressable by the CPU, such as NOR flash. This saves RAM 497 space since the text section of the kernel is not loaded from flash 498 to RAM. Read-write sections, such as the data section and stack, 499 are still copied to RAM. The XIP kernel is not compressed since 500 it has to run directly from flash, so it will take more space to 501 store it. The flash address used to link the kernel object files, 502 and for storing it, is configuration dependent. Therefore, if you 503 say Y here, you must know the proper physical address where to 504 store the kernel image depending on your own flash memory usage. 505 506 Also note that the make target becomes "make xipImage" rather than 507 "make zImage" or "make Image". The final kernel binary to put in 508 ROM memory will be arch/arm/boot/xipImage. 509 510 If unsure, say N. 511 512config XIP_PHYS_ADDR 513 hex "XIP Kernel Physical Location" 514 depends on XIP_KERNEL 515 default "0x00080000" 516 help 517 This is the physical address in your flash memory the kernel will 518 be linked for and stored to. This address is dependent on your 519 own flash usage. 520 521endmenu 522 523if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP1) 524 525menu "CPU Frequency scaling" 526 527source "drivers/cpufreq/Kconfig" 528 529config CPU_FREQ_SA1100 530 bool 531 depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_H3800 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT) 532 default y 533 534config CPU_FREQ_SA1110 535 bool 536 depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3) 537 default y 538 539config CPU_FREQ_INTEGRATOR 540 tristate "CPUfreq driver for ARM Integrator CPUs" 541 depends on ARCH_INTEGRATOR && CPU_FREQ 542 default y 543 help 544 This enables the CPUfreq driver for ARM Integrator CPUs. 545 546 For details, take a look at <file:Documentation/cpu-freq>. 547 548 If in doubt, say Y. 549 550endmenu 551 552endif 553 554menu "Floating point emulation" 555 556comment "At least one emulation must be selected" 557 558config FPE_NWFPE 559 bool "NWFPE math emulation" 560 ---help--- 561 Say Y to include the NWFPE floating point emulator in the kernel. 562 This is necessary to run most binaries. Linux does not currently 563 support floating point hardware so you need to say Y here even if 564 your machine has an FPA or floating point co-processor podule. 565 566 You may say N here if you are going to load the Acorn FPEmulator 567 early in the bootup. 568 569config FPE_NWFPE_XP 570 bool "Support extended precision" 571 depends on FPE_NWFPE && !CPU_BIG_ENDIAN 572 help 573 Say Y to include 80-bit support in the kernel floating-point 574 emulator. Otherwise, only 32 and 64-bit support is compiled in. 575 Note that gcc does not generate 80-bit operations by default, 576 so in most cases this option only enlarges the size of the 577 floating point emulator without any good reason. 578 579 You almost surely want to say N here. 580 581config FPE_FASTFPE 582 bool "FastFPE math emulation (EXPERIMENTAL)" 583 depends on !CPU_32v3 && EXPERIMENTAL 584 ---help--- 585 Say Y here to include the FAST floating point emulator in the kernel. 586 This is an experimental much faster emulator which now also has full 587 precision for the mantissa. It does not support any exceptions. 588 It is very simple, and approximately 3-6 times faster than NWFPE. 589 590 It should be sufficient for most programs. It may be not suitable 591 for scientific calculations, but you have to check this for yourself. 592 If you do not feel you need a faster FP emulation you should better 593 choose NWFPE. 594 595config VFP 596 bool "VFP-format floating point maths" 597 depends on CPU_V6 || CPU_ARM926T 598 help 599 Say Y to include VFP support code in the kernel. This is needed 600 if your hardware includes a VFP unit. 601 602 Please see <file:Documentation/arm/VFP/release-notes.txt> for 603 release notes and additional status information. 604 605 Say N if your target does not have VFP hardware. 606 607endmenu 608 609menu "Userspace binary formats" 610 611source "fs/Kconfig.binfmt" 612 613config ARTHUR 614 tristate "RISC OS personality" 615 help 616 Say Y here to include the kernel code necessary if you want to run 617 Acorn RISC OS/Arthur binaries under Linux. This code is still very 618 experimental; if this sounds frightening, say N and sleep in peace. 619 You can also say M here to compile this support as a module (which 620 will be called arthur). 621 622endmenu 623 624menu "Power management options" 625 626config PM 627 bool "Power Management support" 628 ---help--- 629 "Power Management" means that parts of your computer are shut 630 off or put into a power conserving "sleep" mode if they are not 631 being used. There are two competing standards for doing this: APM 632 and ACPI. If you want to use either one, say Y here and then also 633 to the requisite support below. 634 635 Power Management is most important for battery powered laptop 636 computers; if you have a laptop, check out the Linux Laptop home 637 page on the WWW at <http://www.linux-on-laptops.com/> or 638 Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/> 639 and the Battery Powered Linux mini-HOWTO, available from 640 <http://www.tldp.org/docs.html#howto>. 641 642config APM 643 tristate "Advanced Power Management Emulation" 644 depends on PM 645 ---help--- 646 APM is a BIOS specification for saving power using several different 647 techniques. This is mostly useful for battery powered laptops with 648 APM compliant BIOSes. If you say Y here, the system time will be 649 reset after a RESUME operation, the /proc/apm device will provide 650 battery status information, and user-space programs will receive 651 notification of APM "events" (e.g. battery status change). 652 653 In order to use APM, you will need supporting software. For location 654 and more information, read <file:Documentation/pm.txt> and the 655 Battery Powered Linux mini-HOWTO, available from 656 <http://www.tldp.org/docs.html#howto>. 657 658 This driver does not spin down disk drives (see the hdparm(8) 659 manpage ("man 8 hdparm") for that), and it doesn't turn off 660 VESA-compliant "green" monitors. 661 662 Generally, if you don't have a battery in your machine, there isn't 663 much point in using this driver and you should say N. If you get 664 random kernel OOPSes or reboots that don't seem to be related to 665 anything, try disabling/enabling this option (or disabling/enabling 666 APM in your BIOS). 667 668endmenu 669 670source "net/Kconfig" 671 672menu "Device Drivers" 673 674source "drivers/base/Kconfig" 675 676if ALIGNMENT_TRAP 677source "drivers/mtd/Kconfig" 678endif 679 680source "drivers/parport/Kconfig" 681 682source "drivers/pnp/Kconfig" 683 684source "drivers/block/Kconfig" 685 686source "drivers/acorn/block/Kconfig" 687 688if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \ 689 || ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \ 690 || ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE 691source "drivers/ide/Kconfig" 692endif 693 694source "drivers/scsi/Kconfig" 695 696source "drivers/md/Kconfig" 697 698source "drivers/message/fusion/Kconfig" 699 700source "drivers/ieee1394/Kconfig" 701 702source "drivers/message/i2o/Kconfig" 703 704source "drivers/net/Kconfig" 705 706source "drivers/isdn/Kconfig" 707 708# input before char - char/joystick depends on it. As does USB. 709 710source "drivers/input/Kconfig" 711 712source "drivers/char/Kconfig" 713 714source "drivers/i2c/Kconfig" 715 716source "drivers/hwmon/Kconfig" 717 718#source "drivers/l3/Kconfig" 719 720source "drivers/misc/Kconfig" 721 722source "drivers/mfd/Kconfig" 723 724source "drivers/media/Kconfig" 725 726source "drivers/video/Kconfig" 727 728source "sound/Kconfig" 729 730source "drivers/usb/Kconfig" 731 732source "drivers/mmc/Kconfig" 733 734endmenu 735 736source "fs/Kconfig" 737 738source "arch/arm/oprofile/Kconfig" 739 740source "arch/arm/Kconfig.debug" 741 742source "security/Kconfig" 743 744source "crypto/Kconfig" 745 746source "lib/Kconfig" 747