On Fri, Mar 03, 2023 at 12:16:55AM +1100, Michael Ellerman wrote:
> Currently the -mtune options are set in the Makefile, depending on what
> is the compiler supports.
> 
> One downside of doing it that way is that the chosen -mtune option is
> not recorded in the .config.
> 
> Another downside is that doing more complicated logic to calculate the
> correct option gets messy in the Makefile.
> 
> So move the determination of which -mtune option to use into Kconfig
> logic.
> 
> Signed-off-by: Michael Ellerman <m...@ellerman.id.au>

Reviewed-by: Nathan Chancellor <nat...@kernel.org>

> ---
>  arch/powerpc/Makefile                  | 4 +---
>  arch/powerpc/platforms/Kconfig.cputype | 6 ++++++
>  2 files changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 87d6ac27eebd..779956007f0c 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -156,9 +156,7 @@ endif
>  CFLAGS-$(CONFIG_TARGET_CPU_BOOL) += -mcpu=$(CONFIG_TARGET_CPU)
>  AFLAGS-$(CONFIG_TARGET_CPU_BOOL) += -mcpu=$(CONFIG_TARGET_CPU)
>  
> -CFLAGS-$(CONFIG_POWERPC64_CPU) += $(call cc-option,-mtune=power10,   \
> -                               $(call cc-option,-mtune=power9,       \
> -                               $(call cc-option,-mtune=power8)))
> +CFLAGS-y += $(CONFIG_TUNE_CPU)
>  
>  asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1)
>  
> diff --git a/arch/powerpc/platforms/Kconfig.cputype 
> b/arch/powerpc/platforms/Kconfig.cputype
> index 046b571496b1..7d7477b73951 100644
> --- a/arch/powerpc/platforms/Kconfig.cputype
> +++ b/arch/powerpc/platforms/Kconfig.cputype
> @@ -273,6 +273,12 @@ config TARGET_CPU
>       default "e500mc" if E500MC_CPU
>       default "powerpc" if POWERPC_CPU
>  
> +config TUNE_CPU
> +     string
> +     default "-mtune=power10" if POWERPC64_CPU && CC_IS_GCC   && 
> $(cc-option,-mtune=power10)
> +     default "-mtune=power9"  if POWERPC64_CPU && CC_IS_GCC   && 
> $(cc-option,-mtune=power9)
> +     default "-mtune=power8"  if POWERPC64_CPU && CC_IS_GCC   && 
> $(cc-option,-mtune=power8)

Would it be cleaner to hoist the POWERPC64_CPU dependency?

config TUNE_CPU
        string
        default "-mtune=power10" if CC_IS_GCC   && $(cc-option,-mtune=power10)
        default "-mtune=power9"  if CC_IS_GCC   && $(cc-option,-mtune=power9)
        default "-mtune=power8"  if CC_IS_GCC   && $(cc-option,-mtune=power8)
        depends on POWERPC64_CPU

> +
>  config PPC_BOOK3S
>       def_bool y
>       depends on PPC_BOOK3S_32 || PPC_BOOK3S_64
> -- 
> 2.39.2
> 

Reply via email to