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