diff --git a/target/board/generic/BoardConfig.mk b/target/board/generic/BoardConfig.mk index ee1bde5e7..5642b0990 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