1# For a description of the syntax of this configuration file, 2# see Documentation/kbuild/kconfig-language.txt. 3# 4 5mainmenu "Linux/PowerPC Kernel Configuration" 6 7config PPC64 8 bool "64-bit kernel" 9 default n 10 help 11 This option selects whether a 32-bit or a 64-bit kernel 12 will be built. 13 14config PPC32 15 bool 16 default y if !PPC64 17 18config 64BIT 19 bool 20 default y if PPC64 21 22config PPC_MERGE 23 def_bool y 24 25config MMU 26 bool 27 default y 28 29config GENERIC_HARDIRQS 30 bool 31 default y 32 33config IRQ_PER_CPU 34 bool 35 default y 36 37config RWSEM_GENERIC_SPINLOCK 38 bool 39 40config RWSEM_XCHGADD_ALGORITHM 41 bool 42 default y 43 44config ARCH_HAS_ILOG2_U32 45 bool 46 default y 47 48config ARCH_HAS_ILOG2_U64 49 bool 50 default y if 64BIT 51 52config GENERIC_HWEIGHT 53 bool 54 default y 55 56config GENERIC_CALIBRATE_DELAY 57 bool 58 default y 59 60config GENERIC_FIND_NEXT_BIT 61 bool 62 default y 63 64config PPC 65 bool 66 default y 67 68config EARLY_PRINTK 69 bool 70 default y 71 72config COMPAT 73 bool 74 default y if PPC64 75 76config SYSVIPC_COMPAT 77 bool 78 depends on COMPAT && SYSVIPC 79 default y 80 81# All PPC32s use generic nvram driver through ppc_md 82config GENERIC_NVRAM 83 bool 84 default y if PPC32 85 86config SCHED_NO_NO_OMIT_FRAME_POINTER 87 bool 88 default y 89 90config ARCH_MAY_HAVE_PC_FDC 91 bool 92 default !PPC_PSERIES || PCI 93 94config PPC_OF 95 def_bool y 96 97config PPC_UDBG_16550 98 bool 99 default n 100 101config GENERIC_TBSYNC 102 bool 103 default y if PPC32 && SMP 104 default n 105 106config AUDIT_ARCH 107 bool 108 default y 109 110config GENERIC_BUG 111 bool 112 default y 113 depends on BUG 114 115config DEFAULT_UIMAGE 116 bool 117 help 118 Used to allow a board to specify it wants a uImage built by default 119 default n 120 121menu "Processor support" 122choice 123 prompt "Processor Type" 124 depends on PPC32 125 default 6xx 126 127config CLASSIC32 128 bool "52xx/6xx/7xx/74xx" 129 select PPC_FPU 130 select 6xx 131 help 132 There are four families of PowerPC chips supported. The more common 133 types (601, 603, 604, 740, 750, 7400), the Motorola embedded 134 versions (821, 823, 850, 855, 860, 52xx, 82xx, 83xx), the AMCC 135 embedded versions (403 and 405) and the high end 64 bit Power 136 processors (POWER 3, POWER4, and IBM PPC970 also known as G5). 137 138 This option is the catch-all for 6xx types, including some of the 139 embedded versions. Unless there is see an option for the specific 140 chip family you are using, you want this option. 141 142 You do not want this if you are building a kernel for a 64 bit 143 IBM RS/6000 or an Apple G5, choose 6xx. 144 145 If unsure, select this option 146 147 Note that the kernel runs in 32-bit mode even on 64-bit chips. 148 149config PPC_82xx 150 bool "Freescale 82xx" 151 select 6xx 152 select PPC_FPU 153 154config PPC_83xx 155 bool "Freescale 83xx" 156 select 6xx 157 select FSL_SOC 158 select 83xx 159 select PPC_FPU 160 161config PPC_85xx 162 bool "Freescale 85xx" 163 select E500 164 select FSL_SOC 165 select 85xx 166 167config PPC_86xx 168 bool "Freescale 86xx" 169 select 6xx 170 select FSL_SOC 171 select PPC_FPU 172 select ALTIVEC 173 help 174 The Freescale E600 SoCs have 74xx cores. 175 176config PPC_8xx 177 bool "Freescale 8xx" 178 select FSL_SOC 179 select 8xx 180 181config 40x 182 bool "AMCC 40x" 183 select PPC_DCR_NATIVE 184 185config 44x 186 bool "AMCC 44x" 187 select PPC_DCR_NATIVE 188 189 190config E200 191 bool "Freescale e200" 192 193endchoice 194 195config POWER4_ONLY 196 bool "Optimize for POWER4" 197 depends on PPC64 198 default n 199 ---help--- 200 Cause the compiler to optimize for POWER4/POWER5/PPC970 processors. 201 The resulting binary will not work on POWER3 or RS64 processors 202 when compiled with binutils 2.15 or later. 203 204config POWER3 205 bool 206 depends on PPC64 207 default y if !POWER4_ONLY 208 209config POWER4 210 depends on PPC64 211 def_bool y 212 213config 6xx 214 bool 215 216# this is temp to handle compat with arch=ppc 217config 8xx 218 bool 219 220# this is temp to handle compat with arch=ppc 221config 83xx 222 bool 223 224# this is temp to handle compat with arch=ppc 225config 85xx 226 bool 227 228config E500 229 bool 230 231config PPC_FPU 232 bool 233 default y if PPC64 234 235config PPC_DCR_NATIVE 236 bool 237 default n 238 239config PPC_DCR_MMIO 240 bool 241 default n 242 243config PPC_DCR 244 bool 245 depends on PPC_DCR_NATIVE || PPC_DCR_MMIO 246 default y 247 248config PPC_OF_PLATFORM_PCI 249 bool 250 depends on PPC64 # not supported on 32 bits yet 251 default n 252 253config BOOKE 254 bool 255 depends on E200 || E500 256 default y 257 258config FSL_BOOKE 259 bool 260 depends on E200 || E500 261 default y 262 263config PTE_64BIT 264 bool 265 depends on 44x || E500 266 default y if 44x 267 default y if E500 && PHYS_64BIT 268 269config PHYS_64BIT 270 bool 'Large physical address support' if E500 271 depends on 44x || E500 272 select RESOURCES_64BIT 273 default y if 44x 274 ---help--- 275 This option enables kernel support for larger than 32-bit physical 276 addresses. This features is not be available on all e500 cores. 277 278 If in doubt, say N here. 279 280config ALTIVEC 281 bool "AltiVec Support" 282 depends on CLASSIC32 || POWER4 283 ---help--- 284 This option enables kernel support for the Altivec extensions to the 285 PowerPC processor. The kernel currently supports saving and restoring 286 altivec registers, and turning on the 'altivec enable' bit so user 287 processes can execute altivec instructions. 288 289 This option is only usefully if you have a processor that supports 290 altivec (G4, otherwise known as 74xx series), but does not have 291 any affect on a non-altivec cpu (it does, however add code to the 292 kernel). 293 294 If in doubt, say Y here. 295 296config SPE 297 bool "SPE Support" 298 depends on E200 || E500 299 default y 300 ---help--- 301 This option enables kernel support for the Signal Processing 302 Extensions (SPE) to the PowerPC processor. The kernel currently 303 supports saving and restoring SPE registers, and turning on the 304 'spe enable' bit so user processes can execute SPE instructions. 305 306 This option is only useful if you have a processor that supports 307 SPE (e500, otherwise known as 85xx series), but does not have any 308 effect on a non-spe cpu (it does, however add code to the kernel). 309 310 If in doubt, say Y here. 311 312config PPC_STD_MMU 313 bool 314 depends on 6xx || POWER3 || POWER4 || PPC64 315 default y 316 317config PPC_STD_MMU_32 318 def_bool y 319 depends on PPC_STD_MMU && PPC32 320 321config VIRT_CPU_ACCOUNTING 322 bool "Deterministic task and CPU time accounting" 323 depends on PPC64 324 default y 325 help 326 Select this option to enable more accurate task and CPU time 327 accounting. This is done by reading a CPU counter on each 328 kernel entry and exit and on transitions within the kernel 329 between system, softirq and hardirq state, so there is a 330 small performance impact. This also enables accounting of 331 stolen time on logically-partitioned systems running on 332 IBM POWER5-based machines. 333 334 If in doubt, say Y here. 335 336config SMP 337 depends on PPC_STD_MMU 338 bool "Symmetric multi-processing support" 339 ---help--- 340 This enables support for systems with more than one CPU. If you have 341 a system with only one CPU, say N. If you have a system with more 342 than one CPU, say Y. Note that the kernel does not currently 343 support SMP machines with 603/603e/603ev or PPC750 ("G3") processors 344 since they have inadequate hardware support for multiprocessor 345 operation. 346 347 If you say N here, the kernel will run on single and multiprocessor 348 machines, but will use only one CPU of a multiprocessor machine. If 349 you say Y here, the kernel will run on single-processor machines. 350 On a single-processor machine, the kernel will run faster if you say 351 N here. 352 353 If you don't know what to do here, say N. 354 355config NR_CPUS 356 int "Maximum number of CPUs (2-128)" 357 range 2 128 358 depends on SMP 359 default "32" if PPC64 360 default "4" 361 362config NOT_COHERENT_CACHE 363 bool 364 depends on 4xx || 8xx || E200 365 default y 366endmenu 367 368source "init/Kconfig" 369 370menu "Platform support" 371 depends on PPC64 || CLASSIC32 372 373choice 374 prompt "Machine type" 375 default PPC_MULTIPLATFORM 376 377config PPC_MULTIPLATFORM 378 bool "Generic desktop/server/laptop" 379 help 380 Select this option if configuring for an IBM pSeries or 381 RS/6000 machine, an Apple machine, or a PReP, CHRP, 382 Maple or Cell-based machine. 383 384config EMBEDDED6xx 385 bool "Embedded 6xx/7xx/7xxx-based board" 386 depends on PPC32 && (BROKEN||BROKEN_ON_SMP) 387 388config APUS 389 bool "Amiga-APUS" 390 depends on PPC32 && BROKEN 391 help 392 Select APUS if configuring for a PowerUP Amiga. 393 More information is available at: 394 <http://linux-apus.sourceforge.net/>. 395endchoice 396 397config QUICC_ENGINE 398 bool 399 depends on PPC_MPC836x || PPC_MPC832x 400 default y 401 help 402 The QUICC Engine (QE) is a new generation of communications 403 coprocessors on Freescale embedded CPUs (akin to CPM in older chips). 404 Selecting this option means that you wish to build a kernel 405 for a machine with a QE coprocessor. 406 407config PPC_PSERIES 408 depends on PPC_MULTIPLATFORM && PPC64 409 bool "IBM pSeries & new (POWER5-based) iSeries" 410 select MPIC 411 select PPC_I8259 412 select PPC_RTAS 413 select RTAS_ERROR_LOGGING 414 select PPC_UDBG_16550 415 select PPC_NATIVE 416 default y 417 418config PPC_ISERIES 419 bool "IBM Legacy iSeries" 420 depends on PPC_MULTIPLATFORM && PPC64 421 select PPC_INDIRECT_IO 422 423config PPC_CHRP 424 bool "Common Hardware Reference Platform (CHRP) based machines" 425 depends on PPC_MULTIPLATFORM && PPC32 426 select MPIC 427 select PPC_I8259 428 select PPC_INDIRECT_PCI 429 select PPC_RTAS 430 select PPC_MPC106 431 select PPC_UDBG_16550 432 select PPC_NATIVE 433 default y 434 435source "arch/powerpc/platforms/52xx/Kconfig" 436source "arch/powerpc/platforms/powermac/Kconfig" 437 438config PPC_PREP 439 bool "PowerPC Reference Platform (PReP) based machines" 440 depends on PPC_MULTIPLATFORM && PPC32 && BROKEN 441 select MPIC 442 select PPC_I8259 443 select PPC_INDIRECT_PCI 444 select PPC_UDBG_16550 445 select PPC_NATIVE 446 default n 447 448config PPC_MAPLE 449 depends on PPC_MULTIPLATFORM && PPC64 450 bool "Maple 970FX Evaluation Board" 451 select MPIC 452 select U3_DART 453 select MPIC_BROKEN_U3 454 select GENERIC_TBSYNC 455 select PPC_UDBG_16550 456 select PPC_970_NAP 457 select PPC_NATIVE 458 select PPC_RTAS 459 select MMIO_NVRAM 460 select ATA_NONSTANDARD if ATA 461 default n 462 help 463 This option enables support for the Maple 970FX Evaluation Board. 464 For more information, refer to <http://www.970eval.com> 465 466config PPC_PASEMI 467 depends on PPC_MULTIPLATFORM && PPC64 468 bool "PA Semi SoC-based platforms" 469 default n 470 select MPIC 471 select PPC_UDBG_16550 472 select GENERIC_TBSYNC 473 select PPC_NATIVE 474 help 475 This option enables support for PA Semi's PWRficient line 476 of SoC processors, including PA6T-1682M 477 478config PPC_CELL 479 bool 480 default n 481 482config PPC_CELL_NATIVE 483 bool 484 select PPC_CELL 485 select PPC_DCR_MMIO 486 select PPC_OF_PLATFORM_PCI 487 select PPC_INDIRECT_IO 488 select PPC_NATIVE 489 select MPIC 490 default n 491 492config PPC_IBM_CELL_BLADE 493 bool "IBM Cell Blade" 494 depends on PPC_MULTIPLATFORM && PPC64 495 select PPC_CELL_NATIVE 496 select PPC_RTAS 497 select MMIO_NVRAM 498 select PPC_UDBG_16550 499 select UDBG_RTAS_CONSOLE 500 501config PPC_PS3 502 bool "Sony PS3 (incomplete)" 503 depends on PPC_MULTIPLATFORM && PPC64 504 select PPC_CELL 505 select USB_ARCH_HAS_OHCI 506 select USB_OHCI_LITTLE_ENDIAN 507 select USB_OHCI_BIG_ENDIAN_MMIO 508 select USB_ARCH_HAS_EHCI 509 select USB_EHCI_BIG_ENDIAN_MMIO 510 help 511 This option enables support for the Sony PS3 game console 512 and other platforms using the PS3 hypervisor. 513 Support for this platform is not yet complete, so 514 enabling this will not result in a bootable kernel on a 515 PS3 system. 516 517config PPC_CELLEB 518 bool "Toshiba's Cell Reference Set 'Celleb' Architecture" 519 depends on PPC_MULTIPLATFORM && PPC64 520 select PPC_CELL 521 select PPC_OF_PLATFORM_PCI 522 select HAS_TXX9_SERIAL 523 select PPC_UDBG_BEAT 524 select USB_OHCI_BIG_ENDIAN_MMIO 525 select USB_EHCI_BIG_ENDIAN_MMIO 526 527config PPC_NATIVE 528 bool 529 depends on PPC_MULTIPLATFORM 530 help 531 Support for running natively on the hardware, i.e. without 532 a hypervisor. This option is not user-selectable but should 533 be selected by all platforms that need it. 534 535config UDBG_RTAS_CONSOLE 536 bool "RTAS based debug console" 537 depends on PPC_RTAS 538 default n 539 540config PPC_UDBG_BEAT 541 bool "BEAT based debug console" 542 depends on PPC_CELLEB 543 default n 544 545config XICS 546 depends on PPC_PSERIES 547 bool 548 default y 549 550config U3_DART 551 bool 552 depends on PPC_MULTIPLATFORM && PPC64 553 default n 554 555config PPC_RTAS 556 bool 557 default n 558 559config RTAS_ERROR_LOGGING 560 bool 561 depends on PPC_RTAS 562 default n 563 564config RTAS_PROC 565 bool "Proc interface to RTAS" 566 depends on PPC_RTAS 567 default y 568 569config RTAS_FLASH 570 tristate "Firmware flash interface" 571 depends on PPC64 && RTAS_PROC 572 573config PPC_PMI 574 tristate "Support for PMI" 575 depends PPC_IBM_CELL_BLADE 576 help 577 PMI (Platform Management Interrupt) is a way to 578 communicate with the BMC (Baseboard Mangement Controller). 579 It is used in some IBM Cell blades. 580 default m 581 582config MMIO_NVRAM 583 bool 584 default n 585 586config MPIC_BROKEN_U3 587 bool 588 depends on PPC_MAPLE 589 default y 590 591config IBMVIO 592 depends on PPC_PSERIES || PPC_ISERIES 593 bool 594 default y 595 596config IBMEBUS 597 depends on PPC_PSERIES 598 bool "Support for GX bus based adapters" 599 help 600 Bus device driver for GX bus based adapters. 601 602config PPC_MPC106 603 bool 604 default n 605 606config PPC_970_NAP 607 bool 608 default n 609 610config PPC_INDIRECT_IO 611 bool 612 select GENERIC_IOMAP 613 default n 614 615config GENERIC_IOMAP 616 bool 617 default n 618 619source "drivers/cpufreq/Kconfig" 620 621config CPU_FREQ_PMAC 622 bool "Support for Apple PowerBooks" 623 depends on CPU_FREQ && ADB_PMU && PPC32 624 select CPU_FREQ_TABLE 625 help 626 This adds support for frequency switching on Apple PowerBooks, 627 this currently includes some models of iBook & Titanium 628 PowerBook. 629 630config CPU_FREQ_PMAC64 631 bool "Support for some Apple G5s" 632 depends on CPU_FREQ && PPC64 633 select CPU_FREQ_TABLE 634 help 635 This adds support for frequency switching on Apple iMac G5, 636 and some of the more recent desktop G5 machines as well. 637 638config PPC601_SYNC_FIX 639 bool "Workarounds for PPC601 bugs" 640 depends on 6xx && (PPC_PREP || PPC_PMAC) 641 help 642 Some versions of the PPC601 (the first PowerPC chip) have bugs which 643 mean that extra synchronization instructions are required near 644 certain instructions, typically those that make major changes to the 645 CPU state. These extra instructions reduce performance slightly. 646 If you say N here, these extra instructions will not be included, 647 resulting in a kernel which will run faster but may not run at all 648 on some systems with the PPC601 chip. 649 650 If in doubt, say Y here. 651 652config TAU 653 bool "On-chip CPU temperature sensor support" 654 depends on 6xx 655 help 656 G3 and G4 processors have an on-chip temperature sensor called the 657 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die 658 temperature within 2-4 degrees Celsius. This option shows the current 659 on-die temperature in /proc/cpuinfo if the cpu supports it. 660 661 Unfortunately, on some chip revisions, this sensor is very inaccurate 662 and in many cases, does not work at all, so don't assume the cpu 663 temp is actually what /proc/cpuinfo says it is. 664 665config TAU_INT 666 bool "Interrupt driven TAU driver (DANGEROUS)" 667 depends on TAU 668 ---help--- 669 The TAU supports an interrupt driven mode which causes an interrupt 670 whenever the temperature goes out of range. This is the fastest way 671 to get notified the temp has exceeded a range. With this option off, 672 a timer is used to re-check the temperature periodically. 673 674 However, on some cpus it appears that the TAU interrupt hardware 675 is buggy and can cause a situation which would lead unexplained hard 676 lockups. 677 678 Unless you are extending the TAU driver, or enjoy kernel/hardware 679 debugging, leave this option off. 680 681config TAU_AVERAGE 682 bool "Average high and low temp" 683 depends on TAU 684 ---help--- 685 The TAU hardware can compare the temperature to an upper and lower 686 bound. The default behavior is to show both the upper and lower 687 bound in /proc/cpuinfo. If the range is large, the temperature is 688 either changing a lot, or the TAU hardware is broken (likely on some 689 G4's). If the range is small (around 4 degrees), the temperature is 690 relatively stable. If you say Y here, a single temperature value, 691 halfway between the upper and lower bounds, will be reported in 692 /proc/cpuinfo. 693 694 If in doubt, say N here. 695 696endmenu 697 698source arch/powerpc/platforms/embedded6xx/Kconfig 699source arch/powerpc/platforms/4xx/Kconfig 700source arch/powerpc/platforms/82xx/Kconfig 701source arch/powerpc/platforms/83xx/Kconfig 702source arch/powerpc/platforms/85xx/Kconfig 703source arch/powerpc/platforms/86xx/Kconfig 704source arch/powerpc/platforms/8xx/Kconfig 705source arch/powerpc/platforms/cell/Kconfig 706source arch/powerpc/platforms/ps3/Kconfig 707source arch/powerpc/platforms/pasemi/Kconfig 708 709menu "Kernel options" 710 711config HIGHMEM 712 bool "High memory support" 713 depends on PPC32 714 715source kernel/Kconfig.hz 716source kernel/Kconfig.preempt 717source "fs/Kconfig.binfmt" 718 719# We optimistically allocate largepages from the VM, so make the limit 720# large enough (16MB). This badly named config option is actually 721# max order + 1 722config FORCE_MAX_ZONEORDER 723 int 724 depends on PPC64 725 default "9" if PPC_64K_PAGES 726 default "13" 727 728config MATH_EMULATION 729 bool "Math emulation" 730 depends on 4xx || 8xx || E200 || PPC_MPC832x || E500 731 ---help--- 732 Some PowerPC chips designed for embedded applications do not have 733 a floating-point unit and therefore do not implement the 734 floating-point instructions in the PowerPC instruction set. If you 735 say Y here, the kernel will include code to emulate a floating-point 736 unit, which will allow programs that use floating-point 737 instructions to run. 738 739config IOMMU_VMERGE 740 bool "Enable IOMMU virtual merging (EXPERIMENTAL)" 741 depends on EXPERIMENTAL && PPC64 742 default n 743 help 744 Cause IO segments sent to a device for DMA to be merged virtually 745 by the IOMMU when they happen to have been allocated contiguously. 746 This doesn't add pressure to the IOMMU allocator. However, some 747 drivers don't support getting large merged segments coming back 748 from *_map_sg(). Say Y if you know the drivers you are using are 749 properly handling this case. 750 751config HOTPLUG_CPU 752 bool "Support for enabling/disabling CPUs" 753 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC) 754 ---help--- 755 Say Y here to be able to disable and re-enable individual 756 CPUs at runtime on SMP machines. 757 758 Say N if you are unsure. 759 760config ARCH_ENABLE_MEMORY_HOTPLUG 761 def_bool y 762 763config KEXEC 764 bool "kexec system call (EXPERIMENTAL)" 765 depends on PPC_MULTIPLATFORM && EXPERIMENTAL 766 help 767 kexec is a system call that implements the ability to shutdown your 768 current kernel, and to start another kernel. It is like a reboot 769 but it is independent of the system firmware. And like a reboot 770 you can start any kernel with it, not just Linux. 771 772 The name comes from the similarity to the exec system call. 773 774 It is an ongoing process to be certain the hardware in a machine 775 is properly shutdown, so do not be surprised if this code does not 776 initially work for you. It may help to enable device hotplugging 777 support. As of this writing the exact hardware interface is 778 strongly in flux, so no good recommendation can be made. 779 780config CRASH_DUMP 781 bool "Build a kdump crash kernel (EXPERIMENTAL)" 782 depends on PPC_MULTIPLATFORM && PPC64 && EXPERIMENTAL 783 help 784 Build a kernel suitable for use as a kdump capture kernel. 785 The kernel will be linked at a different address than normal, and 786 so can only be used for Kdump. 787 788 Don't change this unless you know what you are doing. 789 790config EMBEDDEDBOOT 791 bool 792 depends on 8xx || 8260 793 default y 794 795config PC_KEYBOARD 796 bool "PC PS/2 style Keyboard" 797 depends on 4xx || CPM2 798 799config PPCBUG_NVRAM 800 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC 801 default y if PPC_PREP 802 803config IRQ_ALL_CPUS 804 bool "Distribute interrupts on all CPUs by default" 805 depends on SMP && !MV64360 806 help 807 This option gives the kernel permission to distribute IRQs across 808 multiple CPUs. Saying N here will route all IRQs to the first 809 CPU. Generally saying Y is safe, although some problems have been 810 reported with SMP Power Macintoshes with this option enabled. 811 812source "arch/powerpc/platforms/pseries/Kconfig" 813 814config NUMA 815 bool "NUMA support" 816 depends on PPC64 817 default y if SMP && PPC_PSERIES 818 819config NODES_SHIFT 820 int 821 default "4" 822 depends on NEED_MULTIPLE_NODES 823 824config ARCH_SELECT_MEMORY_MODEL 825 def_bool y 826 depends on PPC64 827 828config ARCH_FLATMEM_ENABLE 829 def_bool y 830 depends on (PPC64 && !NUMA) || PPC32 831 832config ARCH_SPARSEMEM_ENABLE 833 def_bool y 834 depends on PPC64 835 836config ARCH_SPARSEMEM_DEFAULT 837 def_bool y 838 depends on (SMP && PPC_PSERIES) || PPC_PS3 839 840config ARCH_POPULATES_NODE_MAP 841 def_bool y 842 843source "mm/Kconfig" 844 845config ARCH_MEMORY_PROBE 846 def_bool y 847 depends on MEMORY_HOTPLUG 848 849# Some NUMA nodes have memory ranges that span 850# other nodes. Even though a pfn is valid and 851# between a node's start and end pfns, it may not 852# reside on that node. See memmap_init_zone() 853# for details. 854config NODES_SPAN_OTHER_NODES 855 def_bool y 856 depends on NEED_MULTIPLE_NODES 857 858config PPC_64K_PAGES 859 bool "64k page size" 860 depends on PPC64 861 help 862 This option changes the kernel logical page size to 64k. On machines 863 without processor support for 64k pages, the kernel will simulate 864 them by loading each individual 4k page on demand transparently, 865 while on hardware with such support, it will be used to map 866 normal application pages. 867 868config SCHED_SMT 869 bool "SMT (Hyperthreading) scheduler support" 870 depends on PPC64 && SMP 871 help 872 SMT scheduler support improves the CPU scheduler's decision making 873 when dealing with POWER5 cpus at a cost of slightly increased 874 overhead in some places. If unsure say N here. 875 876config PROC_DEVICETREE 877 bool "Support for device tree in /proc" 878 depends on PROC_FS 879 help 880 This option adds a device-tree directory under /proc which contains 881 an image of the device tree that the kernel copies from Open 882 Firmware or other boot firmware. If unsure, say Y here. 883 884source "arch/powerpc/platforms/prep/Kconfig" 885 886config CMDLINE_BOOL 887 bool "Default bootloader kernel arguments" 888 889config CMDLINE 890 string "Initial kernel command string" 891 depends on CMDLINE_BOOL 892 default "console=ttyS0,9600 console=tty0 root=/dev/sda2" 893 help 894 On some platforms, there is currently no way for the boot loader to 895 pass arguments to the kernel. For these platforms, you can supply 896 some command-line options at build time by entering them here. In 897 most cases you will need to specify the root device here. 898 899if !44x || BROKEN 900source kernel/power/Kconfig 901endif 902 903config SECCOMP 904 bool "Enable seccomp to safely compute untrusted bytecode" 905 depends on PROC_FS 906 default y 907 help 908 This kernel feature is useful for number crunching applications 909 that may need to compute untrusted bytecode during their 910 execution. By using pipes or other transports made available to 911 the process as file descriptors supporting the read/write 912 syscalls, it's possible to isolate those applications in 913 their own address space using seccomp. Once seccomp is 914 enabled via /proc/<pid>/seccomp, it cannot be disabled 915 and the task is only allowed to execute a few safe syscalls 916 defined by each seccomp mode. 917 918 If unsure, say Y. Only embedded should say N here. 919 920endmenu 921 922config ISA_DMA_API 923 bool 924 default y 925 926menu "Bus options" 927 928config ISA 929 bool "Support for ISA-bus hardware" 930 depends on PPC_PREP || PPC_CHRP 931 select PPC_I8259 932 help 933 Find out whether you have ISA slots on your motherboard. ISA is the 934 name of a bus system, i.e. the way the CPU talks to the other stuff 935 inside your box. If you have an Apple machine, say N here; if you 936 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If 937 you have an embedded board, consult your board documentation. 938 939config ZONE_DMA 940 bool 941 default y 942 943config GENERIC_ISA_DMA 944 bool 945 depends on PPC64 || POWER4 || 6xx && !CPM2 946 default y 947 948config MPIC 949 bool 950 default n 951 952config MPIC_WEIRD 953 bool 954 default n 955 956config PPC_I8259 957 bool 958 default n 959 960config PPC_INDIRECT_PCI 961 bool 962 depends on PCI 963 default y if 40x || 44x 964 default n 965 966config EISA 967 bool 968 969config SBUS 970 bool 971 972config FSL_SOC 973 bool 974 975# Yes MCA RS/6000s exist but Linux-PPC does not currently support any 976config MCA 977 bool 978 979config PCI 980 bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \ 981 || PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \ 982 || MPC7448HPC2 || PPC_PS3 983 default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \ 984 && !PPC_85xx && !PPC_86xx 985 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS 986 default PCI_QSPAN if !4xx && !CPM2 && 8xx 987 help 988 Find out whether your system includes a PCI bus. PCI is the name of 989 a bus system, i.e. the way the CPU talks to the other stuff inside 990 your box. If you say Y here, the kernel will include drivers and 991 infrastructure code to support PCI bus devices. 992 993config PCI_DOMAINS 994 bool 995 default PCI 996 997config PCI_QSPAN 998 bool "QSpan PCI" 999 depends on !4xx && !CPM2 && 8xx 1000 select PPC_I8259 1001 help 1002 Say Y here if you have a system based on a Motorola 8xx-series 1003 embedded processor with a QSPAN PCI interface, otherwise say N. 1004 1005config PCI_8260 1006 bool 1007 depends on PCI && 8260 1008 select PPC_INDIRECT_PCI 1009 default y 1010 1011config 8260_PCI9 1012 bool "Enable workaround for MPC826x erratum PCI 9" 1013 depends on PCI_8260 && !ADS8272 1014 default y 1015 1016choice 1017 prompt "IDMA channel for PCI 9 workaround" 1018 depends on 8260_PCI9 1019 1020config 8260_PCI9_IDMA1 1021 bool "IDMA1" 1022 1023config 8260_PCI9_IDMA2 1024 bool "IDMA2" 1025 1026config 8260_PCI9_IDMA3 1027 bool "IDMA3" 1028 1029config 8260_PCI9_IDMA4 1030 bool "IDMA4" 1031 1032endchoice 1033 1034source "drivers/pci/pcie/Kconfig" 1035 1036source "drivers/pci/Kconfig" 1037 1038source "drivers/pcmcia/Kconfig" 1039 1040source "drivers/pci/hotplug/Kconfig" 1041 1042endmenu 1043 1044menu "Advanced setup" 1045 depends on PPC32 1046 1047config ADVANCED_OPTIONS 1048 bool "Prompt for advanced kernel configuration options" 1049 help 1050 This option will enable prompting for a variety of advanced kernel 1051 configuration options. These options can cause the kernel to not 1052 work if they are set incorrectly, but can be used to optimize certain 1053 aspects of kernel memory management. 1054 1055 Unless you know what you are doing, say N here. 1056 1057comment "Default settings for advanced configuration options are used" 1058 depends on !ADVANCED_OPTIONS 1059 1060config HIGHMEM_START_BOOL 1061 bool "Set high memory pool address" 1062 depends on ADVANCED_OPTIONS && HIGHMEM 1063 help 1064 This option allows you to set the base address of the kernel virtual 1065 area used to map high memory pages. This can be useful in 1066 optimizing the layout of kernel virtual memory. 1067 1068 Say N here unless you know what you are doing. 1069 1070config HIGHMEM_START 1071 hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL 1072 default "0xfe000000" 1073 1074config LOWMEM_SIZE_BOOL 1075 bool "Set maximum low memory" 1076 depends on ADVANCED_OPTIONS 1077 help 1078 This option allows you to set the maximum amount of memory which 1079 will be used as "low memory", that is, memory which the kernel can 1080 access directly, without having to set up a kernel virtual mapping. 1081 This can be useful in optimizing the layout of kernel virtual 1082 memory. 1083 1084 Say N here unless you know what you are doing. 1085 1086config LOWMEM_SIZE 1087 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL 1088 default "0x30000000" 1089 1090config KERNEL_START_BOOL 1091 bool "Set custom kernel base address" 1092 depends on ADVANCED_OPTIONS 1093 help 1094 This option allows you to set the kernel virtual address at which 1095 the kernel will map low memory (the kernel image will be linked at 1096 this address). This can be useful in optimizing the virtual memory 1097 layout of the system. 1098 1099 Say N here unless you know what you are doing. 1100 1101config KERNEL_START 1102 hex "Virtual address of kernel base" if KERNEL_START_BOOL 1103 default "0xc0000000" 1104 1105config TASK_SIZE_BOOL 1106 bool "Set custom user task size" 1107 depends on ADVANCED_OPTIONS 1108 help 1109 This option allows you to set the amount of virtual address space 1110 allocated to user tasks. This can be useful in optimizing the 1111 virtual memory layout of the system. 1112 1113 Say N here unless you know what you are doing. 1114 1115config TASK_SIZE 1116 hex "Size of user task space" if TASK_SIZE_BOOL 1117 default "0x80000000" 1118 1119config CONSISTENT_START_BOOL 1120 bool "Set custom consistent memory pool address" 1121 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE 1122 help 1123 This option allows you to set the base virtual address 1124 of the consistent memory pool. This pool of virtual 1125 memory is used to make consistent memory allocations. 1126 1127config CONSISTENT_START 1128 hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL 1129 default "0xff100000" if NOT_COHERENT_CACHE 1130 1131config CONSISTENT_SIZE_BOOL 1132 bool "Set custom consistent memory pool size" 1133 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE 1134 help 1135 This option allows you to set the size of the 1136 consistent memory pool. This pool of virtual memory 1137 is used to make consistent memory allocations. 1138 1139config CONSISTENT_SIZE 1140 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL 1141 default "0x00200000" if NOT_COHERENT_CACHE 1142 1143config BOOT_LOAD_BOOL 1144 bool "Set the boot link/load address" 1145 depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM 1146 help 1147 This option allows you to set the initial load address of the zImage 1148 or zImage.initrd file. This can be useful if you are on a board 1149 which has a small amount of memory. 1150 1151 Say N here unless you know what you are doing. 1152 1153config BOOT_LOAD 1154 hex "Link/load address for booting" if BOOT_LOAD_BOOL 1155 default "0x00400000" if 40x || 8xx || 8260 1156 default "0x01000000" if 44x 1157 default "0x00800000" 1158 1159config PIN_TLB 1160 bool "Pinned Kernel TLBs (860 ONLY)" 1161 depends on ADVANCED_OPTIONS && 8xx 1162endmenu 1163 1164if PPC64 1165config KERNEL_START 1166 hex 1167 default "0xc000000000000000" 1168endif 1169 1170source "net/Kconfig" 1171 1172source "drivers/Kconfig" 1173 1174source "fs/Kconfig" 1175 1176# XXX source "arch/ppc/8xx_io/Kconfig" 1177 1178# XXX source "arch/ppc/8260_io/Kconfig" 1179 1180source "arch/powerpc/sysdev/qe_lib/Kconfig" 1181 1182source "arch/powerpc/platforms/iseries/Kconfig" 1183 1184source "lib/Kconfig" 1185 1186menu "Instrumentation Support" 1187 depends on EXPERIMENTAL 1188 1189source "arch/powerpc/oprofile/Kconfig" 1190 1191config KPROBES 1192 bool "Kprobes (EXPERIMENTAL)" 1193 depends on !BOOKE && !4xx && KALLSYMS && EXPERIMENTAL && MODULES 1194 help 1195 Kprobes allows you to trap at almost any kernel address and 1196 execute a callback function. register_kprobe() establishes 1197 a probepoint and specifies the callback. Kprobes is useful 1198 for kernel debugging, non-intrusive instrumentation and testing. 1199 If in doubt, say "N". 1200endmenu 1201 1202source "arch/powerpc/Kconfig.debug" 1203 1204source "security/Kconfig" 1205 1206config KEYS_COMPAT 1207 bool 1208 depends on COMPAT && KEYS 1209 default y 1210 1211source "crypto/Kconfig" 1212