Re: [PATCH private 1/3] ARC: allow to overwrite default mcpu compiler flag

From: Eugeniy Paltsev
Date: Fri May 29 2020 - 08:11:04 EST


Oooops, this one is duplicate and should be dropped.

---
Eugeniy Paltsev


________________________________________
From: Eugeniy Paltsev <Eugeniy.Paltsev@xxxxxxxxxxxx>
Sent: Friday, May 29, 2020 14:55
To: linux-snps-arc@xxxxxxxxxxxxxxxxxxx; Vineet Gupta
Cc: linux-kernel@xxxxxxxxxxxxxxx; Alexey Brodkin; Eugeniy Paltsev
Subject: [PATCH private 1/3] ARC: allow to overwrite default mcpu compiler flag

By default we set -mcpu=xxx compiler flag depending on the CPU ISA
version. It's good starting point, however that may be not enough
as for some platforms we may want to use some specific 'mcpu'
options for better optimization or to workaround HW issues.

We are going to use this option for HSDK-4xD board support.
In addition it also allows to awoid patching 'mcpu' in ARC Makefile
when we building Linux for some non-standard simulation or FPGA-based
platforms.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@xxxxxxxxxxxx>
---
arch/arc/Kconfig | 7 +++++++
arch/arc/Makefile | 4 ++++
2 files changed, 11 insertions(+)

diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index ff306246d0f8..e7805db10f7a 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -377,6 +377,13 @@ config ARC_HAS_SWAPE
bool "Insn: SWAPE (endian-swap)"
default y

+config ARC_MCPU_OVERWRITE
+ string "Overwrite default -mcpu compiler flag"
+ default ""
+ help
+ Overwrite default -mcpu=xxx compiler flag (which is set depending on
+ the ISA version) with the specified value.
+
if ISA_ARCV2

config ARC_USE_UNALIGNED_MEM_ACCESS
diff --git a/arch/arc/Makefile b/arch/arc/Makefile
index 20e9ab6cc521..1b37e44d9b57 100644
--- a/arch/arc/Makefile
+++ b/arch/arc/Makefile
@@ -10,8 +10,12 @@ CROSS_COMPILE := $(call cc-cross-prefix, arc-linux- arceb-linux-)
endif

cflags-y += -fno-common -pipe -fno-builtin -mmedium-calls -D__linux__
+ifeq ($(CONFIG_ARC_MCPU_OVERWRITE),"")
cflags-$(CONFIG_ISA_ARCOMPACT) += -mA7
cflags-$(CONFIG_ISA_ARCV2) += -mcpu=hs38
+else
+cflags-y += $(shell echo $(CONFIG_ARC_MCPU_OVERWRITE))
+endif

ifdef CONFIG_ARC_CURR_IN_REG
# For a global register defintion, make sure it gets passed to every file
--
2.21.3