aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/Kconfig')
-rw-r--r--arch/powerpc/Kconfig77
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
231config ARCH_SUPPORTS_DEBUG_PAGEALLOC
232 def_bool y
233
230source "init/Kconfig" 234source "init/Kconfig"
231 235
232source "kernel/Kconfig.freezer" 236source "kernel/Kconfig.freezer"
@@ -312,7 +316,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
312 316
313config KEXEC 317config 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
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
412choice 428choice
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
463config 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
447endchoice 476endchoice
448 477
449config FORCE_MAX_ZONEORDER 478config 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
594config FSL_PCI 625config FSL_PCI
595 bool 626 bool
596 select PPC_INDIRECT_PCI 627 select PPC_INDIRECT_PCI
628 select PCI_QUIRKS
597 629
598config 4xx_SOC 630config 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
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 int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL
779 default 3
780
733config RELOCATABLE 781config 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
795config PHYSICAL_ALIGN 843config 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
818config 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
826config 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
831config 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
839config CONSISTENT_SIZE
840 hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
841 default "0x00200000" if NOT_COHERENT_CACHE
842
843config PIN_TLB 866config 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