From: Albert ARIBAUD <albert.u.boot@aribaud.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] ARM: move -march=* and -mtune= options to arch/arm/Makefile
Date: Fri, 27 Mar 2015 18:06:42 +0100 [thread overview]
Message-ID: <20150327180642.6200eb03@lilith> (raw)
In-Reply-To: <1424972433-11013-1-git-send-email-yamada.m@jp.panasonic.com>
Hello Masahiro,
On Fri, 27 Feb 2015 02:40:33 +0900, Masahiro Yamada <yamada.m@jp.panasonic.com> wrote:
> My main motivations for this commit are:
>
> [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 such options into the single place 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 about 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>
> Acked-by: Marek Vasut <marex@denx.de>
> Acked-by: Stefan Roese <sr@denx.de>
> ---
>
> Changes in v2:
> - Rebased onto u-boot-arm/master (commit 419fa9ae)
>
> 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 878ae26..275c817 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)
> +
> # Machine directory name. This list is sorted alphanumerically
> # by CONFIG_* macro name.
> machine-$(CONFIG_ARCH_AT91) += at91
> 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.
next prev parent reply other threads:[~2015-03-27 17:06 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-26 17:40 [U-Boot] [PATCH v2] ARM: move -march=* and -mtune= options to arch/arm/Makefile Masahiro Yamada
2015-03-27 17:06 ` Albert ARIBAUD [this message]
2015-04-11 3:49 ` Stephen Warren
2015-04-11 6:18 ` Jan Kiszka
2015-04-11 12:53 ` Masahiro Yamada
2015-04-11 14:42 ` Masahiro Yamada
2015-04-11 14:41 ` Masahiro Yamada
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=20150327180642.6200eb03@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox