emulator: Build emulator platform images as ARMv7-A

Backport from AOSP master.

Now that the emulator supports proper ARMv7 emulation, switch to
building all emulator-specific platform images using this instruction
set, in order to benefit from the noticeable speed boost provided by
Thumb-2 instructions.

Note that we don't build with NEON support because emulated NEON
instructions are currently slow, though they work.

IMPORTANT: You need to have the following emulator patch in your tree
           in order to start these platform builds easily:

           https://review.source.android.com//#change,23798

Otherwise, the alternative is to do these things:

   1/ Telling the emulator to emulate an ARMv7-A CPU, instead of
      an ARMv5TE one. This is normally done with "-qemu cortex-a8"

   2/ Using an ARMv7-A capable kernel image, which is available and
      usable with -kernel prebuilt/android-arm/kernel-qemu-armv7

Note that the emulator has a special hack that automatically enables
1/ if 2/ is being used (i.e. if the kernel image name ends with -armv7,
then emulate an ARMv7-A CPU automatically).

So in reality, only 2/ is required.

Change-Id: Id3ac7cdbda892e519af98aff1f02136f344406b8
Orig-Change-Id: I5c0245ba5e6a2bc34d0d49b2c024fffd317a5eed
This commit is contained in:
David 'Digit' Turner
2011-06-15 15:33:24 +02:00
committed by David 'Digit' Turner
parent 63152fd929
commit c7e3877dad

View File

@@ -6,7 +6,22 @@
# The generic product target doesn't have any hardware-specific pieces.
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_CPU_ABI := armeabi
# Note: we build 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).
#
# 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.
#
TARGET_ARCH_VARIANT := armv7-a
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
HAVE_HTC_AUDIO_DRIVER := true
BOARD_USES_GENERIC_AUDIO := true