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