1source "arch/powerpc/platforms/Kconfig.cputype" 2 3config PPC32 4 bool 5 default y if !PPC64 6 7config 32BIT 8 bool 9 default y if PPC32 10 11config 64BIT 12 bool 13 default y if PPC64 14 15config WORD_SIZE 16 int 17 default 64 if PPC64 18 default 32 if !PPC64 19 20config ARCH_PHYS_ADDR_T_64BIT 21 def_bool PPC64 || PHYS_64BIT 22 23config ARCH_DMA_ADDR_T_64BIT 24 def_bool ARCH_PHYS_ADDR_T_64BIT 25 26config MMU 27 bool 28 default y 29 30config GENERIC_CMOS_UPDATE 31 def_bool y 32 33config GENERIC_TIME_VSYSCALL 34 def_bool y 35 36config GENERIC_CLOCKEVENTS 37 def_bool y 38 39config HAVE_SETUP_PER_CPU_AREA 40 def_bool PPC64 41 42config NEED_PER_CPU_EMBED_FIRST_CHUNK 43 def_bool PPC64 44 45config NR_IRQS 46 int "Number of virtual interrupt numbers" 47 range 32 32768 48 default "512" 49 help 50 This defines the number of virtual interrupt numbers the kernel 51 can manage. Virtual interrupt numbers are what you see in 52 /proc/interrupts. If you configure your system to have too few, 53 drivers will fail to load or worse - handle with care. 54 55config STACKTRACE_SUPPORT 56 bool 57 default y 58 59config HAVE_LATENCYTOP_SUPPORT 60 def_bool y 61 62config TRACE_IRQFLAGS_SUPPORT 63 bool 64 default y 65 66config LOCKDEP_SUPPORT 67 bool 68 default y 69 70config RWSEM_GENERIC_SPINLOCK 71 bool 72 73config RWSEM_XCHGADD_ALGORITHM 74 bool 75 default y 76 77config GENERIC_LOCKBREAK 78 bool 79 default y 80 depends on SMP && PREEMPT 81 82config ARCH_HAS_ILOG2_U32 83 bool 84 default y 85 86config ARCH_HAS_ILOG2_U64 87 bool 88 default y if 64BIT 89 90config GENERIC_HWEIGHT 91 bool 92 default y 93 94config GENERIC_FIND_NEXT_BIT 95 bool 96 default y 97 98config GENERIC_GPIO 99 bool 100 help 101 Generic GPIO API support 102 103config ARCH_NO_VIRT_TO_BUS 104 def_bool PPC64 105 106config PPC 107 bool 108 default y 109 select OF 110 select OF_EARLY_FLATTREE 111 select HAVE_FTRACE_MCOUNT_RECORD 112 select HAVE_DYNAMIC_FTRACE 113 select HAVE_FUNCTION_TRACER 114 select HAVE_FUNCTION_GRAPH_TRACER 115 select ARCH_WANT_OPTIONAL_GPIOLIB 116 select HAVE_IDE 117 select HAVE_IOREMAP_PROT 118 select HAVE_EFFICIENT_UNALIGNED_ACCESS 119 select HAVE_KPROBES 120 select HAVE_ARCH_KGDB 121 select HAVE_KRETPROBES 122 select HAVE_ARCH_TRACEHOOK 123 select HAVE_MEMBLOCK 124 select HAVE_DMA_ATTRS 125 select HAVE_DMA_API_DEBUG 126 select USE_GENERIC_SMP_HELPERS if SMP 127 select HAVE_OPROFILE 128 select HAVE_SYSCALL_WRAPPERS if PPC64 129 select GENERIC_ATOMIC64 if PPC32 130 select HAVE_IRQ_WORK 131 select HAVE_PERF_EVENTS 132 select HAVE_REGS_AND_STACK_ACCESS_API 133 select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64 134 select HAVE_GENERIC_HARDIRQS 135 select HAVE_SPARSE_IRQ 136 select IRQ_PER_CPU 137 select GENERIC_HARDIRQS_NO_DEPRECATED 138 139config EARLY_PRINTK 140 bool 141 default y 142 143config COMPAT 144 bool 145 default y if PPC64 146 select COMPAT_BINFMT_ELF 147 148config SYSVIPC_COMPAT 149 bool 150 depends on COMPAT && SYSVIPC 151 default y 152 153# All PPC32s use generic nvram driver through ppc_md 154config GENERIC_NVRAM 155 bool 156 default y if PPC32 157 158config SCHED_OMIT_FRAME_POINTER 159 bool 160 default y 161 162config ARCH_MAY_HAVE_PC_FDC 163 bool 164 default !PPC_PSERIES || PCI 165 166config PPC_OF 167 def_bool y 168 169config PPC_UDBG_16550 170 bool 171 default n 172 173config GENERIC_TBSYNC 174 bool 175 default y if PPC32 && SMP 176 default n 177 178config AUDIT_ARCH 179 bool 180 default y 181 182config GENERIC_BUG 183 bool 184 default y 185 depends on BUG 186 187config SYS_SUPPORTS_APM_EMULATION 188 default y if PMAC_APM_EMU 189 bool 190 191config DEFAULT_UIMAGE 192 bool 193 help 194 Used to allow a board to specify it wants a uImage built by default 195 default n 196 197config REDBOOT 198 bool 199 200config ARCH_HIBERNATION_POSSIBLE 201 bool 202 default y 203 204config ARCH_SUSPEND_POSSIBLE 205 def_bool y 206 depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \ 207 PPC_85xx || PPC_86xx || PPC_PSERIES || 44x || 40x 208 209config PPC_DCR_NATIVE 210 bool 211 default n 212 213config PPC_DCR_MMIO 214 bool 215 default n 216 217config PPC_DCR 218 bool 219 depends on PPC_DCR_NATIVE || PPC_DCR_MMIO 220 default y 221 222config PPC_OF_PLATFORM_PCI 223 bool 224 depends on PCI 225 depends on PPC64 # not supported on 32 bits yet 226 default n 227 228config ARCH_SUPPORTS_DEBUG_PAGEALLOC 229 def_bool y 230 231config PPC_ADV_DEBUG_REGS 232 bool 233 depends on 40x || BOOKE 234 default y 235 236config PPC_ADV_DEBUG_IACS 237 int 238 depends on PPC_ADV_DEBUG_REGS 239 default 4 if 44x 240 default 2 241 242config PPC_ADV_DEBUG_DACS 243 int 244 depends on PPC_ADV_DEBUG_REGS 245 default 2 246 247config PPC_ADV_DEBUG_DVCS 248 int 249 depends on PPC_ADV_DEBUG_REGS 250 default 2 if 44x 251 default 0 252 253config PPC_ADV_DEBUG_DAC_RANGE 254 bool 255 depends on PPC_ADV_DEBUG_REGS && 44x 256 default y 257 258source "init/Kconfig" 259 260source "kernel/Kconfig.freezer" 261 262source "arch/powerpc/sysdev/Kconfig" 263source "arch/powerpc/platforms/Kconfig" 264 265menu "Kernel options" 266 267config HIGHMEM 268 bool "High memory support" 269 depends on PPC32 270 271source kernel/time/Kconfig 272source kernel/Kconfig.hz 273source kernel/Kconfig.preempt 274source "fs/Kconfig.binfmt" 275 276config HUGETLB_PAGE_SIZE_VARIABLE 277 bool 278 depends on HUGETLB_PAGE 279 default y 280 281config MATH_EMULATION 282 bool "Math emulation" 283 depends on 4xx || 8xx || E200 || PPC_MPC832x || E500 284 ---help--- 285 Some PowerPC chips designed for embedded applications do not have 286 a floating-point unit and therefore do not implement the 287 floating-point instructions in the PowerPC instruction set. If you 288 say Y here, the kernel will include code to emulate a floating-point 289 unit, which will allow programs that use floating-point 290 instructions to run. 291 292config 8XX_MINIMAL_FPEMU 293 bool "Minimal math emulation for 8xx" 294 depends on 8xx && !MATH_EMULATION 295 help 296 Older arch/ppc kernels still emulated a few floating point 297 instructions such as load and store, even when full math 298 emulation is disabled. Say "Y" here if you want to preserve 299 this behavior. 300 301 It is recommended that you build a soft-float userspace instead. 302 303config IOMMU_HELPER 304 def_bool PPC64 305 306config SWIOTLB 307 bool "SWIOTLB support" 308 default n 309 select IOMMU_HELPER 310 ---help--- 311 Support for IO bounce buffering for systems without an IOMMU. 312 This allows us to DMA to the full physical address space on 313 platforms where the size of a physical address is larger 314 than the bus address. Not all platforms support this. 315 316config HOTPLUG_CPU 317 bool "Support for enabling/disabling CPUs" 318 depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC) 319 ---help--- 320 Say Y here to be able to disable and re-enable individual 321 CPUs at runtime on SMP machines. 322 323 Say N if you are unsure. 324 325config ARCH_CPU_PROBE_RELEASE 326 def_bool y 327 depends on HOTPLUG_CPU 328 329config ARCH_ENABLE_MEMORY_HOTPLUG 330 def_bool y 331 332config ARCH_HAS_WALK_MEMORY 333 def_bool y 334 335config ARCH_ENABLE_MEMORY_HOTREMOVE 336 def_bool y 337 338config KEXEC 339 bool "kexec system call (EXPERIMENTAL)" 340 depends on (PPC_BOOK3S || FSL_BOOKE) && EXPERIMENTAL 341 help 342 kexec is a system call that implements the ability to shutdown your 343 current kernel, and to start another kernel. It is like a reboot 344 but it is independent of the system firmware. And like a reboot 345 you can start any kernel with it, not just Linux. 346 347 The name comes from the similarity to the exec system call. 348 349 It is an ongoing process to be certain the hardware in a machine 350 is properly shutdown, so do not be surprised if this code does not 351 initially work for you. It may help to enable device hotplugging 352 support. As of this writing the exact hardware interface is 353 strongly in flux, so no good recommendation can be made. 354 355config CRASH_DUMP 356 bool "Build a kdump crash kernel" 357 depends on PPC64 || 6xx || FSL_BOOKE 358 select RELOCATABLE if PPC64 || FSL_BOOKE 359 help 360 Build a kernel suitable for use as a kdump capture kernel. 361 The same kernel binary can be used as production kernel and dump 362 capture kernel. 363 364config PHYP_DUMP 365 bool "Hypervisor-assisted dump (EXPERIMENTAL)" 366 depends on PPC_PSERIES && EXPERIMENTAL 367 help 368 Hypervisor-assisted dump is meant to be a kdump replacement 369 offering robustness and speed not possible without system 370 hypervisor assistance. 371 372 If unsure, say "N" 373 374config PPCBUG_NVRAM 375 bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC 376 default y if PPC_PREP 377 378config IRQ_ALL_CPUS 379 bool "Distribute interrupts on all CPUs by default" 380 depends on SMP && !MV64360 381 help 382 This option gives the kernel permission to distribute IRQs across 383 multiple CPUs. Saying N here will route all IRQs to the first 384 CPU. Generally saying Y is safe, although some problems have been 385 reported with SMP Power Macintoshes with this option enabled. 386 387config NUMA 388 bool "NUMA support" 389 depends on PPC64 390 default y if SMP && PPC_PSERIES 391 392config NODES_SHIFT 393 int 394 default "8" if PPC64 395 default "4" 396 depends on NEED_MULTIPLE_NODES 397 398config MAX_ACTIVE_REGIONS 399 int 400 default "256" if PPC64 401 default "32" 402 403config ARCH_SELECT_MEMORY_MODEL 404 def_bool y 405 depends on PPC64 406 407config ARCH_FLATMEM_ENABLE 408 def_bool y 409 depends on (PPC64 && !NUMA) || PPC32 410 411config ARCH_SPARSEMEM_ENABLE 412 def_bool y 413 depends on PPC64 414 select SPARSEMEM_VMEMMAP_ENABLE 415 416config ARCH_SPARSEMEM_DEFAULT 417 def_bool y 418 depends on (SMP && PPC_PSERIES) || PPC_PS3 419 420config ARCH_POPULATES_NODE_MAP 421 def_bool y 422 423config SYS_SUPPORTS_HUGETLBFS 424 def_bool y 425 depends on PPC_BOOK3S_64 426 427source "mm/Kconfig" 428 429config ARCH_MEMORY_PROBE 430 def_bool y 431 depends on MEMORY_HOTPLUG 432 433# Some NUMA nodes have memory ranges that span 434# other nodes. Even though a pfn is valid and 435# between a node's start and end pfns, it may not 436# reside on that node. See memmap_init_zone() 437# for details. 438config NODES_SPAN_OTHER_NODES 439 def_bool y 440 depends on NEED_MULTIPLE_NODES 441 442config PPC_HAS_HASH_64K 443 bool 444 depends on PPC64 445 default n 446 447config STDBINUTILS 448 bool "Using standard binutils settings" 449 depends on 44x 450 default y 451 help 452 Turning this option off allows you to select 256KB PAGE_SIZE on 44x. 453 Note, that kernel will be able to run only those applications, 454 which had been compiled using binutils later than 2.17.50.0.3 with 455 '-zmax-page-size' set to 256K (the default is 64K). Or, if using 456 the older binutils, you can patch them with a trivial patch, which 457 changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000. 458 459choice 460 prompt "Page size" 461 default PPC_4K_PAGES 462 help 463 Select the kernel logical page size. Increasing the page size 464 will reduce software overhead at each page boundary, allow 465 hardware prefetch mechanisms to be more effective, and allow 466 larger dma transfers increasing IO efficiency and reducing 467 overhead. However the utilization of memory will increase. 468 For example, each cached file will using a multiple of the 469 page size to hold its contents and the difference between the 470 end of file and the end of page is wasted. 471 472 Some dedicated systems, such as software raid serving with 473 accelerated calculations, have shown significant increases. 474 475 If you configure a 64 bit kernel for 64k pages but the 476 processor does not support them, then the kernel will simulate 477 them with 4k pages, loading them on demand, but with the 478 reduced software overhead and larger internal fragmentation. 479 For the 32 bit kernel, a large page option will not be offered 480 unless it is supported by the configured processor. 481 482 If unsure, choose 4K_PAGES. 483 484config PPC_4K_PAGES 485 bool "4k page size" 486 487config PPC_16K_PAGES 488 bool "16k page size" if 44x 489 490config PPC_64K_PAGES 491 bool "64k page size" if 44x || PPC_STD_MMU_64 || PPC_BOOK3E_64 492 select PPC_HAS_HASH_64K if PPC_STD_MMU_64 493 494config PPC_256K_PAGES 495 bool "256k page size" if 44x 496 depends on !STDBINUTILS 497 help 498 Make the page size 256k. 499 500 As the ELF standard only requires alignment to support page 501 sizes up to 64k, you will need to compile all of your user 502 space applications with a non-standard binutils settings 503 (see the STDBINUTILS description for details). 504 505 Say N unless you know what you are doing. 506 507endchoice 508 509config FORCE_MAX_ZONEORDER 510 int "Maximum zone order" 511 range 9 64 if PPC64 && PPC_64K_PAGES 512 default "9" if PPC64 && PPC_64K_PAGES 513 range 13 64 if PPC64 && !PPC_64K_PAGES 514 default "13" if PPC64 && !PPC_64K_PAGES 515 range 9 64 if PPC32 && PPC_16K_PAGES 516 default "9" if PPC32 && PPC_16K_PAGES 517 range 7 64 if PPC32 && PPC_64K_PAGES 518 default "7" if PPC32 && PPC_64K_PAGES 519 range 5 64 if PPC32 && PPC_256K_PAGES 520 default "5" if PPC32 && PPC_256K_PAGES 521 range 11 64 522 default "11" 523 help 524 The kernel memory allocator divides physically contiguous memory 525 blocks into "zones", where each zone is a power of two number of 526 pages. This option selects the largest power of two that the kernel 527 keeps in the memory allocator. If you need to allocate very large 528 blocks of physically contiguous memory, then you may need to 529 increase this value. 530 531 This config option is actually maximum order plus one. For example, 532 a value of 11 means that the largest free memory block is 2^10 pages. 533 534 The page size is not necessarily 4KB. For example, on 64-bit 535 systems, 64KB pages can be enabled via CONFIG_PPC_64K_PAGES. Keep 536 this in mind when choosing a value for this option. 537 538config PPC_SUBPAGE_PROT 539 bool "Support setting protections for 4k subpages" 540 depends on PPC_STD_MMU_64 && PPC_64K_PAGES 541 help 542 This option adds support for a system call to allow user programs 543 to set access permissions (read/write, readonly, or no access) 544 on the 4k subpages of each 64k page. 545 546config SCHED_SMT 547 bool "SMT (Hyperthreading) scheduler support" 548 depends on PPC64 && SMP 549 help 550 SMT scheduler support improves the CPU scheduler's decision making 551 when dealing with POWER5 cpus at a cost of slightly increased 552 overhead in some places. If unsure say N here. 553 554config CMDLINE_BOOL 555 bool "Default bootloader kernel arguments" 556 557config CMDLINE 558 string "Initial kernel command string" 559 depends on CMDLINE_BOOL 560 default "console=ttyS0,9600 console=tty0 root=/dev/sda2" 561 help 562 On some platforms, there is currently no way for the boot loader to 563 pass arguments to the kernel. For these platforms, you can supply 564 some command-line options at build time by entering them here. In 565 most cases you will need to specify the root device here. 566 567config EXTRA_TARGETS 568 string "Additional default image types" 569 help 570 List additional targets to be built by the bootwrapper here (separated 571 by spaces). This is useful for targets that depend of device tree 572 files in the .dts directory. 573 574 Targets in this list will be build as part of the default build 575 target, or when the user does a 'make zImage' or a 576 'make zImage.initrd'. 577 578 If unsure, leave blank 579 580config ARCH_WANTS_FREEZER_CONTROL 581 def_bool y 582 depends on ADB_PMU 583 584source kernel/power/Kconfig 585 586config SECCOMP 587 bool "Enable seccomp to safely compute untrusted bytecode" 588 depends on PROC_FS 589 default y 590 help 591 This kernel feature is useful for number crunching applications 592 that may need to compute untrusted bytecode during their 593 execution. By using pipes or other transports made available to 594 the process as file descriptors supporting the read/write 595 syscalls, it's possible to isolate those applications in 596 their own address space using seccomp. Once seccomp is 597 enabled via /proc/<pid>/seccomp, it cannot be disabled 598 and the task is only allowed to execute a few safe syscalls 599 defined by each seccomp mode. 600 601 If unsure, say Y. Only embedded should say N here. 602 603endmenu 604 605config ISA_DMA_API 606 bool 607 default !PPC_ISERIES || PCI 608 609menu "Bus options" 610 611config ISA 612 bool "Support for ISA-bus hardware" 613 depends on PPC_PREP || PPC_CHRP 614 select PPC_I8259 615 help 616 Find out whether you have ISA slots on your motherboard. ISA is the 617 name of a bus system, i.e. the way the CPU talks to the other stuff 618 inside your box. If you have an Apple machine, say N here; if you 619 have an IBM RS/6000 or pSeries machine or a PReP machine, say Y. If 620 you have an embedded board, consult your board documentation. 621 622config ZONE_DMA 623 bool 624 default y 625 626config NEED_DMA_MAP_STATE 627 def_bool (PPC64 || NOT_COHERENT_CACHE) 628 629config NEED_SG_DMA_LENGTH 630 def_bool y 631 632config GENERIC_ISA_DMA 633 bool 634 depends on ISA_DMA_API 635 default y 636 637config PPC_INDIRECT_PCI 638 bool 639 depends on PCI 640 default y if 40x || 44x 641 default n 642 643config EISA 644 bool 645 646config SBUS 647 bool 648 649config FSL_SOC 650 bool 651 652config FSL_PCI 653 bool 654 select PPC_INDIRECT_PCI 655 select PCI_QUIRKS 656 657config FSL_PMC 658 bool 659 default y 660 depends on SUSPEND && (PPC_85xx || PPC_86xx) 661 help 662 Freescale MPC85xx/MPC86xx power management controller support 663 (suspend/resume). For MPC83xx see platforms/83xx/suspend.c 664 665config PPC4xx_CPM 666 bool 667 default y 668 depends on SUSPEND && (44x || 40x) 669 help 670 PPC4xx Clock Power Management (CPM) support (suspend/resume). 671 It also enables support for two different idle states (idle-wait 672 and idle-doze). 673 674config 4xx_SOC 675 bool 676 677config FSL_LBC 678 bool "Freescale Local Bus support" 679 depends on FSL_SOC 680 help 681 Enables reporting of errors from the Freescale local bus 682 controller. Also contains some common code used by 683 drivers for specific local bus peripherals. 684 685config FSL_GTM 686 bool 687 depends on PPC_83xx || QUICC_ENGINE || CPM2 688 help 689 Freescale General-purpose Timers support 690 691# Yes MCA RS/6000s exist but Linux-PPC does not currently support any 692config MCA 693 bool 694 695# Platforms that what PCI turned unconditionally just do select PCI 696# in their config node. Platforms that want to choose at config 697# time should select PPC_PCI_CHOICE 698config PPC_PCI_CHOICE 699 bool 700 701config PCI 702 bool "PCI support" if PPC_PCI_CHOICE 703 default y if !40x && !CPM2 && !8xx && !PPC_83xx \ 704 && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON 705 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx 706 default PCI_QSPAN if !4xx && !CPM2 && 8xx 707 select ARCH_SUPPORTS_MSI 708 help 709 Find out whether your system includes a PCI bus. PCI is the name of 710 a bus system, i.e. the way the CPU talks to the other stuff inside 711 your box. If you say Y here, the kernel will include drivers and 712 infrastructure code to support PCI bus devices. 713 714config PCI_DOMAINS 715 def_bool PCI 716 717config PCI_SYSCALL 718 def_bool PCI 719 720config PCI_QSPAN 721 bool "QSpan PCI" 722 depends on !4xx && !CPM2 && 8xx 723 select PPC_I8259 724 help 725 Say Y here if you have a system based on a Motorola 8xx-series 726 embedded processor with a QSPAN PCI interface, otherwise say N. 727 728config PCI_8260 729 bool 730 depends on PCI && 8260 731 select PPC_INDIRECT_PCI 732 default y 733 734config 8260_PCI9 735 bool "Enable workaround for MPC826x erratum PCI 9" 736 depends on PCI_8260 && !8272 737 default y 738 739choice 740 prompt "IDMA channel for PCI 9 workaround" 741 depends on 8260_PCI9 742 743config 8260_PCI9_IDMA1 744 bool "IDMA1" 745 746config 8260_PCI9_IDMA2 747 bool "IDMA2" 748 749config 8260_PCI9_IDMA3 750 bool "IDMA3" 751 752config 8260_PCI9_IDMA4 753 bool "IDMA4" 754 755endchoice 756 757source "drivers/pci/pcie/Kconfig" 758 759source "drivers/pci/Kconfig" 760 761source "drivers/pcmcia/Kconfig" 762 763source "drivers/pci/hotplug/Kconfig" 764 765config HAS_RAPIDIO 766 bool 767 default n 768 769config RAPIDIO 770 bool "RapidIO support" 771 depends on HAS_RAPIDIO 772 help 773 If you say Y here, the kernel will include drivers and 774 infrastructure code to support RapidIO interconnect devices. 775 776source "drivers/rapidio/Kconfig" 777 778endmenu 779 780menu "Advanced setup" 781 depends on PPC32 782 783config ADVANCED_OPTIONS 784 bool "Prompt for advanced kernel configuration options" 785 help 786 This option will enable prompting for a variety of advanced kernel 787 configuration options. These options can cause the kernel to not 788 work if they are set incorrectly, but can be used to optimize certain 789 aspects of kernel memory management. 790 791 Unless you know what you are doing, say N here. 792 793comment "Default settings for advanced configuration options are used" 794 depends on !ADVANCED_OPTIONS 795 796config LOWMEM_SIZE_BOOL 797 bool "Set maximum low memory" 798 depends on ADVANCED_OPTIONS 799 help 800 This option allows you to set the maximum amount of memory which 801 will be used as "low memory", that is, memory which the kernel can 802 access directly, without having to set up a kernel virtual mapping. 803 This can be useful in optimizing the layout of kernel virtual 804 memory. 805 806 Say N here unless you know what you are doing. 807 808config LOWMEM_SIZE 809 hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL 810 default "0x30000000" 811 812config LOWMEM_CAM_NUM_BOOL 813 bool "Set number of CAMs to use to map low memory" 814 depends on ADVANCED_OPTIONS && FSL_BOOKE 815 help 816 This option allows you to set the maximum number of CAM slots that 817 will be used to map low memory. There are a limited number of slots 818 available and even more limited number that will fit in the L1 MMU. 819 However, using more entries will allow mapping more low memory. This 820 can be useful in optimizing the layout of kernel virtual memory. 821 822 Say N here unless you know what you are doing. 823 824config LOWMEM_CAM_NUM 825 depends on FSL_BOOKE 826 int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL 827 default 3 828 829config RELOCATABLE 830 bool "Build a relocatable kernel (EXPERIMENTAL)" 831 depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE 832 help 833 This builds a kernel image that is capable of running at the 834 location the kernel is loaded at (some alignment restrictions may 835 exist). 836 837 One use is for the kexec on panic case where the recovery kernel 838 must live at a different physical address than the primary 839 kernel. 840 841 Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address 842 it has been loaded at and the compile time physical addresses 843 CONFIG_PHYSICAL_START is ignored. However CONFIG_PHYSICAL_START 844 setting can still be useful to bootwrappers that need to know the 845 load location of the kernel (eg. u-boot/mkimage). 846 847config PAGE_OFFSET_BOOL 848 bool "Set custom page offset address" 849 depends on ADVANCED_OPTIONS 850 help 851 This option allows you to set the kernel virtual address at which 852 the kernel will map low memory. This can be useful in optimizing 853 the virtual memory layout of the system. 854 855 Say N here unless you know what you are doing. 856 857config PAGE_OFFSET 858 hex "Virtual address of memory base" if PAGE_OFFSET_BOOL 859 default "0xc0000000" 860 861config KERNEL_START_BOOL 862 bool "Set custom kernel base address" 863 depends on ADVANCED_OPTIONS 864 help 865 This option allows you to set the kernel virtual address at which 866 the kernel will be loaded. Normally this should match PAGE_OFFSET 867 however there are times (like kdump) that one might not want them 868 to be the same. 869 870 Say N here unless you know what you are doing. 871 872config KERNEL_START 873 hex "Virtual address of kernel base" if KERNEL_START_BOOL 874 default PAGE_OFFSET if PAGE_OFFSET_BOOL 875 default "0xc2000000" if CRASH_DUMP && !RELOCATABLE 876 default "0xc0000000" 877 878config PHYSICAL_START_BOOL 879 bool "Set physical address where the kernel is loaded" 880 depends on ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE 881 help 882 This gives the physical address where the kernel is loaded. 883 884 Say N here unless you know what you are doing. 885 886config PHYSICAL_START 887 hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL 888 default "0x02000000" if PPC_STD_MMU && CRASH_DUMP && !RELOCATABLE 889 default "0x00000000" 890 891config PHYSICAL_ALIGN 892 hex 893 default "0x04000000" if FSL_BOOKE 894 help 895 This value puts the alignment restrictions on physical address 896 where kernel is loaded and run from. Kernel is compiled for an 897 address which meets above alignment restriction. 898 899config TASK_SIZE_BOOL 900 bool "Set custom user task size" 901 depends on ADVANCED_OPTIONS 902 help 903 This option allows you to set the amount of virtual address space 904 allocated to user tasks. This can be useful in optimizing the 905 virtual memory layout of the system. 906 907 Say N here unless you know what you are doing. 908 909config TASK_SIZE 910 hex "Size of user task space" if TASK_SIZE_BOOL 911 default "0x80000000" if PPC_PREP || PPC_8xx 912 default "0xc0000000" 913 914config CONSISTENT_SIZE_BOOL 915 bool "Set custom consistent memory pool size" 916 depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE 917 help 918 This option allows you to set the size of the 919 consistent memory pool. This pool of virtual memory 920 is used to make consistent memory allocations. 921 922config CONSISTENT_SIZE 923 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL 924 default "0x00200000" if NOT_COHERENT_CACHE 925 926config PIN_TLB 927 bool "Pinned Kernel TLBs (860 ONLY)" 928 depends on ADVANCED_OPTIONS && 8xx 929endmenu 930 931if PPC64 932config RELOCATABLE 933 bool "Build a relocatable kernel" 934 help 935 This builds a kernel image that is capable of running anywhere 936 in the RMA (real memory area) at any 16k-aligned base address. 937 The kernel is linked as a position-independent executable (PIE) 938 and contains dynamic relocations which are processed early 939 in the bootup process. 940 941 One use is for the kexec on panic case where the recovery kernel 942 must live at a different physical address than the primary 943 kernel. 944 945config PAGE_OFFSET 946 hex 947 default "0xc000000000000000" 948config KERNEL_START 949 hex 950 default "0xc000000000000000" 951config PHYSICAL_START 952 hex 953 default "0x00000000" 954endif 955 956source "net/Kconfig" 957 958source "drivers/Kconfig" 959 960source "fs/Kconfig" 961 962source "arch/powerpc/sysdev/qe_lib/Kconfig" 963 964source "lib/Kconfig" 965 966source "arch/powerpc/Kconfig.debug" 967 968source "security/Kconfig" 969 970config KEYS_COMPAT 971 bool 972 depends on COMPAT && KEYS 973 default y 974 975source "crypto/Kconfig" 976 977config PPC_CLOCK 978 bool 979 default n 980 select HAVE_CLK 981 982config PPC_LIB_RHEAP 983 bool 984 985source "arch/powerpc/kvm/Kconfig" 986