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 select HAVE_AOUT 12 select HAVE_IDE 13 select RTC_LIB 14 select SYS_SUPPORTS_APM_EMULATION 15 select HAVE_OPROFILE 16 select HAVE_ARCH_KGDB 17 select HAVE_KPROBES if (!XIP_KERNEL) 18 select HAVE_KRETPROBES if (HAVE_KPROBES) 19 select HAVE_FTRACE if (!XIP_KERNEL) 20 select HAVE_DYNAMIC_FTRACE if (HAVE_FTRACE) 21 select HAVE_GENERIC_DMA_COHERENT 22 help 23 The ARM series is a line of low-power-consumption RISC chip designs 24 licensed by ARM Ltd and targeted at embedded applications and 25 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer 26 manufactured, but legacy ARM-based PC hardware remains popular in 27 Europe. There is an ARM Linux project with a web page at 28 <http://www.arm.linux.org.uk/>. 29 30config HAVE_PWM 31 bool 32 33config SYS_SUPPORTS_APM_EMULATION 34 bool 35 36config GENERIC_GPIO 37 bool 38 default n 39 40config GENERIC_TIME 41 bool 42 default n 43 44config GENERIC_CLOCKEVENTS 45 bool 46 default n 47 48config GENERIC_CLOCKEVENTS_BROADCAST 49 bool 50 depends on GENERIC_CLOCKEVENTS 51 default y if SMP && !LOCAL_TIMERS 52 53config MMU 54 bool 55 default y 56 57config NO_IOPORT 58 bool 59 default n 60 61config EISA 62 bool 63 ---help--- 64 The Extended Industry Standard Architecture (EISA) bus was 65 developed as an open alternative to the IBM MicroChannel bus. 66 67 The EISA bus provided some of the features of the IBM MicroChannel 68 bus while maintaining backward compatibility with cards made for 69 the older ISA bus. The EISA bus saw limited use between 1988 and 70 1995 when it was made obsolete by the PCI bus. 71 72 Say Y here if you are building a kernel for an EISA-based machine. 73 74 Otherwise, say N. 75 76config SBUS 77 bool 78 79config MCA 80 bool 81 help 82 MicroChannel Architecture is found in some IBM PS/2 machines and 83 laptops. It is a bus system similar to PCI or ISA. See 84 <file:Documentation/mca.txt> (and especially the web page given 85 there) before attempting to build an MCA bus kernel. 86 87config GENERIC_HARDIRQS 88 bool 89 default y 90 91config STACKTRACE_SUPPORT 92 bool 93 default y 94 95config HAVE_LATENCYTOP_SUPPORT 96 bool 97 depends on !SMP 98 default y 99 100config LOCKDEP_SUPPORT 101 bool 102 default y 103 104config TRACE_IRQFLAGS_SUPPORT 105 bool 106 default y 107 108config HARDIRQS_SW_RESEND 109 bool 110 default y 111 112config GENERIC_IRQ_PROBE 113 bool 114 default y 115 116config GENERIC_LOCKBREAK 117 bool 118 default y 119 depends on SMP && PREEMPT 120 121config RWSEM_GENERIC_SPINLOCK 122 bool 123 default y 124 125config RWSEM_XCHGADD_ALGORITHM 126 bool 127 128config ARCH_HAS_ILOG2_U32 129 bool 130 default n 131 132config ARCH_HAS_ILOG2_U64 133 bool 134 default n 135 136config GENERIC_HWEIGHT 137 bool 138 default y 139 140config GENERIC_CALIBRATE_DELAY 141 bool 142 default y 143 144config ARCH_MAY_HAVE_PC_FDC 145 bool 146 147config ZONE_DMA 148 bool 149 150config GENERIC_ISA_DMA 151 bool 152 153config FIQ 154 bool 155 156config ARCH_MTD_XIP 157 bool 158 159config GENERIC_HARDIRQS_NO__DO_IRQ 160 bool 161 def_bool y 162 163if OPROFILE 164 165config OPROFILE_ARMV6 166 def_bool y 167 depends on CPU_V6 && !SMP 168 select OPROFILE_ARM11_CORE 169 170config OPROFILE_MPCORE 171 def_bool y 172 depends on CPU_V6 && SMP 173 select OPROFILE_ARM11_CORE 174 175config OPROFILE_ARM11_CORE 176 bool 177 178config OPROFILE_ARMV7 179 def_bool y 180 depends on CPU_V7 && !SMP 181 bool 182 183endif 184 185config VECTORS_BASE 186 hex 187 default 0xffff0000 if MMU || CPU_HIGH_VECTOR 188 default DRAM_BASE if REMAP_VECTORS_TO_RAM 189 default 0x00000000 190 help 191 The base address of exception vectors. 192 193source "init/Kconfig" 194 195menu "System Type" 196 197choice 198 prompt "ARM system type" 199 default ARCH_VERSATILE 200 201config ARCH_AAEC2000 202 bool "Agilent AAEC-2000 based" 203 select ARM_AMBA 204 select HAVE_CLK 205 help 206 This enables support for systems based on the Agilent AAEC-2000 207 208config ARCH_INTEGRATOR 209 bool "ARM Ltd. Integrator family" 210 select ARM_AMBA 211 select HAVE_CLK 212 select ICST525 213 help 214 Support for ARM's Integrator platform. 215 216config ARCH_REALVIEW 217 bool "ARM Ltd. RealView family" 218 select ARM_AMBA 219 select HAVE_CLK 220 select ICST307 221 select GENERIC_TIME 222 select GENERIC_CLOCKEVENTS 223 help 224 This enables support for ARM Ltd RealView boards. 225 226config ARCH_VERSATILE 227 bool "ARM Ltd. Versatile family" 228 select ARM_AMBA 229 select ARM_VIC 230 select HAVE_CLK 231 select ICST307 232 select GENERIC_TIME 233 select GENERIC_CLOCKEVENTS 234 help 235 This enables support for ARM Ltd Versatile board. 236 237config ARCH_AT91 238 bool "Atmel AT91" 239 select GENERIC_GPIO 240 select HAVE_CLK 241 help 242 This enables support for systems based on the Atmel AT91RM9200, 243 AT91SAM9 and AT91CAP9 processors. 244 245config ARCH_CLPS7500 246 bool "Cirrus CL-PS7500FE" 247 select TIMER_ACORN 248 select ISA 249 select NO_IOPORT 250 select ARCH_SPARSEMEM_ENABLE 251 help 252 Support for the Cirrus Logic PS7500FE system-on-a-chip. 253 254config ARCH_CLPS711X 255 bool "Cirrus Logic CLPS711x/EP721x-based" 256 help 257 Support for Cirrus Logic 711x/721x based boards. 258 259config ARCH_EBSA110 260 bool "EBSA-110" 261 select ISA 262 select NO_IOPORT 263 help 264 This is an evaluation board for the StrongARM processor available 265 from Digital. It has limited hardware on-board, including an 266 Ethernet interface, two PCMCIA sockets, two serial ports and a 267 parallel port. 268 269config ARCH_EP93XX 270 bool "EP93xx-based" 271 select ARM_AMBA 272 select ARM_VIC 273 select GENERIC_GPIO 274 select HAVE_CLK 275 select ARCH_REQUIRE_GPIOLIB 276 help 277 This enables support for the Cirrus EP93xx series of CPUs. 278 279config ARCH_FOOTBRIDGE 280 bool "FootBridge" 281 select FOOTBRIDGE 282 help 283 Support for systems based on the DC21285 companion chip 284 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. 285 286config ARCH_NETX 287 bool "Hilscher NetX based" 288 select ARM_VIC 289 help 290 This enables support for systems based on the Hilscher NetX Soc 291 292config ARCH_H720X 293 bool "Hynix HMS720x-based" 294 select ISA_DMA_API 295 help 296 This enables support for systems based on the Hynix HMS720x 297 298config ARCH_IMX 299 bool "IMX" 300 select GENERIC_GPIO 301 select GENERIC_TIME 302 select GENERIC_CLOCKEVENTS 303 help 304 Support for Motorola's i.MX family of processors (MX1, MXL). 305 306config ARCH_IOP13XX 307 bool "IOP13xx-based" 308 depends on MMU 309 select PLAT_IOP 310 select PCI 311 select ARCH_SUPPORTS_MSI 312 select VMSPLIT_1G 313 help 314 Support for Intel's IOP13XX (XScale) family of processors. 315 316config ARCH_IOP32X 317 bool "IOP32x-based" 318 depends on MMU 319 select PLAT_IOP 320 select PCI 321 select GENERIC_GPIO 322 select ARCH_REQUIRE_GPIOLIB 323 help 324 Support for Intel's 80219 and IOP32X (XScale) family of 325 processors. 326 327config ARCH_IOP33X 328 bool "IOP33x-based" 329 depends on MMU 330 select PLAT_IOP 331 select PCI 332 select GENERIC_GPIO 333 select ARCH_REQUIRE_GPIOLIB 334 help 335 Support for Intel's IOP33X (XScale) family of processors. 336 337config ARCH_IXP23XX 338 bool "IXP23XX-based" 339 depends on MMU 340 select PCI 341 help 342 Support for Intel's IXP23xx (XScale) family of processors. 343 344config ARCH_IXP2000 345 bool "IXP2400/2800-based" 346 depends on MMU 347 select PCI 348 help 349 Support for Intel's IXP2400/2800 (XScale) family of processors. 350 351config ARCH_IXP4XX 352 bool "IXP4xx-based" 353 depends on MMU 354 select GENERIC_GPIO 355 select GENERIC_TIME 356 select GENERIC_CLOCKEVENTS 357 select ZONE_DMA if PCI 358 help 359 Support for Intel's IXP4XX (XScale) family of processors. 360 361config ARCH_L7200 362 bool "LinkUp-L7200" 363 select FIQ 364 help 365 Say Y here if you intend to run this kernel on a LinkUp Systems 366 L7200 Software Development Board which uses an ARM720T processor. 367 Information on this board can be obtained at: 368 369 <http://www.linkupsys.com/> 370 371 If you have any questions or comments about the Linux kernel port 372 to this board, send e-mail to <sjhill@cotw.com>. 373 374config ARCH_KIRKWOOD 375 bool "Marvell Kirkwood" 376 select PCI 377 select GENERIC_TIME 378 select GENERIC_CLOCKEVENTS 379 select PLAT_ORION 380 help 381 Support for the following Marvell Kirkwood series SoCs: 382 88F6180, 88F6192 and 88F6281. 383 384config ARCH_KS8695 385 bool "Micrel/Kendin KS8695" 386 select GENERIC_GPIO 387 help 388 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based 389 System-on-Chip devices. 390 391config ARCH_NS9XXX 392 bool "NetSilicon NS9xxx" 393 select GENERIC_GPIO 394 select GENERIC_TIME 395 select GENERIC_CLOCKEVENTS 396 select HAVE_CLK 397 help 398 Say Y here if you intend to run this kernel on a NetSilicon NS9xxx 399 System. 400 401 <http://www.digi.com/products/microprocessors/index.jsp> 402 403config ARCH_LOKI 404 bool "Marvell Loki (88RC8480)" 405 select GENERIC_TIME 406 select GENERIC_CLOCKEVENTS 407 select PLAT_ORION 408 help 409 Support for the Marvell Loki (88RC8480) SoC. 410 411config ARCH_MV78XX0 412 bool "Marvell MV78xx0" 413 select PCI 414 select GENERIC_TIME 415 select GENERIC_CLOCKEVENTS 416 select PLAT_ORION 417 help 418 Support for the following Marvell MV78xx0 series SoCs: 419 MV781x0, MV782x0. 420 421config ARCH_MXC 422 bool "Freescale MXC/iMX-based" 423 select GENERIC_TIME 424 select GENERIC_CLOCKEVENTS 425 select ARCH_MTD_XIP 426 select GENERIC_GPIO 427 select ARCH_REQUIRE_GPIOLIB 428 help 429 Support for Freescale MXC/iMX-based family of processors 430 431config ARCH_ORION5X 432 bool "Marvell Orion" 433 depends on MMU 434 select PCI 435 select GENERIC_GPIO 436 select GENERIC_TIME 437 select GENERIC_CLOCKEVENTS 438 select PLAT_ORION 439 help 440 Support for the following Marvell Orion 5x series SoCs: 441 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), 442 Orion-2 (5281), Orion-1-90 (6183). 443 444config ARCH_PNX4008 445 bool "Philips Nexperia PNX4008 Mobile" 446 select HAVE_CLK 447 help 448 This enables support for Philips PNX4008 mobile platform. 449 450config ARCH_PXA 451 bool "PXA2xx/PXA3xx-based" 452 depends on MMU 453 select ARCH_MTD_XIP 454 select GENERIC_GPIO 455 select HAVE_CLK 456 select ARCH_REQUIRE_GPIOLIB 457 select GENERIC_TIME 458 select GENERIC_CLOCKEVENTS 459 select TICK_ONESHOT 460 help 461 Support for Intel/Marvell's PXA2xx/PXA3xx processor line. 462 463config ARCH_RPC 464 bool "RiscPC" 465 select ARCH_ACORN 466 select FIQ 467 select TIMER_ACORN 468 select ARCH_MAY_HAVE_PC_FDC 469 select HAVE_PATA_PLATFORM 470 select ISA_DMA_API 471 select NO_IOPORT 472 select ARCH_SPARSEMEM_ENABLE 473 help 474 On the Acorn Risc-PC, Linux can support the internal IDE disk and 475 CD-ROM interface, serial and parallel port, and the floppy drive. 476 477config ARCH_SA1100 478 bool "SA1100-based" 479 select ISA 480 select ARCH_SPARSEMEM_ENABLE 481 select ARCH_MTD_XIP 482 select GENERIC_GPIO 483 select GENERIC_TIME 484 select GENERIC_CLOCKEVENTS 485 select HAVE_CLK 486 select TICK_ONESHOT 487 select ARCH_REQUIRE_GPIOLIB 488 help 489 Support for StrongARM 11x0 based boards. 490 491config ARCH_S3C2410 492 bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443" 493 select GENERIC_GPIO 494 select HAVE_CLK 495 help 496 Samsung S3C2410X CPU based systems, such as the Simtec Electronics 497 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or 498 the Samsung SMDK2410 development board (and derivatives). 499 500config ARCH_SHARK 501 bool "Shark" 502 select ISA 503 select ISA_DMA 504 select ZONE_DMA 505 select PCI 506 help 507 Support for the StrongARM based Digital DNARD machine, also known 508 as "Shark" (<http://www.shark-linux.de/shark.html>). 509 510config ARCH_LH7A40X 511 bool "Sharp LH7A40X" 512 select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM 513 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM 514 help 515 Say Y here for systems based on one of the Sharp LH7A40X 516 System on a Chip processors. These CPUs include an ARM922T 517 core with a wide array of integrated devices for 518 hand-held and low-power applications. 519 520config ARCH_DAVINCI 521 bool "TI DaVinci" 522 select GENERIC_TIME 523 select GENERIC_CLOCKEVENTS 524 select GENERIC_GPIO 525 select ARCH_REQUIRE_GPIOLIB 526 select HAVE_CLK 527 select ZONE_DMA 528 help 529 Support for TI's DaVinci platform. 530 531config ARCH_OMAP 532 bool "TI OMAP" 533 select GENERIC_GPIO 534 select HAVE_CLK 535 select ARCH_REQUIRE_GPIOLIB 536 select GENERIC_TIME 537 select GENERIC_CLOCKEVENTS 538 help 539 Support for TI's OMAP platform (OMAP1 and OMAP2). 540 541config ARCH_MSM7X00A 542 bool "Qualcomm MSM7X00A" 543 select GENERIC_TIME 544 select GENERIC_CLOCKEVENTS 545 help 546 Support for Qualcomm MSM7X00A based systems. This runs on the ARM11 547 apps processor of the MSM7X00A and depends on a shared memory 548 interface to the ARM9 modem processor which runs the baseband stack 549 and controls some vital subsystems (clock and power control, etc). 550 <http://www.cdmatech.com/products/msm7200_chipset_solution.jsp> 551 552endchoice 553 554source "arch/arm/mach-clps711x/Kconfig" 555 556source "arch/arm/mach-ep93xx/Kconfig" 557 558source "arch/arm/mach-footbridge/Kconfig" 559 560source "arch/arm/mach-integrator/Kconfig" 561 562source "arch/arm/mach-iop32x/Kconfig" 563 564source "arch/arm/mach-iop33x/Kconfig" 565 566source "arch/arm/mach-iop13xx/Kconfig" 567 568source "arch/arm/mach-ixp4xx/Kconfig" 569 570source "arch/arm/mach-ixp2000/Kconfig" 571 572source "arch/arm/mach-ixp23xx/Kconfig" 573 574source "arch/arm/mach-loki/Kconfig" 575 576source "arch/arm/mach-mv78xx0/Kconfig" 577 578source "arch/arm/mach-pxa/Kconfig" 579 580source "arch/arm/mach-sa1100/Kconfig" 581 582source "arch/arm/plat-omap/Kconfig" 583 584source "arch/arm/mach-omap1/Kconfig" 585 586source "arch/arm/mach-omap2/Kconfig" 587 588source "arch/arm/mach-orion5x/Kconfig" 589 590source "arch/arm/mach-kirkwood/Kconfig" 591 592source "arch/arm/plat-s3c24xx/Kconfig" 593source "arch/arm/plat-s3c/Kconfig" 594 595if ARCH_S3C2410 596source "arch/arm/mach-s3c2400/Kconfig" 597source "arch/arm/mach-s3c2410/Kconfig" 598source "arch/arm/mach-s3c2412/Kconfig" 599source "arch/arm/mach-s3c2440/Kconfig" 600source "arch/arm/mach-s3c2442/Kconfig" 601source "arch/arm/mach-s3c2443/Kconfig" 602endif 603 604source "arch/arm/mach-lh7a40x/Kconfig" 605 606source "arch/arm/mach-imx/Kconfig" 607 608source "arch/arm/mach-h720x/Kconfig" 609 610source "arch/arm/mach-versatile/Kconfig" 611 612source "arch/arm/mach-aaec2000/Kconfig" 613 614source "arch/arm/mach-realview/Kconfig" 615 616source "arch/arm/mach-at91/Kconfig" 617 618source "arch/arm/plat-mxc/Kconfig" 619 620source "arch/arm/mach-netx/Kconfig" 621 622source "arch/arm/mach-ns9xxx/Kconfig" 623 624source "arch/arm/mach-davinci/Kconfig" 625 626source "arch/arm/mach-ks8695/Kconfig" 627 628source "arch/arm/mach-msm/Kconfig" 629 630# Definitions to make life easier 631config ARCH_ACORN 632 bool 633 634config PLAT_IOP 635 bool 636 637config PLAT_ORION 638 bool 639 640source arch/arm/mm/Kconfig 641 642config IWMMXT 643 bool "Enable iWMMXt support" 644 depends on CPU_XSCALE || CPU_XSC3 645 default y if PXA27x || PXA3xx 646 help 647 Enable support for iWMMXt context switching at run time if 648 running on a CPU that supports it. 649 650# bool 'Use XScale PMU as timer source' CONFIG_XSCALE_PMU_TIMER 651config XSCALE_PMU 652 bool 653 depends on CPU_XSCALE && !XSCALE_PMU_TIMER 654 default y 655 656if !MMU 657source "arch/arm/Kconfig-nommu" 658endif 659 660endmenu 661 662source "arch/arm/common/Kconfig" 663 664config FORCE_MAX_ZONEORDER 665 int 666 depends on SA1111 667 default "9" 668 669menu "Bus support" 670 671config ARM_AMBA 672 bool 673 674config ISA 675 bool 676 help 677 Find out whether you have ISA slots on your motherboard. ISA is the 678 name of a bus system, i.e. the way the CPU talks to the other stuff 679 inside your box. Other bus systems are PCI, EISA, MicroChannel 680 (MCA) or VESA. ISA is an older system, now being displaced by PCI; 681 newer boards don't support it. If you have ISA, say Y, otherwise N. 682 683# Select ISA DMA controller support 684config ISA_DMA 685 bool 686 select ISA_DMA_API 687 688# Select ISA DMA interface 689config ISA_DMA_API 690 bool 691 692config PCI 693 bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE 694 help 695 Find out whether you have a PCI motherboard. PCI is the name of a 696 bus system, i.e. the way the CPU talks to the other stuff inside 697 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or 698 VESA. If you have PCI, say Y, otherwise N. 699 700config PCI_SYSCALL 701 def_bool PCI 702 703# Select the host bridge type 704config PCI_HOST_VIA82C505 705 bool 706 depends on PCI && ARCH_SHARK 707 default y 708 709config PCI_HOST_ITE8152 710 bool 711 depends on PCI && MACH_ARMCORE 712 default y 713 select DMABOUNCE 714 715source "drivers/pci/Kconfig" 716 717source "drivers/pcmcia/Kconfig" 718 719endmenu 720 721menu "Kernel Features" 722 723source "kernel/time/Kconfig" 724 725config SMP 726 bool "Symmetric Multi-Processing (EXPERIMENTAL)" 727 depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP) 728 select USE_GENERIC_SMP_HELPERS 729 help 730 This enables support for systems with more than one CPU. If you have 731 a system with only one CPU, like most personal computers, say N. If 732 you have a system with more than one CPU, say Y. 733 734 If you say N here, the kernel will run on single and multiprocessor 735 machines, but will use only one CPU of a multiprocessor machine. If 736 you say Y here, the kernel will run on many, but not all, single 737 processor machines. On a single processor machine, the kernel will 738 run faster if you say N here. 739 740 See also <file:Documentation/i386/IO-APIC.txt>, 741 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at 742 <http://www.linuxdoc.org/docs.html#howto>. 743 744 If you don't know what to do here, say N. 745 746choice 747 prompt "Memory split" 748 default VMSPLIT_3G 749 help 750 Select the desired split between kernel and user memory. 751 752 If you are not absolutely sure what you are doing, leave this 753 option alone! 754 755 config VMSPLIT_3G 756 bool "3G/1G user/kernel split" 757 config VMSPLIT_2G 758 bool "2G/2G user/kernel split" 759 config VMSPLIT_1G 760 bool "1G/3G user/kernel split" 761endchoice 762 763config PAGE_OFFSET 764 hex 765 default 0x40000000 if VMSPLIT_1G 766 default 0x80000000 if VMSPLIT_2G 767 default 0xC0000000 768 769config NR_CPUS 770 int "Maximum number of CPUs (2-32)" 771 range 2 32 772 depends on SMP 773 default "4" 774 775config HOTPLUG_CPU 776 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" 777 depends on SMP && HOTPLUG && EXPERIMENTAL 778 help 779 Say Y here to experiment with turning CPUs off and on. CPUs 780 can be controlled through /sys/devices/system/cpu. 781 782config LOCAL_TIMERS 783 bool "Use local timer interrupts" 784 depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP) 785 default y 786 help 787 Enable support for local timers on SMP platforms, rather then the 788 legacy IPI broadcast method. Local timers allows the system 789 accounting to be spread across the timer interval, preventing a 790 "thundering herd" at every timer tick. 791 792config PREEMPT 793 bool "Preemptible Kernel (EXPERIMENTAL)" 794 depends on EXPERIMENTAL 795 help 796 This option reduces the latency of the kernel when reacting to 797 real-time or interactive events by allowing a low priority process to 798 be preempted even if it is in kernel mode executing a system call. 799 This allows applications to run more reliably even when the system is 800 under load. 801 802 Say Y here if you are building a kernel for a desktop, embedded 803 or real-time system. Say N if you are unsure. 804 805config HZ 806 int 807 default 128 if ARCH_L7200 808 default 200 if ARCH_EBSA110 || ARCH_S3C2410 809 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER 810 default AT91_TIMER_HZ if ARCH_AT91 811 default 100 812 813config AEABI 814 bool "Use the ARM EABI to compile the kernel" 815 help 816 This option allows for the kernel to be compiled using the latest 817 ARM ABI (aka EABI). This is only useful if you are using a user 818 space environment that is also compiled with EABI. 819 820 Since there are major incompatibilities between the legacy ABI and 821 EABI, especially with regard to structure member alignment, this 822 option also changes the kernel syscall calling convention to 823 disambiguate both ABIs and allow for backward compatibility support 824 (selected with CONFIG_OABI_COMPAT). 825 826 To use this you need GCC version 4.0.0 or later. 827 828config OABI_COMPAT 829 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)" 830 depends on AEABI && EXPERIMENTAL 831 default y 832 help 833 This option preserves the old syscall interface along with the 834 new (ARM EABI) one. It also provides a compatibility layer to 835 intercept syscalls that have structure arguments which layout 836 in memory differs between the legacy ABI and the new ARM EABI 837 (only for non "thumb" binaries). This option adds a tiny 838 overhead to all syscalls and produces a slightly larger kernel. 839 If you know you'll be using only pure EABI user space then you 840 can say N here. If this option is not selected and you attempt 841 to execute a legacy ABI binary then the result will be 842 UNPREDICTABLE (in fact it can be predicted that it won't work 843 at all). If in doubt say Y. 844 845config ARCH_FLATMEM_HAS_HOLES 846 bool 847 default y 848 depends on FLATMEM 849 850# Discontigmem is deprecated 851config ARCH_DISCONTIGMEM_ENABLE 852 bool 853 854config ARCH_SPARSEMEM_ENABLE 855 bool 856 857config ARCH_SPARSEMEM_DEFAULT 858 def_bool ARCH_SPARSEMEM_ENABLE 859 860config ARCH_SELECT_MEMORY_MODEL 861 def_bool ARCH_DISCONTIGMEM_ENABLE && ARCH_SPARSEMEM_ENABLE 862 863config NODES_SHIFT 864 int 865 default "4" if ARCH_LH7A40X 866 default "2" 867 depends on NEED_MULTIPLE_NODES 868 869source "mm/Kconfig" 870 871config LEDS 872 bool "Timer and CPU usage LEDs" 873 depends on ARCH_CDB89712 || ARCH_EBSA110 || \ 874 ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \ 875 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \ 876 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \ 877 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \ 878 ARCH_AT91 || ARCH_DAVINCI || \ 879 ARCH_KS8695 || MACH_RD88F5182 880 help 881 If you say Y here, the LEDs on your machine will be used 882 to provide useful information about your current system status. 883 884 If you are compiling a kernel for a NetWinder or EBSA-285, you will 885 be able to select which LEDs are active using the options below. If 886 you are compiling a kernel for the EBSA-110 or the LART however, the 887 red LED will simply flash regularly to indicate that the system is 888 still functional. It is safe to say Y here if you have a CATS 889 system, but the driver will do nothing. 890 891config LEDS_TIMER 892 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \ 893 OMAP_OSK_MISTRAL || MACH_OMAP_H2 \ 894 || MACH_OMAP_PERSEUS2 895 depends on LEDS 896 depends on !GENERIC_CLOCKEVENTS 897 default y if ARCH_EBSA110 898 help 899 If you say Y here, one of the system LEDs (the green one on the 900 NetWinder, the amber one on the EBSA285, or the red one on the LART) 901 will flash regularly to indicate that the system is still 902 operational. This is mainly useful to kernel hackers who are 903 debugging unstable kernels. 904 905 The LART uses the same LED for both Timer LED and CPU usage LED 906 functions. You may choose to use both, but the Timer LED function 907 will overrule the CPU usage LED. 908 909config LEDS_CPU 910 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \ 911 !ARCH_OMAP) \ 912 || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \ 913 || MACH_OMAP_PERSEUS2 914 depends on LEDS 915 help 916 If you say Y here, the red LED will be used to give a good real 917 time indication of CPU usage, by lighting whenever the idle task 918 is not currently executing. 919 920 The LART uses the same LED for both Timer LED and CPU usage LED 921 functions. You may choose to use both, but the Timer LED function 922 will overrule the CPU usage LED. 923 924config ALIGNMENT_TRAP 925 bool 926 depends on CPU_CP15_MMU 927 default y if !ARCH_EBSA110 928 help 929 ARM processors cannot fetch/store information which is not 930 naturally aligned on the bus, i.e., a 4 byte fetch must start at an 931 address divisible by 4. On 32-bit ARM processors, these non-aligned 932 fetch/store instructions will be emulated in software if you say 933 here, which has a severe performance impact. This is necessary for 934 correct operation of some network protocols. With an IP-only 935 configuration it is safe to say N, otherwise say Y. 936 937endmenu 938 939menu "Boot options" 940 941# Compressed boot loader in ROM. Yes, we really want to ask about 942# TEXT and BSS so we preserve their values in the config files. 943config ZBOOT_ROM_TEXT 944 hex "Compressed ROM boot loader base address" 945 default "0" 946 help 947 The physical address at which the ROM-able zImage is to be 948 placed in the target. Platforms which normally make use of 949 ROM-able zImage formats normally set this to a suitable 950 value in their defconfig file. 951 952 If ZBOOT_ROM is not enabled, this has no effect. 953 954config ZBOOT_ROM_BSS 955 hex "Compressed ROM boot loader BSS address" 956 default "0" 957 help 958 The base address of an area of read/write memory in the target 959 for the ROM-able zImage which must be available while the 960 decompressor is running. It must be large enough to hold the 961 entire decompressed kernel plus an additional 128 KiB. 962 Platforms which normally make use of ROM-able zImage formats 963 normally set this to a suitable value in their defconfig file. 964 965 If ZBOOT_ROM is not enabled, this has no effect. 966 967config ZBOOT_ROM 968 bool "Compressed boot loader in ROM/flash" 969 depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS 970 help 971 Say Y here if you intend to execute your compressed kernel image 972 (zImage) directly from ROM or flash. If unsure, say N. 973 974config CMDLINE 975 string "Default kernel command string" 976 default "" 977 help 978 On some architectures (EBSA110 and CATS), there is currently no way 979 for the boot loader to pass arguments to the kernel. For these 980 architectures, you should supply some command-line options at build 981 time by entering them here. As a minimum, you should specify the 982 memory size and the root device (e.g., mem=64M root=/dev/nfs). 983 984config XIP_KERNEL 985 bool "Kernel Execute-In-Place from ROM" 986 depends on !ZBOOT_ROM 987 help 988 Execute-In-Place allows the kernel to run from non-volatile storage 989 directly addressable by the CPU, such as NOR flash. This saves RAM 990 space since the text section of the kernel is not loaded from flash 991 to RAM. Read-write sections, such as the data section and stack, 992 are still copied to RAM. The XIP kernel is not compressed since 993 it has to run directly from flash, so it will take more space to 994 store it. The flash address used to link the kernel object files, 995 and for storing it, is configuration dependent. Therefore, if you 996 say Y here, you must know the proper physical address where to 997 store the kernel image depending on your own flash memory usage. 998 999 Also note that the make target becomes "make xipImage" rather than 1000 "make zImage" or "make Image". The final kernel binary to put in 1001 ROM memory will be arch/arm/boot/xipImage. 1002 1003 If unsure, say N. 1004 1005config XIP_PHYS_ADDR 1006 hex "XIP Kernel Physical Location" 1007 depends on XIP_KERNEL 1008 default "0x00080000" 1009 help 1010 This is the physical address in your flash memory the kernel will 1011 be linked for and stored to. This address is dependent on your 1012 own flash usage. 1013 1014config KEXEC 1015 bool "Kexec system call (EXPERIMENTAL)" 1016 depends on EXPERIMENTAL 1017 help 1018 kexec is a system call that implements the ability to shutdown your 1019 current kernel, and to start another kernel. It is like a reboot 1020 but it is independent of the system firmware. And like a reboot 1021 you can start any kernel with it, not just Linux. 1022 1023 It is an ongoing process to be certain the hardware in a machine 1024 is properly shutdown, so do not be surprised if this code does not 1025 initially work for you. It may help to enable device hotplugging 1026 support. 1027 1028config ATAGS_PROC 1029 bool "Export atags in procfs" 1030 depends on KEXEC 1031 default y 1032 help 1033 Should the atags used to boot the kernel be exported in an "atags" 1034 file in procfs. Useful with kexec. 1035 1036endmenu 1037 1038menu "CPU Power Management" 1039 1040if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA) 1041 1042source "drivers/cpufreq/Kconfig" 1043 1044config CPU_FREQ_SA1100 1045 bool 1046 depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_H3800 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT) 1047 default y 1048 1049config CPU_FREQ_SA1110 1050 bool 1051 depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3) 1052 default y 1053 1054config CPU_FREQ_INTEGRATOR 1055 tristate "CPUfreq driver for ARM Integrator CPUs" 1056 depends on ARCH_INTEGRATOR && CPU_FREQ 1057 default y 1058 help 1059 This enables the CPUfreq driver for ARM Integrator CPUs. 1060 1061 For details, take a look at <file:Documentation/cpu-freq>. 1062 1063 If in doubt, say Y. 1064 1065config CPU_FREQ_IMX 1066 tristate "CPUfreq driver for i.MX CPUs" 1067 depends on ARCH_IMX && CPU_FREQ 1068 default n 1069 help 1070 This enables the CPUfreq driver for i.MX CPUs. 1071 1072 If in doubt, say N. 1073 1074config CPU_FREQ_PXA 1075 bool 1076 depends on CPU_FREQ && ARCH_PXA && PXA25x 1077 default y 1078 select CPU_FREQ_DEFAULT_GOV_USERSPACE 1079 1080endif 1081 1082source "drivers/cpuidle/Kconfig" 1083 1084endmenu 1085 1086menu "Floating point emulation" 1087 1088comment "At least one emulation must be selected" 1089 1090config FPE_NWFPE 1091 bool "NWFPE math emulation" 1092 depends on !AEABI || OABI_COMPAT 1093 ---help--- 1094 Say Y to include the NWFPE floating point emulator in the kernel. 1095 This is necessary to run most binaries. Linux does not currently 1096 support floating point hardware so you need to say Y here even if 1097 your machine has an FPA or floating point co-processor podule. 1098 1099 You may say N here if you are going to load the Acorn FPEmulator 1100 early in the bootup. 1101 1102config FPE_NWFPE_XP 1103 bool "Support extended precision" 1104 depends on FPE_NWFPE 1105 help 1106 Say Y to include 80-bit support in the kernel floating-point 1107 emulator. Otherwise, only 32 and 64-bit support is compiled in. 1108 Note that gcc does not generate 80-bit operations by default, 1109 so in most cases this option only enlarges the size of the 1110 floating point emulator without any good reason. 1111 1112 You almost surely want to say N here. 1113 1114config FPE_FASTFPE 1115 bool "FastFPE math emulation (EXPERIMENTAL)" 1116 depends on (!AEABI || OABI_COMPAT) && !CPU_32v3 && EXPERIMENTAL 1117 ---help--- 1118 Say Y here to include the FAST floating point emulator in the kernel. 1119 This is an experimental much faster emulator which now also has full 1120 precision for the mantissa. It does not support any exceptions. 1121 It is very simple, and approximately 3-6 times faster than NWFPE. 1122 1123 It should be sufficient for most programs. It may be not suitable 1124 for scientific calculations, but you have to check this for yourself. 1125 If you do not feel you need a faster FP emulation you should better 1126 choose NWFPE. 1127 1128config VFP 1129 bool "VFP-format floating point maths" 1130 depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON 1131 help 1132 Say Y to include VFP support code in the kernel. This is needed 1133 if your hardware includes a VFP unit. 1134 1135 Please see <file:Documentation/arm/VFP/release-notes.txt> for 1136 release notes and additional status information. 1137 1138 Say N if your target does not have VFP hardware. 1139 1140config VFPv3 1141 bool 1142 depends on VFP 1143 default y if CPU_V7 1144 1145config NEON 1146 bool "Advanced SIMD (NEON) Extension support" 1147 depends on VFPv3 && CPU_V7 1148 help 1149 Say Y to include support code for NEON, the ARMv7 Advanced SIMD 1150 Extension. 1151 1152endmenu 1153 1154menu "Userspace binary formats" 1155 1156source "fs/Kconfig.binfmt" 1157 1158config ARTHUR 1159 tristate "RISC OS personality" 1160 depends on !AEABI 1161 help 1162 Say Y here to include the kernel code necessary if you want to run 1163 Acorn RISC OS/Arthur binaries under Linux. This code is still very 1164 experimental; if this sounds frightening, say N and sleep in peace. 1165 You can also say M here to compile this support as a module (which 1166 will be called arthur). 1167 1168endmenu 1169 1170menu "Power management options" 1171 1172source "kernel/power/Kconfig" 1173 1174config ARCH_SUSPEND_POSSIBLE 1175 def_bool y 1176 1177endmenu 1178 1179source "net/Kconfig" 1180 1181menu "Device Drivers" 1182 1183source "drivers/base/Kconfig" 1184 1185source "drivers/connector/Kconfig" 1186 1187if ALIGNMENT_TRAP || !CPU_CP15_MMU 1188source "drivers/mtd/Kconfig" 1189endif 1190 1191source "drivers/parport/Kconfig" 1192 1193source "drivers/pnp/Kconfig" 1194 1195source "drivers/block/Kconfig" 1196 1197# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4 1198 1199source "drivers/misc/Kconfig" 1200 1201source "drivers/ide/Kconfig" 1202 1203source "drivers/scsi/Kconfig" 1204 1205source "drivers/ata/Kconfig" 1206 1207source "drivers/md/Kconfig" 1208 1209source "drivers/message/fusion/Kconfig" 1210 1211source "drivers/ieee1394/Kconfig" 1212 1213source "drivers/message/i2o/Kconfig" 1214 1215source "drivers/net/Kconfig" 1216 1217source "drivers/isdn/Kconfig" 1218 1219# input before char - char/joystick depends on it. As does USB. 1220 1221source "drivers/input/Kconfig" 1222 1223source "drivers/char/Kconfig" 1224 1225source "drivers/i2c/Kconfig" 1226 1227source "drivers/spi/Kconfig" 1228 1229source "drivers/gpio/Kconfig" 1230 1231source "drivers/w1/Kconfig" 1232 1233source "drivers/power/Kconfig" 1234 1235source "drivers/hwmon/Kconfig" 1236 1237source "drivers/thermal/Kconfig" 1238 1239source "drivers/watchdog/Kconfig" 1240 1241source "drivers/ssb/Kconfig" 1242 1243#source "drivers/l3/Kconfig" 1244 1245source "drivers/mfd/Kconfig" 1246 1247source "drivers/media/Kconfig" 1248 1249source "drivers/video/Kconfig" 1250 1251source "sound/Kconfig" 1252 1253source "drivers/hid/Kconfig" 1254 1255source "drivers/usb/Kconfig" 1256 1257source "drivers/mmc/Kconfig" 1258 1259source "drivers/memstick/Kconfig" 1260 1261source "drivers/accessibility/Kconfig" 1262 1263source "drivers/leds/Kconfig" 1264 1265source "drivers/rtc/Kconfig" 1266 1267source "drivers/dma/Kconfig" 1268 1269source "drivers/dca/Kconfig" 1270 1271source "drivers/auxdisplay/Kconfig" 1272 1273source "drivers/regulator/Kconfig" 1274 1275source "drivers/uio/Kconfig" 1276 1277endmenu 1278 1279source "fs/Kconfig" 1280 1281source "arch/arm/Kconfig.debug" 1282 1283source "security/Kconfig" 1284 1285source "crypto/Kconfig" 1286 1287source "lib/Kconfig" 1288