diff options
| author | Nicholas Piggin <npiggin@gmail.com> | 2018-02-21 05:08:30 +1000 | 
|---|---|---|
| committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-04-01 21:52:52 +1000 | 
| commit | a73657ea19aeb92f98438263d42f90188f115d58 (patch) | |
| tree | 7971c9025369b30fab25b416136f40bd24961bbf | |
| parent | 471d7ff8b51b63521c8ea35c51966ab4caa434ee (diff) | |
powerpc/64: Add GENERIC_CPU support for little endian
Add GENERIC_CPU support for little-endian rather than using POWER8
specific selection for POWER9 and above.
Restrict GENERIC_CPU to POWER8 and above on little endian.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Duplicate GENERIC_CPU to avoid a kbuild warning about the prompt
      being redefined. Spell out that GENERIC means >= POWER4 for BE.]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
| -rw-r--r-- | arch/powerpc/Makefile | 5 | ||||
| -rw-r--r-- | arch/powerpc/platforms/Kconfig.cputype | 8 | 
2 files changed, 11 insertions, 2 deletions
| diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 373d7f5b7cde..d6fa14077763 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -146,8 +146,13 @@ CFLAGS-$(CONFIG_PPC32)	:= -ffixed-r2 $(MULTIPLEWORD)  CFLAGS-$(CONFIG_PPC32)	+= $(call cc-option,-mno-readonly-in-sdata)  ifeq ($(CONFIG_PPC_BOOK3S_64),y) +ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y) +CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power8 +CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power8) +else  CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power7,$(call cc-option,-mtune=power5))  CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4) +endif  else  CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64  endif diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index fdae4584a016..e8eac27db592 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype @@ -87,7 +87,6 @@ endchoice  choice  	prompt "CPU selection"  	depends on PPC64 -	default POWER8_CPU if CPU_LITTLE_ENDIAN  	default GENERIC_CPU  	help  	  This will create a kernel which is optimised for a particular CPU. @@ -96,9 +95,14 @@ choice  	  If unsure, select Generic.  config GENERIC_CPU -	bool "Generic" +	bool "Generic (POWER4 and above)"  	depends on !CPU_LITTLE_ENDIAN +config GENERIC_CPU +	bool "Generic (POWER8 and above)" +	depends on CPU_LITTLE_ENDIAN +	select ARCH_HAS_FAST_MULTIPLIER +  config CELL_CPU  	bool "Cell Broadband Engine"  	depends on PPC_BOOK3S_64 && !CPU_LITTLE_ENDIAN | 
