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