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