diff options
Diffstat (limited to 'arch/powerpc/Kconfig')
-rw-r--r-- | arch/powerpc/Kconfig | 77 |
1 files changed, 50 insertions, 27 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 74cc312c347c..45192dce65c4 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -111,6 +111,7 @@ config PPC | |||
111 | select HAVE_FTRACE_MCOUNT_RECORD | 111 | select HAVE_FTRACE_MCOUNT_RECORD |
112 | select HAVE_DYNAMIC_FTRACE | 112 | select HAVE_DYNAMIC_FTRACE |
113 | select HAVE_FUNCTION_TRACER | 113 | select HAVE_FUNCTION_TRACER |
114 | select HAVE_FUNCTION_GRAPH_TRACER | ||
114 | select ARCH_WANT_OPTIONAL_GPIOLIB | 115 | select ARCH_WANT_OPTIONAL_GPIOLIB |
115 | select HAVE_IDE | 116 | select HAVE_IDE |
116 | select HAVE_IOREMAP_PROT | 117 | select HAVE_IOREMAP_PROT |
@@ -227,6 +228,9 @@ config PPC_OF_PLATFORM_PCI | |||
227 | depends on PPC64 # not supported on 32 bits yet | 228 | depends on PPC64 # not supported on 32 bits yet |
228 | default n | 229 | default n |
229 | 230 | ||
231 | config ARCH_SUPPORTS_DEBUG_PAGEALLOC | ||
232 | def_bool y | ||
233 | |||
230 | source "init/Kconfig" | 234 | source "init/Kconfig" |
231 | 235 | ||
232 | source "kernel/Kconfig.freezer" | 236 | source "kernel/Kconfig.freezer" |
@@ -312,7 +316,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE | |||
312 | 316 | ||
313 | config KEXEC | 317 | config KEXEC |
314 | bool "kexec system call (EXPERIMENTAL)" | 318 | bool "kexec system call (EXPERIMENTAL)" |
315 | depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL | 319 | depends on BOOK3S && EXPERIMENTAL |
316 | help | 320 | help |
317 | kexec is a system call that implements the ability to shutdown your | 321 | kexec is a system call that implements the ability to shutdown your |
318 | current kernel, and to start another kernel. It is like a reboot | 322 | current kernel, and to start another kernel. It is like a reboot |
@@ -409,6 +413,18 @@ config PPC_HAS_HASH_64K | |||
409 | depends on PPC64 | 413 | depends on PPC64 |
410 | default n | 414 | default n |
411 | 415 | ||
416 | config 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 | |||
412 | choice | 428 | choice |
413 | prompt "Page size" | 429 | prompt "Page size" |
414 | default PPC_4K_PAGES | 430 | default PPC_4K_PAGES |
@@ -444,6 +460,19 @@ config PPC_64K_PAGES | |||
444 | bool "64k page size" if 44x || PPC_STD_MMU_64 | 460 | bool "64k page size" if 44x || PPC_STD_MMU_64 |
445 | select PPC_HAS_HASH_64K if PPC_STD_MMU_64 | 461 | select PPC_HAS_HASH_64K if PPC_STD_MMU_64 |
446 | 462 | ||
463 | config PPC_256K_PAGES | ||
464 | bool "256k page size" if 44x | ||
465 | depends on !STDBINUTILS && (!SHMEM || BROKEN) | ||
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 | |||
447 | endchoice | 476 | endchoice |
448 | 477 | ||
449 | config FORCE_MAX_ZONEORDER | 478 | config FORCE_MAX_ZONEORDER |
@@ -456,6 +485,8 @@ config FORCE_MAX_ZONEORDER | |||
456 | default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES | 485 | default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES |
457 | range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES | 486 | range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES |
458 | default "7" 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 | ||
459 | range 11 64 | 490 | range 11 64 |
460 | default "11" | 491 | default "11" |
461 | help | 492 | help |
@@ -594,6 +625,7 @@ config FSL_SOC | |||
594 | config FSL_PCI | 625 | config FSL_PCI |
595 | bool | 626 | bool |
596 | select PPC_INDIRECT_PCI | 627 | select PPC_INDIRECT_PCI |
628 | select PCI_QUIRKS | ||
597 | 629 | ||
598 | config 4xx_SOC | 630 | config 4xx_SOC |
599 | bool | 631 | bool |
@@ -730,6 +762,22 @@ config LOWMEM_SIZE | |||
730 | hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL | 762 | hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL |
731 | default "0x30000000" | 763 | default "0x30000000" |
732 | 764 | ||
765 | config 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 | |||
777 | config LOWMEM_CAM_NUM | ||
778 | int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL | ||
779 | default 3 | ||
780 | |||
733 | config RELOCATABLE | 781 | config RELOCATABLE |
734 | bool "Build a relocatable kernel (EXPERIMENTAL)" | 782 | bool "Build a relocatable kernel (EXPERIMENTAL)" |
735 | depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE | 783 | depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE |
@@ -794,7 +842,7 @@ config PHYSICAL_START | |||
794 | 842 | ||
795 | config PHYSICAL_ALIGN | 843 | config PHYSICAL_ALIGN |
796 | hex | 844 | hex |
797 | default "0x10000000" if FSL_BOOKE | 845 | default "0x04000000" if FSL_BOOKE |
798 | help | 846 | help |
799 | This value puts the alignment restrictions on physical address | 847 | This value puts the alignment restrictions on physical address |
800 | where kernel is loaded and run from. Kernel is compiled for an | 848 | where kernel is loaded and run from. Kernel is compiled for an |
@@ -815,31 +863,6 @@ config TASK_SIZE | |||
815 | default "0x80000000" if PPC_PREP || PPC_8xx | 863 | default "0x80000000" if PPC_PREP || PPC_8xx |
816 | default "0xc0000000" | 864 | default "0xc0000000" |
817 | 865 | ||
818 | config CONSISTENT_START_BOOL | ||
819 | bool "Set custom consistent memory pool address" | ||
820 | depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE | ||
821 | help | ||
822 | This option allows you to set the base virtual address | ||
823 | of the consistent memory pool. This pool of virtual | ||
824 | memory is used to make consistent memory allocations. | ||
825 | |||
826 | config CONSISTENT_START | ||
827 | hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL | ||
828 | default "0xfd000000" if (NOT_COHERENT_CACHE && 8xx) | ||
829 | default "0xff100000" if NOT_COHERENT_CACHE | ||
830 | |||
831 | config CONSISTENT_SIZE_BOOL | ||
832 | bool "Set custom consistent memory pool size" | ||
833 | depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE | ||
834 | help | ||
835 | This option allows you to set the size of the | ||
836 | consistent memory pool. This pool of virtual memory | ||
837 | is used to make consistent memory allocations. | ||
838 | |||
839 | config CONSISTENT_SIZE | ||
840 | hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL | ||
841 | default "0x00200000" if NOT_COHERENT_CACHE | ||
842 | |||
843 | config PIN_TLB | 866 | config PIN_TLB |
844 | bool "Pinned Kernel TLBs (860 ONLY)" | 867 | bool "Pinned Kernel TLBs (860 ONLY)" |
845 | depends on ADVANCED_OPTIONS && 8xx | 868 | depends on ADVANCED_OPTIONS && 8xx |