All of lore.kernel.org
 help / color / mirror / Atom feed
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.

  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 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.