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 <mpe@xxxxxxxxxxxxxx> Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx> > --- > 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 >