From 7de79cbeafd651313da75dccafb563accc288edb Mon Sep 17 00:00:00 2001 From: Tobias Thierer Date: Mon, 21 Aug 2017 15:03:16 +0000 Subject: [PATCH] Revert "Build support for 32-bit armv8-a" This reverts commit 0daa78eef4b3cfc32833b335e396f3b916038dea. Reason for revert: Broke the build for some targets (including marlin and angler). $ make cts build/core/combo/TARGET_linux-arm.mk:43: kryo is armv8-a. build/core/combo/TARGET_linux-arm.mk:45: TARGET_2ND_ARCH_VARIANT, armv7-a-neon, ignored! Use armv8-a instead. [...] cts/tests/tests/os/jni/android_os_cts_CpuInstructions.cpp:88:20: error: instruction requires: armv7 or earlier asm volatile ( "swp r0, r0, [%0]" : "+r"(ptr) : : "r0" ); ^ :1:2: note: instantiated into assembly here swp r0, r0, [r1] ^ Change-Id: I65a91ed5a4461eca6646df13642a87a5c37d6c85 --- core/combo/TARGET_linux-arm.mk | 20 -------------------- core/combo/arch/arm/armv8-a.mk | 9 --------- target/board/generic_arm64/BoardConfig.mk | 12 ++++++------ 3 files changed, 6 insertions(+), 35 deletions(-) delete mode 100644 core/combo/arch/arm/armv8-a.mk diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk index 73b1c046d..2e179f6ed 100644 --- a/core/combo/TARGET_linux-arm.mk +++ b/core/combo/TARGET_linux-arm.mk @@ -29,26 +29,6 @@ # include defines, and compiler settings for the given architecture # version. # -ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)),) -TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT := generic -endif - -KNOWN_ARMv8_CORES := cortex-a53 cortex-a53.a57 cortex-a73 -KNOWN_ARMv8_CORES += kryo denver64 exynos-m1 exynos-m2 - -# Many devices (incorrectly) use armv7-a-neon as the 2nd architecture variant -# for cores that implement armv8-a ISAs. The following sets it to armv8-a. -ifneq (,$(filter $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT), $(KNOWN_ARMv8_CORES))) - ifneq ($(TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT),armv8-a) - $(warning $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT) is armv8-a.) - ifneq (,$(TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT)) - $(warning TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT, $(TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT), ignored! Use armv8-a instead.) - endif - # Overwrite TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT - TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT := armv8-a - endif -endif - ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT)),) TARGET_$(combo_2nd_arch_prefix)ARCH_VARIANT := armv5te endif diff --git a/core/combo/arch/arm/armv8-a.mk b/core/combo/arch/arm/armv8-a.mk deleted file mode 100644 index 9ef5c4944..000000000 --- a/core/combo/arch/arm/armv8-a.mk +++ /dev/null @@ -1,9 +0,0 @@ -# Configuration for Linux on ARM. -# Generating binaries for the ARMv8-a architecture -# -# Many libraries are not aware of armv8-a, and AArch32 is (almost) a superset -# of armv7-a-neon. So just let them think we are just like v7. -ARCH_ARM_HAVE_ARMV7A := true -ARCH_ARM_HAVE_VFP := true -ARCH_ARM_HAVE_VFP_D32 := true -ARCH_ARM_HAVE_NEON := true diff --git a/target/board/generic_arm64/BoardConfig.mk b/target/board/generic_arm64/BoardConfig.mk index 3420ed3c8..ea4b05ba1 100644 --- a/target/board/generic_arm64/BoardConfig.mk +++ b/target/board/generic_arm64/BoardConfig.mk @@ -35,11 +35,11 @@ ifneq ($(TARGET_BUILD_APPS)$(filter cts,$(MAKECMDGOALS)),) # platforms. # # If you're building a 64 bit platform (and not an application) the -# ARM-v8 specification allows you to assume all the features available in an -# armv7-a-neon CPU. You should set the following as 2nd arch/cpu variant: +# ARM-v8 specification allows you to assume NEON and all the features +# available in a cortex-A15 CPU. You should be able to set : # -# TARGET_2ND_ARCH_VARIANT := armv8-a -# TARGET_2ND_CPU_VARIANT := generic +# TARGET_2ND_ARCH_VARIANT := armv7-a-neon +# TARGET_2ND_CPU_VARIANT := cortex-a15 # # DO NOT USE # DO NOT USE @@ -50,8 +50,8 @@ TARGET_2ND_CPU_VARIANT := generic # DO NOT USE # DO NOT USE else -TARGET_2ND_ARCH_VARIANT := armv8-a -TARGET_2ND_CPU_VARIANT := generic +TARGET_2ND_ARCH_VARIANT := armv7-a-neon +TARGET_2ND_CPU_VARIANT := cortex-a15 endif