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