From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Thu, 2 Apr 2015 08:58:04 +0200 Subject: [U-Boot] [PATCH] ARM: move -march=* and -mtune= options to arch/arm/Makefile In-Reply-To: <1423565576-30484-1-git-send-email-yamada.m@jp.panasonic.com> References: <1423565576-30484-1-git-send-email-yamada.m@jp.panasonic.com> Message-ID: <20150402085804.52f44a70@lilith> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Masahiro, On Tue, 10 Feb 2015 19:52:56 +0900, Masahiro Yamada wrote: > My main motivation for this commit: > > [1] Follow the arch/arm/Makefile style of Linux Kernel > > [2] Maintain compiler options systematically > Currently, we give -march=* and -mtune=* options inconsistently: > Only some of the CPUs pass -march=* and -mtune=* options. > By collecting flags into the arch/arm/Makefile, we can tell which > options are missing at a glance. > > [3] Prepare for deprecating arch/*/cpu/*/config.mk > > Note: > This commit just moves the compiler options so as not to change > the behavior at all. It does not care the correctness of the > given options. Fox example, "-march=armv5te" might be better than > "-march=armv4" for ARM946EJS, but it is beyond the scope this > commit. Also, filling the missing -march=* and -tune=* is left > to follow-up patches. > > Signed-off-by: Masahiro Yamada > --- > > arch/arm/Makefile | 32 ++++++++++++++++++++++++++++++++ > arch/arm/cpu/arm1136/config.mk | 9 --------- > arch/arm/cpu/arm1176/config.mk | 9 --------- > arch/arm/cpu/arm720t/config.mk | 9 --------- > arch/arm/cpu/arm920t/config.mk | 8 -------- > arch/arm/cpu/arm926ejs/config.mk | 8 -------- > arch/arm/cpu/arm946es/config.mk | 8 -------- > arch/arm/cpu/armv7/config.mk | 5 ----- > arch/arm/cpu/armv8/config.mk | 2 -- > arch/arm/cpu/pxa/config.mk | 2 -- > arch/arm/cpu/sa1100/config.mk | 9 --------- > 11 files changed, 32 insertions(+), 69 deletions(-) > delete mode 100644 arch/arm/cpu/arm1136/config.mk > delete mode 100644 arch/arm/cpu/arm1176/config.mk > delete mode 100644 arch/arm/cpu/arm720t/config.mk > delete mode 100644 arch/arm/cpu/arm920t/config.mk > delete mode 100644 arch/arm/cpu/arm926ejs/config.mk > delete mode 100644 arch/arm/cpu/arm946es/config.mk > delete mode 100644 arch/arm/cpu/sa1100/config.mk > > diff --git a/arch/arm/Makefile b/arch/arm/Makefile > index ebb7dc3..b63544f 100644 > --- a/arch/arm/Makefile > +++ b/arch/arm/Makefile > @@ -2,6 +2,38 @@ > # SPDX-License-Identifier: GPL-2.0+ > # > > +# This selects which instruction set is used. > +arch-$(CONFIG_CPU_ARM720T) =-march=armv4 > +arch-$(CONFIG_CPU_ARM920T) =-march=armv4 > +arch-$(CONFIG_CPU_ARM926EJS) =-march=armv5te > +arch-$(CONFIG_CPU_ARM946ES) =-march=armv4 > +arch-$(CONFIG_CPU_SA1100) =-march=armv4 > +arch-$(CONFIG_CPU_PXA) = > +arch-$(CONFIG_CPU_ARM1136) =-march=armv5 > +arch-$(CONFIG_CPU_ARM1176) =-march=armv5t > +arch-$(CONFIG_CPU_V7) =$(call cc-option, -march=armv7-a, -march=armv5) > +arch-$(CONFIG_ARM64) =-march=armv8-a > + > +# Evaluate arch cc-option calls now > +arch-y := $(arch-y) > + > +# This selects how we optimise for the processor. > +tune-$(CONFIG_CPU_ARM720T) =-mtune=arm7tdmi > +tune-$(CONFIG_CPU_ARM920T) = > +tune-$(CONFIG_CPU_ARM926EJS) = > +tune-$(CONFIG_CPU_ARM946ES) = > +tune-$(CONFIG_CPU_SA1100) =-mtune=strongarm1100 > +tune-$(CONFIG_CPU_PXA) =-mcpu=xscale > +tune-$(CONFIG_CPU_ARM1136) = > +tune-$(CONFIG_CPU_ARM1176) = > +tune-$(CONFIG_CPU_V7) = > +tune-$(CONFIG_ARM64) = > + > +# Evaluate tune cc-option calls now > +tune-y := $(tune-y) > + > +PLATFORM_CPPFLAGS += $(arch-y) $(tune-y) > + > head-y := arch/arm/cpu/$(CPU)/start.o > > ifeq ($(CONFIG_SPL_BUILD),y) > diff --git a/arch/arm/cpu/arm1136/config.mk b/arch/arm/cpu/arm1136/config.mk > deleted file mode 100644 > index a82c6ce..0000000 > --- a/arch/arm/cpu/arm1136/config.mk > +++ /dev/null > @@ -1,9 +0,0 @@ > -# > -# (C) Copyright 2002 > -# Gary Jennejohn, DENX Software Engineering, > -# > -# SPDX-License-Identifier: GPL-2.0+ > -# > - > -# Make ARMv5 to allow more compilers to work, even though its v6. > -PLATFORM_CPPFLAGS += -march=armv5 > diff --git a/arch/arm/cpu/arm1176/config.mk b/arch/arm/cpu/arm1176/config.mk > deleted file mode 100644 > index 5dc2ebb..0000000 > --- a/arch/arm/cpu/arm1176/config.mk > +++ /dev/null > @@ -1,9 +0,0 @@ > -# > -# (C) Copyright 2002 > -# Gary Jennejohn, DENX Software Engineering, > -# > -# SPDX-License-Identifier: GPL-2.0+ > -# > - > -# Make ARMv5 to allow more compilers to work, even though its v6. > -PLATFORM_CPPFLAGS += -march=armv5t > diff --git a/arch/arm/cpu/arm720t/config.mk b/arch/arm/cpu/arm720t/config.mk > deleted file mode 100644 > index 772fb41..0000000 > --- a/arch/arm/cpu/arm720t/config.mk > +++ /dev/null > @@ -1,9 +0,0 @@ > -# > -# (C) Copyright 2002 > -# Sysgo Real-Time Solutions, GmbH > -# Marius Groeger > -# > -# SPDX-License-Identifier: GPL-2.0+ > -# > - > -PLATFORM_CPPFLAGS += -march=armv4 -mtune=arm7tdmi > diff --git a/arch/arm/cpu/arm920t/config.mk b/arch/arm/cpu/arm920t/config.mk > deleted file mode 100644 > index 799afff..0000000 > --- a/arch/arm/cpu/arm920t/config.mk > +++ /dev/null > @@ -1,8 +0,0 @@ > -# > -# (C) Copyright 2002 > -# Gary Jennejohn, DENX Software Engineering, > -# > -# SPDX-License-Identifier: GPL-2.0+ > -# > - > -PLATFORM_CPPFLAGS += -march=armv4 > diff --git a/arch/arm/cpu/arm926ejs/config.mk b/arch/arm/cpu/arm926ejs/config.mk > deleted file mode 100644 > index bdb3da1..0000000 > --- a/arch/arm/cpu/arm926ejs/config.mk > +++ /dev/null > @@ -1,8 +0,0 @@ > -# > -# (C) Copyright 2002 > -# Gary Jennejohn, DENX Software Engineering, > -# > -# SPDX-License-Identifier: GPL-2.0+ > -# > - > -PLATFORM_CPPFLAGS += -march=armv5te > diff --git a/arch/arm/cpu/arm946es/config.mk b/arch/arm/cpu/arm946es/config.mk > deleted file mode 100644 > index 438668d..0000000 > --- a/arch/arm/cpu/arm946es/config.mk > +++ /dev/null > @@ -1,8 +0,0 @@ > -# > -# (C) Copyright 2002 > -# Gary Jennejohn, DENX Software Engineering, > -# > -# SPDX-License-Identifier: GPL-2.0+ > -# > - > -PLATFORM_CPPFLAGS += -march=armv4 > diff --git a/arch/arm/cpu/armv7/config.mk b/arch/arm/cpu/armv7/config.mk > index 6c82c3b..63591d4 100644 > --- a/arch/arm/cpu/armv7/config.mk > +++ b/arch/arm/cpu/armv7/config.mk > @@ -5,11 +5,6 @@ > # SPDX-License-Identifier: GPL-2.0+ > # > > -# If armv7-a is not supported by GCC fall-back to armv5, which is > -# supported by more tool-chains > -PF_CPPFLAGS_ARMV7 := $(call cc-option, -march=armv7-a, -march=armv5) > -PLATFORM_CPPFLAGS += $(PF_CPPFLAGS_ARMV7) > - > # On supported platforms we set the bit which causes us to trap on unaligned > # memory access. This is the opposite of what the compiler expects to be > # the default so we must pass in -mno-unaligned-access so that it is aware > diff --git a/arch/arm/cpu/armv8/config.mk b/arch/arm/cpu/armv8/config.mk > index f5b9559..6850258 100644 > --- a/arch/arm/cpu/armv8/config.mk > +++ b/arch/arm/cpu/armv8/config.mk > @@ -6,7 +6,5 @@ > # > PLATFORM_RELFLAGS += -fno-common -ffixed-x18 > > -PF_CPPFLAGS_ARMV8 := $(call cc-option, -march=armv8-a) > PF_NO_UNALIGNED := $(call cc-option, -mstrict-align) > -PLATFORM_CPPFLAGS += $(PF_CPPFLAGS_ARMV8) > PLATFORM_CPPFLAGS += $(PF_NO_UNALIGNED) > diff --git a/arch/arm/cpu/pxa/config.mk b/arch/arm/cpu/pxa/config.mk > index 525f5d3..7fb5316 100644 > --- a/arch/arm/cpu/pxa/config.mk > +++ b/arch/arm/cpu/pxa/config.mk > @@ -6,8 +6,6 @@ > # SPDX-License-Identifier: GPL-2.0+ > # > > -PLATFORM_CPPFLAGS += -mcpu=xscale > - > # > # !WARNING! > # The PXA's OneNAND SPL uses .text.0 and .text.1 segments to allow booting from > diff --git a/arch/arm/cpu/sa1100/config.mk b/arch/arm/cpu/sa1100/config.mk > deleted file mode 100644 > index 3afa685..0000000 > --- a/arch/arm/cpu/sa1100/config.mk > +++ /dev/null > @@ -1,9 +0,0 @@ > -# > -# (C) Copyright 2002 > -# Sysgo Real-Time Solutions, GmbH > -# Marius Groeger > -# > -# SPDX-License-Identifier: GPL-2.0+ > -# > - > -PLATFORM_CPPFLAGS += -march=armv4 -mtune=strongarm1100 > -- > 1.9.1 > Applied to u-boot-arm/master, thanks! Amicalement, -- Albert.