From d3634c108d63d07ce004a66e3abb05e8da57d65b Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Fri, 13 Nov 2015 13:28:41 -0800 Subject: rules.h: Add ENV_ macros to detect current architecture MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch expands the existing ENV_ macros in with a set of ENV_ macros which can be used to detect which architecture the current compilation unit is built for. These are more consistent than compiler-defined macros (like '#ifdef __arm__') and will make it easier to write small, architecture-dependent differences in common code (where we currently often use IS_ENABLED(CONFIG_ARCH_...), which is technically incorrect in a world where every stage can run on a different architecture, and merely kinda happened to work out for now). Also remove a vestigal from ARM64 which was no longer used, and genericise ARM subarchitecture Makefiles a little to make things like __COREBOOT_ARM_ARCH__ available from all file types (including .ld). BUG=None TEST=Compiled Falco, Blaze, Jerry and Smaug. Change-Id: Id51aeb290b5c215c653e42a51919d0838e28621f Signed-off-by: Julius Werner Reviewed-on: http://review.coreboot.org/12433 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Kyösti Mälkki Tested-by: Raptor Engineering Automated Test Stand --- src/arch/arm/armv7/Makefile.inc | 42 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 22 deletions(-) (limited to 'src/arch/arm/armv7') diff --git a/src/arch/arm/armv7/Makefile.inc b/src/arch/arm/armv7/Makefile.inc index 3a489cb259..2e9c49cbe2 100644 --- a/src/arch/arm/armv7/Makefile.inc +++ b/src/arch/arm/armv7/Makefile.inc @@ -20,16 +20,14 @@ armv7-a_flags = -march=armv7-a $(armv7_flags) armv7-m_flags = -march=armv7-m $(armv7_flags) armv7_asm_flags = -Wa,-mthumb -Wa,-mimplicit-it=always -Wa,-mno-warn-deprecated -armv7-a_asm_flags = $(armv7-a_flags) $(armv7_asm_flags) -armv7-m_asm_flags = $(armv7-m_flags) $(armv7_asm_flags) ############################################################################### # bootblock ############################################################################### ifeq ($(CONFIG_ARCH_BOOTBLOCK_ARMV7),y) -bootblock-c-ccopts += $(armv7-a_flags) -bootblock-S-ccopts += $(armv7-a_asm_flags) +bootblock-generic-ccopts += $(armv7-a_flags) +bootblock-S-ccopts += $(armv7_asm_flags) ifneq ($(CONFIG_BOOTBLOCK_CUSTOM),y) bootblock-y += bootblock.S @@ -42,8 +40,8 @@ bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += exception_asm.S bootblock-y += mmu.c else ifeq ($(CONFIG_ARCH_BOOTBLOCK_ARMV7_M),y) -bootblock-c-ccopts += $(armv7-m_flags) -bootblock-S-ccopts += $(armv7-m_asm_flags) +bootblock-generic-ccopts += $(armv7-m_flags) +bootblock-S-ccopts += $(armv7_asm_flags) ifneq ($(CONFIG_BOOTBLOCK_CUSTOM),y) bootblock-y += bootblock_m.S @@ -58,10 +56,10 @@ endif # CONFIG_ARCH_BOOTBLOCK_ARMV7 ################################################################################ ifeq ($(CONFIG_ARCH_VERSTAGE_ARMV7),y) -libverstage-c-ccopts += $(armv7-a_flags) -libverstage-S-ccopts += $(armv7-a_asm_flags) -verstage-c-ccopts += $(armv7-a_flags) -verstage-S-ccopts += $(armv7-a_asm_flags) +libverstage-generic-ccopts += $(armv7-a_flags) +libverstage-S-ccopts += $(armv7_asm_flags) +verstage-generic-ccopts += $(armv7-a_flags) +verstage-S-ccopts += $(armv7_asm_flags) verstage-y += cache.c verstage-y += cpu.S @@ -70,10 +68,10 @@ verstage-y += exception_asm.S verstage-y += mmu.c else ifeq ($(CONFIG_ARCH_VERSTAGE_ARMV7_M),y) -libverstage-c-ccopts += $(armv7-m_flags) -libverstage-S-ccopts += $(armv7-m_asm_flags) -verstage-c-ccopts += $(armv7-m_flags) -verstage-S-ccopts += $(armv7-m_asm_flags) +libverstage-generic-ccopts += $(armv7-m_flags) +libverstage-S-ccopts += $(armv7_asm_flags) +verstage-generic-ccopts += $(armv7-m_flags) +verstage-S-ccopts += $(armv7_asm_flags) endif # CONFIG_ARCH_VERSTAGE_ARMV7_M @@ -87,11 +85,11 @@ romstage-y += exception.c romstage-y += exception_asm.S romstage-y += mmu.c -romstage-c-ccopts += $(armv7-a_flags) -romstage-S-ccopts += $(armv7-a_asm_flags) +romstage-generic-ccopts += $(armv7-a_flags) +romstage-S-ccopts += $(armv7_asm_flags) -rmodules_arm-c-ccopts += $(armv7-a_flags) -rmodules_arm-S-ccopts += $(armv7-a_asm_flags) +rmodules_arm-generic-ccopts += $(armv7-a_flags) +rmodules_arm-S-ccopts += $(armv7_asm_flags) endif # CONFIG_ARCH_ROMSTAGE_ARMV7 @@ -107,10 +105,10 @@ ramstage-y += exception.c ramstage-y += exception_asm.S ramstage-y += mmu.c -ramstage-c-ccopts += $(armv7-a_flags) -ramstage-S-ccopts += $(armv7-a_asm_flags) +ramstage-generic-ccopts += $(armv7-a_flags) +ramstage-S-ccopts += $(armv7_asm_flags) # All rmodule code is armv7 if ramstage is armv7. -rmodules_arm-c-ccopts += $(armv7-a_flags) -rmodules_arm-S-ccopts += $(armv7-a_asm_flags) +rmodules_arm-generic-ccopts += $(armv7-a_flags) +rmodules_arm-S-ccopts += $(armv7_asm_flags) endif # CONFIG_ARCH_RAMSTAGE_ARMV7 -- cgit v1.2.3