Subject: Re: [PATCH 3/4] powerpc/booke64: Use appropriate -mcpu

From: Rojhalat Ibrahim <[email-masked]>
Date: Thu, 22 Aug 2013 15:56:11 +0200

Just out of curiosity: What's the difference (if any) between -mcpu=e500mc64 
and -mcpu=e5500? AFAIK -mcpu=e500mc64 is supported by gcc since at least 
version 4.6 whereas -mcpu=e5500 is only supported since gcc 4.8. But is there 
actually any difference?

   Rojhalat

On Tuesday 20 August 2013 21:12:41 Scott Wood wrote:
> By default use -mcpu=powerpc64 rather than -mtune=power7
> 
> Add options for e5500/e6500, with fallbacks for older compilers.
> 
> Hide the POWER cpu options in booke configs.
> 
> Signed-off-by: Scott Wood <[email-masked]>
> ---
>  arch/powerpc/Makefile                  |  9 +++++++++
>  arch/powerpc/platforms/Kconfig.cputype | 13 +++++++++++++
>  2 files changed, 22 insertions(+)
> 
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 6930c93..32dfd5d 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -88,13 +88,22 @@ CFLAGS-$(CONFIG_PPC64)	+= $(call
> cc-option,-mcmodel=medium,-mminimal-toc) CFLAGS-$(CONFIG_PPC64)	+= $(call
> cc-option,-mno-pointers-to-nested-functions) CFLAGS-$(CONFIG_PPC32)	:=
> -ffixed-r2 -mmultiple
> 
> +ifeq ($(CONFIG_PPC_BOOK3S_64),y)
>  CFLAGS-$(CONFIG_GENERIC_CPU) += $(call
> cc-option,-mtune=power7,-mtune=power4) +else
> +CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64
> +endif
> +
>  CFLAGS-$(CONFIG_CELL_CPU) += $(call cc-option,-mcpu=cell)
>  CFLAGS-$(CONFIG_POWER4_CPU) += $(call cc-option,-mcpu=power4)
>  CFLAGS-$(CONFIG_POWER5_CPU) += $(call cc-option,-mcpu=power5)
>  CFLAGS-$(CONFIG_POWER6_CPU) += $(call cc-option,-mcpu=power6)
>  CFLAGS-$(CONFIG_POWER7_CPU) += $(call cc-option,-mcpu=power7)
> 
> +E5500_CPU := $(call cc-option,-mcpu=e500mc64,-mcpu=powerpc64)
> +CFLAGS-$(CONFIG_E5500_CPU) += $(E5500_CPU)
> +CFLAGS-$(CONFIG_E6500_CPU) += $(call cc-option,-mcpu=e6500,$(E5500_CPU))
> +
>  CFLAGS-$(CONFIG_TUNE_CELL) += $(call cc-option,-mtune=cell)
> 
>  KBUILD_CPPFLAGS	+= -Iarch/$(ARCH)
> diff --git a/arch/powerpc/platforms/Kconfig.cputype
> b/arch/powerpc/platforms/Kconfig.cputype index 47d9a03..6704e2e 100644
> --- a/arch/powerpc/platforms/Kconfig.cputype
> +++ b/arch/powerpc/platforms/Kconfig.cputype
> @@ -96,18 +96,31 @@ config GENERIC_CPU
> 
>  config CELL_CPU
>  	bool "Cell Broadband Engine"
> +	depends on PPC_BOOK3S_64
> 
>  config POWER4_CPU
>  	bool "POWER4"
> +	depends on PPC_BOOK3S_64
> 
>  config POWER5_CPU
>  	bool "POWER5"
> +	depends on PPC_BOOK3S_64
> 
>  config POWER6_CPU
>  	bool "POWER6"
> +	depends on PPC_BOOK3S_64
> 
>  config POWER7_CPU
>  	bool "POWER7"
> +	depends on PPC_BOOK3S_64
> +
> +config E5500_CPU
> +	bool "Freescale e5500"
> +	depends on E500
> +
> +config E6500_CPU
> +	bool "Freescale e6500"
> +	depends on E500
> 
>  endchoice