Re: [PATCH v2 1/4] ARC: allow to override default mcpu compiler flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/4/20 10:39 AM, Eugeniy Paltsev wrote:
> Kernel builds set their own default -mcpu for a given ISA build.
> But that gets in the way of "custom" -mcpu flags from propagating
> into kernel build.
> 
> This will also be used in next patches for HSDK-4xD board support which
> uses a different -mcpu to effect dual issue scheduling.
> 
> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@xxxxxxxxxxxx>

Much better. Ack with nit below.

> ---
>  arch/arc/Kconfig  |  9 +++++++++
>  arch/arc/Makefile | 21 +++++++++++++++++++--
>  2 files changed, 28 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
> index ff306246d0f8..7034c217708f 100644
> --- a/arch/arc/Kconfig
> +++ b/arch/arc/Kconfig
> @@ -377,6 +377,15 @@ config ARC_HAS_SWAPE
>  	bool "Insn: SWAPE (endian-swap)"
>  	default y
>  
> +config ARC_TUNE_MCPU
> +	string "Override default -mcpu compiler flag"
> +	default ""
> +	help
> +	  Override default -mcpu=xxx compiler flag (which is set depending on
> +	  the ISA version) with the specified value.
> +	  NOTE: If specified flag isn't supported by current compiler the
> +	  ISA default value will be used as a fallback.
> +
>  if ISA_ARCV2
>  
>  config ARC_USE_UNALIGNED_MEM_ACCESS
> diff --git a/arch/arc/Makefile b/arch/arc/Makefile
> index 20e9ab6cc521..2b66e8264174 100644
> --- a/arch/arc/Makefile
> +++ b/arch/arc/Makefile
> @@ -10,8 +10,25 @@ CROSS_COMPILE := $(call cc-cross-prefix, arc-linux- arceb-linux-)
>  endif
>  
>  cflags-y	+= -fno-common -pipe -fno-builtin -mmedium-calls -D__linux__
> -cflags-$(CONFIG_ISA_ARCOMPACT)	+= -mA7
> -cflags-$(CONFIG_ISA_ARCV2)	+= -mcpu=hs38
> +
> +tune-mcpu-def-$(CONFIG_ISA_ARCOMPACT)	:= -mA7
> +tune-mcpu-def-$(CONFIG_ISA_ARCV2)	:= -mcpu=hs38
> +
> +ifeq ($(CONFIG_ARC_TUNE_MCPU),"")
> +cflags-y				+= $(tune-mcpu-def-y)
> +else
> +tune-mcpu				:= $(shell echo $(CONFIG_ARC_TUNE_MCPU))
> +tune-mcpu-ok 				:= $(call cc-option-yn, $(tune-mcpu))
> +ifeq ($(tune-mcpu-ok),y)
> +cflags-y				+= $(tune-mcpu)
> +else
> +# The flag provided by 'CONFIG_ARC_TUNE_MCPU' option isn't known by this compiler
> +# (probably the compiler is too old). Use ISA default mcpu flag instead as a safe option.

It is obvious what is done here and the comments can be skipped (no need to repost).

> +$(warning ** WARNING ** CONFIG_ARC_TUNE_MCPU flag '$(tune-mcpu)' is unknown, fallback to '$(tune-mcpu-def-y)')
> +cflags-y				+= $(tune-mcpu-def-y)
> +endif
> +endif

-Vineet
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-snps-arc



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux