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