diff options
Diffstat (limited to 'arch/powerpc/Kconfig')
-rw-r--r-- | arch/powerpc/Kconfig | 74 |
1 files changed, 47 insertions, 27 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 74cc312c347c..ad6b1c084fe3 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 |
@@ -312,7 +313,7 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE | |||
312 | 313 | ||
313 | config KEXEC | 314 | config KEXEC |
314 | bool "kexec system call (EXPERIMENTAL)" | 315 | bool "kexec system call (EXPERIMENTAL)" |
315 | depends on (PPC_PRPMC2800 || PPC_MULTIPLATFORM) && EXPERIMENTAL | 316 | depends on BOOK3S && EXPERIMENTAL |
316 | help | 317 | help |
317 | kexec is a system call that implements the ability to shutdown your | 318 | 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 | 319 | current kernel, and to start another kernel. It is like a reboot |
@@ -409,6 +410,18 @@ config PPC_HAS_HASH_64K | |||
409 | depends on PPC64 | 410 | depends on PPC64 |
410 | default n | 411 | default n |
411 | 412 | ||
413 | config STDBINUTILS | ||
414 | bool "Using standard binutils settings" | ||
415 | depends on 44x | ||
416 | default y | ||
417 | help | ||
418 | Turning this option off allows you to select 256KB PAGE_SIZE on 44x. | ||
419 | Note, that kernel will be able to run only those applications, | ||
420 | which had been compiled using binutils later than 2.17.50.0.3 with | ||
421 | '-zmax-page-size' set to 256K (the default is 64K). Or, if using | ||
422 | the older binutils, you can patch them with a trivial patch, which | ||
423 | changes the ELF_MAXPAGESIZE definition from 0x10000 to 0x40000. | ||
424 | |||
412 | choice | 425 | choice |
413 | prompt "Page size" | 426 | prompt "Page size" |
414 | default PPC_4K_PAGES | 427 | default PPC_4K_PAGES |
@@ -444,6 +457,19 @@ config PPC_64K_PAGES | |||
444 | bool "64k page size" if 44x || PPC_STD_MMU_64 | 457 | bool "64k page size" if 44x || PPC_STD_MMU_64 |
445 | select PPC_HAS_HASH_64K if PPC_STD_MMU_64 | 458 | select PPC_HAS_HASH_64K if PPC_STD_MMU_64 |
446 | 459 | ||
460 | config PPC_256K_PAGES | ||
461 | bool "256k page size" if 44x | ||
462 | depends on !STDBINUTILS && (!SHMEM || BROKEN) | ||
463 | help | ||
464 | Make the page size 256k. | ||
465 | |||
466 | As the ELF standard only requires alignment to support page | ||
467 | sizes up to 64k, you will need to compile all of your user | ||
468 | space applications with a non-standard binutils settings | ||
469 | (see the STDBINUTILS description for details). | ||
470 | |||
471 | Say N unless you know what you are doing. | ||
472 | |||
447 | endchoice | 473 | endchoice |
448 | 474 | ||
449 | config FORCE_MAX_ZONEORDER | 475 | config FORCE_MAX_ZONEORDER |
@@ -456,6 +482,8 @@ config FORCE_MAX_ZONEORDER | |||
456 | default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES | 482 | default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES |
457 | range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES | 483 | range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES |
458 | default "7" if PPC_STD_MMU_32 && PPC_64K_PAGES | 484 | default "7" if PPC_STD_MMU_32 && PPC_64K_PAGES |
485 | range 5 64 if PPC_STD_MMU_32 && PPC_256K_PAGES | ||
486 | default "5" if PPC_STD_MMU_32 && PPC_256K_PAGES | ||
459 | range 11 64 | 487 | range 11 64 |
460 | default "11" | 488 | default "11" |
461 | help | 489 | help |
@@ -594,6 +622,7 @@ config FSL_SOC | |||
594 | config FSL_PCI | 622 | config FSL_PCI |
595 | bool | 623 | bool |
596 | select PPC_INDIRECT_PCI | 624 | select PPC_INDIRECT_PCI |
625 | select PCI_QUIRKS | ||
597 | 626 | ||
598 | config 4xx_SOC | 627 | config 4xx_SOC |
599 | bool | 628 | bool |
@@ -730,6 +759,22 @@ config LOWMEM_SIZE | |||
730 | hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL | 759 | hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL |
731 | default "0x30000000" | 760 | default "0x30000000" |
732 | 761 | ||
762 | config LOWMEM_CAM_NUM_BOOL | ||
763 | bool "Set number of CAMs to use to map low memory" | ||
764 | depends on ADVANCED_OPTIONS && FSL_BOOKE | ||
765 | help | ||
766 | This option allows you to set the maximum number of CAM slots that | ||
767 | will be used to map low memory. There are a limited number of slots | ||
768 | available and even more limited number that will fit in the L1 MMU. | ||
769 | However, using more entries will allow mapping more low memory. This | ||
770 | can be useful in optimizing the layout of kernel virtual memory. | ||
771 | |||
772 | Say N here unless you know what you are doing. | ||
773 | |||
774 | config LOWMEM_CAM_NUM | ||
775 | int "Number of CAMs to use to map low memory" if LOWMEM_CAM_NUM_BOOL | ||
776 | default 3 | ||
777 | |||
733 | config RELOCATABLE | 778 | config RELOCATABLE |
734 | bool "Build a relocatable kernel (EXPERIMENTAL)" | 779 | bool "Build a relocatable kernel (EXPERIMENTAL)" |
735 | depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE | 780 | depends on EXPERIMENTAL && ADVANCED_OPTIONS && FLATMEM && FSL_BOOKE |
@@ -794,7 +839,7 @@ config PHYSICAL_START | |||
794 | 839 | ||
795 | config PHYSICAL_ALIGN | 840 | config PHYSICAL_ALIGN |
796 | hex | 841 | hex |
797 | default "0x10000000" if FSL_BOOKE | 842 | default "0x04000000" if FSL_BOOKE |
798 | help | 843 | help |
799 | This value puts the alignment restrictions on physical address | 844 | This value puts the alignment restrictions on physical address |
800 | where kernel is loaded and run from. Kernel is compiled for an | 845 | where kernel is loaded and run from. Kernel is compiled for an |
@@ -815,31 +860,6 @@ config TASK_SIZE | |||
815 | default "0x80000000" if PPC_PREP || PPC_8xx | 860 | default "0x80000000" if PPC_PREP || PPC_8xx |
816 | default "0xc0000000" | 861 | default "0xc0000000" |
817 | 862 | ||
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 | 863 | config PIN_TLB |
844 | bool "Pinned Kernel TLBs (860 ONLY)" | 864 | bool "Pinned Kernel TLBs (860 ONLY)" |
845 | depends on ADVANCED_OPTIONS && 8xx | 865 | depends on ADVANCED_OPTIONS && 8xx |