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