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_FUNCTION_TRACER if (!XIP_KERNEL) 20 select HAVE_GENERIC_DMA_COHERENT 21 help 22 The ARM series is a line of low-power-consumption RISC chip designs 23 licensed by ARM Ltd and targeted at embedded applications and 24 handhelds such as the Compaq IPAQ. ARM-based PCs are no longer 25 manufactured, but legacy ARM-based PC hardware remains popular in 26 Europe. There is an ARM Linux project with a web page at 27 <http://www.arm.linux.org.uk/>. 28 29config HAVE_PWM 30 bool 31 32config SYS_SUPPORTS_APM_EMULATION 33 bool 34 35config GENERIC_GPIO 36 bool 37 default n 38 39config GENERIC_TIME 40 bool 41 default n 42 43config GENERIC_CLOCKEVENTS 44 bool 45 default n 46 47config GENERIC_CLOCKEVENTS_BROADCAST 48 bool 49 depends on GENERIC_CLOCKEVENTS 50 default y if SMP && !LOCAL_TIMERS 51 52config MMU 53 bool 54 default y 55 56config NO_IOPORT 57 bool 58 default n 59 60config EISA 61 bool 62 ---help--- 63 The Extended Industry Standard Architecture (EISA) bus was 64 developed as an open alternative to the IBM MicroChannel bus. 65 66 The EISA bus provided some of the features of the IBM MicroChannel 67 bus while maintaining backward compatibility with cards made for 68 the older ISA bus. The EISA bus saw limited use between 1988 and 69 1995 when it was made obsolete by the PCI bus. 70 71 Say Y here if you are building a kernel for an EISA-based machine. 72 73 Otherwise, say N. 74 75config SBUS 76 bool 77 78config MCA 79 bool 80 help 81 MicroChannel Architecture is found in some IBM PS/2 machines and 82 laptops. It is a bus system similar to PCI or ISA. See 83 <file:Documentation/mca.txt> (and especially the web page given 84 there) before attempting to build an MCA bus kernel. 85 86config GENERIC_HARDIRQS 87 bool 88 default y 89 90config STACKTRACE_SUPPORT 91 bool 92 default y 93 94config HAVE_LATENCYTOP_SUPPORT 95 bool 96 depends on !SMP 97 default y 98 99config LOCKDEP_SUPPORT 100 bool 101 default y 102 103config TRACE_IRQFLAGS_SUPPORT 104 bool 105 default y 106 107config HARDIRQS_SW_RESEND 108 bool 109 default y 110 111config GENERIC_IRQ_PROBE 112 bool 113 default y 114 115config GENERIC_LOCKBREAK 116 bool 117 default y 118 depends on SMP && PREEMPT 119 120config RWSEM_GENERIC_SPINLOCK 121 bool 122 default y 123 124config RWSEM_XCHGADD_ALGORITHM 125 bool 126 127config ARCH_HAS_ILOG2_U32 128 bool 129 default n 130 131config ARCH_HAS_ILOG2_U64 132 bool 133 default n 134 135config GENERIC_HWEIGHT 136 bool 137 default y 138 139config GENERIC_CALIBRATE_DELAY 140 bool 141 default y 142 143config ARCH_MAY_HAVE_PC_FDC 144 bool 145 146config ZONE_DMA 147 bool 148 149config GENERIC_ISA_DMA 150 bool 151 152config FIQ 153 bool 154 155config ARCH_MTD_XIP 156 bool 157 158config GENERIC_HARDIRQS_NO__DO_IRQ 159 bool 160 def_bool y 161 162if OPROFILE 163 164config OPROFILE_ARMV6 165 def_bool y 166 depends on CPU_V6 && !SMP 167 select OPROFILE_ARM11_CORE 168 169config OPROFILE_MPCORE 170 def_bool y 171 depends on CPU_V6 && SMP 172 select OPROFILE_ARM11_CORE 173 174config OPROFILE_ARM11_CORE 175 bool 176 177config OPROFILE_ARMV7 178 def_bool y 179 depends on CPU_V7 && !SMP 180 bool 181 182endif 183 184config VECTORS_BASE 185 hex 186 default 0xffff0000 if MMU || CPU_HIGH_VECTOR 187 default DRAM_BASE if REMAP_VECTORS_TO_RAM 188 default 0x00000000 189 help 190 The base address of exception vectors. 191 192source "init/Kconfig" 193 194source "kernel/Kconfig.freezer" 195 196menu "System Type" 197 198choice 199 prompt "ARM system type" 200 default ARCH_VERSATILE 201 202config ARCH_AAEC2000 203 bool "Agilent AAEC-2000 based" 204 select ARM_AMBA 205 select HAVE_CLK 206 help 207 This enables support for systems based on the Agilent AAEC-2000 208 209config ARCH_INTEGRATOR 210 bool "ARM Ltd. Integrator family" 211 select ARM_AMBA 212 select HAVE_CLK 213 select ICST525 214 help 215 Support for ARM's Integrator platform. 216 217config ARCH_REALVIEW 218 bool "ARM Ltd. RealView family" 219 select ARM_AMBA 220 select HAVE_CLK 221 select ICST307 222 select GENERIC_TIME 223 select GENERIC_CLOCKEVENTS 224 help 225 This enables support for ARM Ltd RealView boards. 226 227config ARCH_VERSATILE 228 bool "ARM Ltd. Versatile family" 229 select ARM_AMBA 230 select ARM_VIC 231 select HAVE_CLK 232 select ICST307 233 select GENERIC_TIME 234 select GENERIC_CLOCKEVENTS 235 help 236 This enables support for ARM Ltd Versatile board. 237 238config ARCH_AT91 239 bool "Atmel AT91" 240 select GENERIC_GPIO 241 select HAVE_CLK 242 help 243 This enables support for systems based on the Atmel AT91RM9200, 244 AT91SAM9 and AT91CAP9 processors. 245 246config ARCH_CLPS7500 247 bool "Cirrus CL-PS7500FE" 248 select TIMER_ACORN 249 select ISA 250 select NO_IOPORT 251 select ARCH_SPARSEMEM_ENABLE 252 help 253 Support for the Cirrus Logic PS7500FE system-on-a-chip. 254 255config ARCH_CLPS711X 256 bool "Cirrus Logic CLPS711x/EP721x-based" 257 help 258 Support for Cirrus Logic 711x/721x based boards. 259 260config ARCH_EBSA110 261 bool "EBSA-110" 262 select ISA 263 select NO_IOPORT 264 help 265 This is an evaluation board for the StrongARM processor available 266 from Digital. It has limited hardware on-board, including an 267 Ethernet interface, two PCMCIA sockets, two serial ports and a 268 parallel port. 269 270config ARCH_EP93XX 271 bool "EP93xx-based" 272 select ARM_AMBA 273 select ARM_VIC 274 select GENERIC_GPIO 275 select HAVE_CLK 276 select ARCH_REQUIRE_GPIOLIB 277 help 278 This enables support for the Cirrus EP93xx series of CPUs. 279 280config ARCH_FOOTBRIDGE 281 bool "FootBridge" 282 select FOOTBRIDGE 283 help 284 Support for systems based on the DC21285 companion chip 285 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. 286 287config ARCH_NETX 288 bool "Hilscher NetX based" 289 select ARM_VIC 290 help 291 This enables support for systems based on the Hilscher NetX Soc 292 293config ARCH_H720X 294 bool "Hynix HMS720x-based" 295 select ISA_DMA_API 296 help 297 This enables support for systems based on the Hynix HMS720x 298 299config ARCH_IMX 300 bool "IMX" 301 select GENERIC_GPIO 302 select GENERIC_TIME 303 select GENERIC_CLOCKEVENTS 304 help 305 Support for Motorola's i.MX family of processors (MX1, MXL). 306 307config ARCH_IOP13XX 308 bool "IOP13xx-based" 309 depends on MMU 310 select PLAT_IOP 311 select PCI 312 select ARCH_SUPPORTS_MSI 313 select VMSPLIT_1G 314 help 315 Support for Intel's IOP13XX (XScale) family of processors. 316 317config ARCH_IOP32X 318 bool "IOP32x-based" 319 depends on MMU 320 select PLAT_IOP 321 select PCI 322 select GENERIC_GPIO 323 select ARCH_REQUIRE_GPIOLIB 324 help 325 Support for Intel's 80219 and IOP32X (XScale) family of 326 processors. 327 328config ARCH_IOP33X 329 bool "IOP33x-based" 330 depends on MMU 331 select PLAT_IOP 332 select PCI 333 select GENERIC_GPIO 334 select ARCH_REQUIRE_GPIOLIB 335 help 336 Support for Intel's IOP33X (XScale) family of processors. 337 338config ARCH_IXP23XX 339 bool "IXP23XX-based" 340 depends on MMU 341 select PCI 342 help 343 Support for Intel's IXP23xx (XScale) family of processors. 344 345config ARCH_IXP2000 346 bool "IXP2400/2800-based" 347 depends on MMU 348 select PCI 349 help 350 Support for Intel's IXP2400/2800 (XScale) family of processors. 351 352config ARCH_IXP4XX 353 bool "IXP4xx-based" 354 depends on MMU 355 select GENERIC_GPIO 356 select GENERIC_TIME 357 select GENERIC_CLOCKEVENTS 358 select DMABOUNCE if PCI 359 help 360 Support for Intel's IXP4XX (XScale) family of processors. 361 362config ARCH_L7200 363 bool "LinkUp-L7200" 364 select FIQ 365 help 366 Say Y here if you intend to run this kernel on a LinkUp Systems 367 L7200 Software Development Board which uses an ARM720T processor. 368 Information on this board can be obtained at: 369 370 <http://www.linkupsys.com/> 371 372 If you have any questions or comments about the Linux kernel port 373 to this board, send e-mail to <sjhill@cotw.com>. 374 375config ARCH_KIRKWOOD 376 bool "Marvell Kirkwood" 377 select PCI 378 select GENERIC_TIME 379 select GENERIC_CLOCKEVENTS 380 select PLAT_ORION 381 help 382 Support for the following Marvell Kirkwood series SoCs: 383 88F6180, 88F6192 and 88F6281. 384 385config ARCH_KS8695 386 bool "Micrel/Kendin KS8695" 387 select GENERIC_GPIO 388 help 389 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based 390 System-on-Chip devices. 391 392config ARCH_NS9XXX 393 bool "NetSilicon NS9xxx" 394 select GENERIC_GPIO 395 select GENERIC_TIME 396 select GENERIC_CLOCKEVENTS 397 select HAVE_CLK 398 help 399 Say Y here if you intend to run this kernel on a NetSilicon NS9xxx 400 System. 401 402 <http://www.digi.com/products/microprocessors/index.jsp> 403 404config ARCH_LOKI 405 bool "Marvell Loki (88RC8480)" 406 select GENERIC_TIME 407 select GENERIC_CLOCKEVENTS 408 select PLAT_ORION 409 help 410 Support for the Marvell Loki (88RC8480) SoC. 411 412config ARCH_MV78XX0 413 bool "Marvell MV78xx0" 414 select PCI 415 select GENERIC_TIME 416 select GENERIC_CLOCKEVENTS 417 select PLAT_ORION 418 help 419 Support for the following Marvell MV78xx0 series SoCs: 420 MV781x0, MV782x0. 421 422config ARCH_MXC 423 bool "Freescale MXC/iMX-based" 424 select GENERIC_TIME 425 select GENERIC_CLOCKEVENTS 426 select ARCH_MTD_XIP 427 select GENERIC_GPIO 428 select ARCH_REQUIRE_GPIOLIB 429 help 430 Support for Freescale MXC/iMX-based family of processors 431 432config ARCH_ORION5X 433 bool "Marvell Orion" 434 depends on MMU 435 select PCI 436 select GENERIC_GPIO 437 select GENERIC_TIME 438 select GENERIC_CLOCKEVENTS 439 select PLAT_ORION 440 help 441 Support for the following Marvell Orion 5x series SoCs: 442 Orion-1 (5181), Orion-VoIP (5181L), Orion-NAS (5182), 443 Orion-2 (5281), Orion-1-90 (6183). 444 445config ARCH_PNX4008 446 bool "Philips Nexperia PNX4008 Mobile" 447 select HAVE_CLK 448 help 449 This enables support for Philips PNX4008 mobile platform. 450 451config ARCH_PXA 452 bool "PXA2xx/PXA3xx-based" 453 depends on MMU 454 select ARCH_MTD_XIP 455 select GENERIC_GPIO 456 select HAVE_CLK 457 select ARCH_REQUIRE_GPIOLIB 458 select GENERIC_TIME 459 select GENERIC_CLOCKEVENTS 460 select TICK_ONESHOT 461 help 462 Support for Intel/Marvell's PXA2xx/PXA3xx processor line. 463 464config ARCH_RPC 465 bool "RiscPC" 466 select ARCH_ACORN 467 select FIQ 468 select TIMER_ACORN 469 select ARCH_MAY_HAVE_PC_FDC 470 select HAVE_PATA_PLATFORM 471 select ISA_DMA_API 472 select NO_IOPORT 473 select ARCH_SPARSEMEM_ENABLE 474 help 475 On the Acorn Risc-PC, Linux can support the internal IDE disk and 476 CD-ROM interface, serial and parallel port, and the floppy drive. 477 478config ARCH_SA1100 479 bool "SA1100-based" 480 select ISA 481 select ARCH_SPARSEMEM_ENABLE 482 select ARCH_MTD_XIP 483 select GENERIC_GPIO 484 select GENERIC_TIME 485 select GENERIC_CLOCKEVENTS 486 select HAVE_CLK 487 select TICK_ONESHOT 488 select ARCH_REQUIRE_GPIOLIB 489 help 490 Support for StrongARM 11x0 based boards. 491 492config ARCH_S3C2410 493 bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443" 494 select GENERIC_GPIO 495 select HAVE_CLK 496 help 497 Samsung S3C2410X CPU based systems, such as the Simtec Electronics 498 BAST (<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or 499 the Samsung SMDK2410 development board (and derivatives). 500 501config ARCH_SHARK 502 bool "Shark" 503 select ISA 504 select ISA_DMA 505 select ZONE_DMA 506 select PCI 507 help 508 Support for the StrongARM based Digital DNARD machine, also known 509 as "Shark" (<http://www.shark-linux.de/shark.html>). 510 511config ARCH_LH7A40X 512 bool "Sharp LH7A40X" 513 select ARCH_DISCONTIGMEM_ENABLE if !LH7A40X_CONTIGMEM 514 select ARCH_SPARSEMEM_ENABLE if !LH7A40X_CONTIGMEM 515 help 516 Say Y here for systems based on one of the Sharp LH7A40X 517 System on a Chip processors. These CPUs include an ARM922T 518 core with a wide array of integrated devices for 519 hand-held and low-power applications. 520 521config ARCH_DAVINCI 522 bool "TI DaVinci" 523 select GENERIC_TIME 524 select GENERIC_CLOCKEVENTS 525 select GENERIC_GPIO 526 select ARCH_REQUIRE_GPIOLIB 527 select HAVE_CLK 528 select ZONE_DMA 529 help 530 Support for TI's DaVinci platform. 531 532config ARCH_OMAP 533 bool "TI OMAP" 534 select GENERIC_GPIO 535 select HAVE_CLK 536 select ARCH_REQUIRE_GPIOLIB 537 select GENERIC_TIME 538 select GENERIC_CLOCKEVENTS 539 help 540 Support for TI's OMAP platform (OMAP1 and OMAP2). 541 542config ARCH_MSM 543 bool "Qualcomm MSM" 544 select GENERIC_TIME 545 select GENERIC_CLOCKEVENTS 546 help 547 Support for Qualcomm MSM7K based systems. This runs on the ARM11 548 apps processor of the MSM7K and depends on a shared memory 549 interface to the ARM9 modem processor which runs the baseband stack 550 and controls some vital subsystems (clock and power control, etc). 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/uwb/Kconfig" 1258 1259source "drivers/mmc/Kconfig" 1260 1261source "drivers/memstick/Kconfig" 1262 1263source "drivers/accessibility/Kconfig" 1264 1265source "drivers/leds/Kconfig" 1266 1267source "drivers/rtc/Kconfig" 1268 1269source "drivers/dma/Kconfig" 1270 1271source "drivers/dca/Kconfig" 1272 1273source "drivers/auxdisplay/Kconfig" 1274 1275source "drivers/regulator/Kconfig" 1276 1277source "drivers/uio/Kconfig" 1278 1279endmenu 1280 1281source "fs/Kconfig" 1282 1283source "arch/arm/Kconfig.debug" 1284 1285source "security/Kconfig" 1286 1287source "crypto/Kconfig" 1288 1289source "lib/Kconfig" 1290