From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARM: move -march=* and -mtune= options to arch/arm/Makefile
Date: Thu, 2 Apr 2015 08:58:04 +0200 [thread overview]
Message-ID: <20150402085804.52f44a70@lilith> (raw)
In-Reply-To: <1423565576-30484-1-git-send-email-yamada.m@jp.panasonic.com>
Hello Masahiro,
On Tue, 10 Feb 2015 19:52:56 +0900, Masahiro Yamada <yamada.m@jp.panasonic.com> 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 <yamada.m@jp.panasonic.com>
> ---
>
> 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, <garyj@denx.de>
> -#
> -# 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, <garyj@denx.de>
> -#
> -# 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 <www.elinos.com>
> -# Marius Groeger <mgroeger@sysgo.de>
> -#
> -# 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, <garyj@denx.de>
> -#
> -# 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, <garyj@denx.de>
> -#
> -# 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, <garyj@denx.de>
> -#
> -# 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 <www.elinos.com>
> -# Marius Groeger <mgroeger@sysgo.de>
> -#
> -# SPDX-License-Identifier: GPL-2.0+
> -#
> -
> -PLATFORM_CPPFLAGS += -march=armv4 -mtune=strongarm1100
> --
> 1.9.1
>
Applied to u-boot-arm/master, thanks!
Amicalement,
--
Albert.
prev parent reply other threads:[~2015-04-02 6:58 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-10 10:52 [U-Boot] [PATCH] ARM: move -march=* and -mtune= options to arch/arm/Makefile Masahiro Yamada
2015-02-10 11:00 ` Marek Vasut
2015-02-10 12:05 ` Stefan Roese
2015-02-25 21:14 ` Albert ARIBAUD
2015-02-26 17:43 ` Masahiro YAMADA
2015-03-13 11:54 ` Masahiro Yamada
2015-04-02 6:58 ` Albert ARIBAUD [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150402085804.52f44a70@lilith \
--to=albert.u.boot@aribaud.net \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.