From de39dc71625d1a66cc611d1a85bf53545cba60a3 Mon Sep 17 00:00:00 2001 From: Adam Ford Date: Sat, 4 Aug 2018 16:34:54 -0500 Subject: [PATCH] arm: armv7-a: Compile and tune for armv7-a instead of armv5 arch/arm/Makefile references armv5 for backwards compatibility with older compilers. This patch removes those references to armv5, since by now newer compilers are required which should have armv7 support enabled. The Makefile also also has a list of options for mtune, but the entry for CONFIG_CPU_V7A is empty, so this patch tunes the CPU_V7A architecture to generic-armv7-a. The following size changed apply to omap3_logic using GCC. Stock text data bss dec hex filename 50910 429 67580 118919 1d087 spl/u-boot-spl 540713 22700 327072 890485 d9675 u-boot Without Armv5 text data bss dec hex filename 50916 429 67580 118925 1d08d spl/u-boot-spl 540719 22700 327064 890483 d9673 u-boot mtune=generic-armv7-a text data bss dec hex filename 50932 429 67580 118941 1d09d spl/u-boot-spl 540519 22700 327080 890299 d95bb u-boot Signed-off-by: Adam Ford --- arch/arm/Makefile | 4 ++-- arch/arm/mach-omap2/omap3/lowlevel_init.S | 1 + doc/README.omap3 | 7 ------- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/arch/arm/Makefile b/arch/arm/Makefile index cac58bd..4e1b8cf 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -15,7 +15,7 @@ arch-$(CONFIG_CPU_PXA) = arch-$(CONFIG_CPU_ARM1136) =-march=armv5 arch-$(CONFIG_CPU_ARM1176) =-march=armv5t arch-$(CONFIG_CPU_V7A) =$(call cc-option, -march=armv7-a, \ - $(call cc-option, -march=armv7, -march=armv5)) + $(call cc-option, -march=armv7)) arch-$(CONFIG_CPU_V7M) =-march=armv7-m arch-$(CONFIG_CPU_V7R) =-march=armv7-r arch-$(CONFIG_ARM64) =-march=armv8-a @@ -40,7 +40,7 @@ tune-$(CONFIG_CPU_SA1100) =-mtune=strongarm1100 tune-$(CONFIG_CPU_PXA) =-mcpu=xscale tune-$(CONFIG_CPU_ARM1136) = tune-$(CONFIG_CPU_ARM1176) = -tune-$(CONFIG_CPU_V7A) = +tune-$(CONFIG_CPU_V7A) =-mtune=generic-armv7-a tune-$(CONFIG_CPU_V7R) = tune-$(CONFIG_ARM64) = diff --git a/arch/arm/mach-omap2/omap3/lowlevel_init.S b/arch/arm/mach-omap2/omap3/lowlevel_init.S index e6e907d..2a05b5e 100644 --- a/arch/arm/mach-omap2/omap3/lowlevel_init.S +++ b/arch/arm/mach-omap2/omap3/lowlevel_init.S @@ -21,6 +21,7 @@ * R0 - Service ID * R1 - paramer list */ +/* TODO: Re-evaluate the comment at the end regarding armv5 vs armv7 */ ENTRY(do_omap3_emu_romcode_call) PUSH {r4-r12, lr} @ Save all registers from ROM code! MOV r12, r0 @ Copy the Secure Service ID in R12 diff --git a/doc/README.omap3 b/doc/README.omap3 index e09ac03..00bcbdb 100644 --- a/doc/README.omap3 +++ b/doc/README.omap3 @@ -23,13 +23,6 @@ Currently the following boards are supported: * CompuLab Ltd. CM-T35 [8] -Toolchain -========= - -While ARM Cortex-A8 support ARM v7 instruction set (-march=armv7a) we compile -with -march=armv5 to allow more compilers to work. For U-Boot code this has -no performance impact. - Build =====