aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsaac Chen <ycchen@google.com>2018-05-29 13:06:11 +0800
committerIsaac Chen <ycchen@google.com>2018-05-31 10:01:08 +0800
commitb2e58893c35ff59a286d711bd3bfcc7294a0f6c5 (patch)
treed0dec4155afb2d218e0c4b091d668077bb3cb3c0
parent014d1fc9692aee8eecb95379452cc1dbe846c44b (diff)
downloadbuild-b2e58893c35ff59a286d711bd3bfcc7294a0f6c5.tar.gz
Set proper CPU variant for aosp_arm
System image of aosp_arm products is the new GSI in Pi. Its arch variants need to be the same as the legacy GSI built with aosp_arm_ab so it can pass related CTS/VTS tests. Bug: 80401108 Test: $ lunch aosp_arm-userdebug; m -j; emulator # booted OK $ lunch aosp_arm-userdebug; m -j cts Change-Id: I29fffca3e02a2251913a327b54640fc622e77a8d
-rw-r--r--target/board/generic/BoardConfig.mk29
1 files changed, 21 insertions, 8 deletions
diff --git a/target/board/generic/BoardConfig.mk b/target/board/generic/BoardConfig.mk
index c76339f164..82f9289e1d 100644
--- a/target/board/generic/BoardConfig.mk
+++ b/target/board/generic/BoardConfig.mk
@@ -8,18 +8,31 @@ TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_ARCH := arm
-# Note: we build the platform images for ARMv7-A _without_ NEON.
+# Note: Before Pi, we built the platform images for ARMv7-A _without_ NEON.
#
-# Technically, the emulator supports ARMv7-A _and_ NEON instructions, but
-# emulated NEON code paths typically ends up 2x slower than the normal C code
-# it is supposed to replace (unlike on real devices where it is 2x to 3x
-# faster).
+ifneq ($(TARGET_BUILD_APPS)$(filter cts sdk,$(MAKECMDGOALS)),)
+# DO NOT USE
#
-# What this means is that the platform image will not use NEON code paths
-# that are slower to emulate. On the other hand, it is possible to emulate
-# application code generated with the NDK that uses NEON in the emulator.
+# This architecture variant should NOT be used for 32 bit arm platform
+# builds. It is the lowest common denominator required to build
+# an unbundled application for all supported 32 platforms.
+# cts for 32 bit arm is built using aosp_arm64 product.
#
+# If you are building a 32 bit platform (and not an application),
+# you should set the following as 2nd arch variant:
+#
+# TARGET_ARCH_VARIANT := armv7-a-neon
+#
+# DO NOT USE
TARGET_ARCH_VARIANT := armv7-a
+# DO NOT USE
+else
+# Starting from Pi, System image of aosp_arm products is the new GSI
+# for real devices newly launched for Pi. These devices are usualy not
+# as performant as the mainstream 64-bit devices and the performance
+# provided by NEON is important for them to pass related CTS tests.
+TARGET_ARCH_VARIANT := armv7-a-neon
+endif
TARGET_CPU_VARIANT := generic
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi