History log of /external/qemu/target-arm/op_helper.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5285864985be9077e58e42235af6582dee72e841 03-Jun-2011 David 'Digit' Turner <digit@android.com> target-arm: integrate upstream ARM translator.

The new translator has the following benefits:

- faster emulation of ARMv5TE code (through improved JIT)
- proper support for ARMv7 and NEON
- rebuilding the full-eng platform images for ARMv7-A results
in additionnal speed increases (a.k.a. Thumb-2 rocks!).

Note that, as an interesting side effect, NEON machine code is generally
slower than the equivalent C code it is supposed to replace when run inside
the emulator. This can be explained by the fact that for now the translator
simply translates each NEON instruction into a series of sequential host
instructions (and also requires over-head for packing/unpacking/saturation/
etc...).

This change has been tested by running the "full-eng" platform image
rebuilt for ARMv7-A and Neon and using an appropriate kernel image
(prebuilt/android-arm/kernel/kernel-qemu-armv7). The system could boot
and seems to work perfectly. Not a single issue has been experienced
during testing. On a 2.4 GHz Xeon CPU, the image boots in about 25 seconds
(compared to 40 seconds for a vanilla one without this emulator patch).

Thanks to Peter Maydell at Linaro and ARM with his hard work to make this
happen (first in upstream, and now on Android).

This integration is based on the Meego git repository
(git://gitorious.org/qemu-maemo/qemu.git) using the following hash:

7e2d65b0c95c865b1fa6d3d4948e8e822b9ac2fd

On top of which, the following upstream patch has been applied
(with recommendation from Peter):

b7fa9214d8d4f57992c9acd0ccb125c54a095f00

(We chose this repository because it was the closest to the previous
integrate. We will probably use the Linaro ones for future work on this
part of the emulator).

Change-Id: I54837e3d2e908b2380d158411d7a9813630e7e4e
/external/qemu/target-arm/op_helper.c
3011b40fe40c7261c2c838d0037157dee556face 03-Jun-2011 David 'Digit' Turner <digit@android.com> target-arm: move vstrcpy() to helper-android.c

Change-Id: I76844f4f61ddc26832344d3fb03fb2dd33a93c07
/external/qemu/target-arm/op_helper.c
f645f7d6fd841e39524e5df8c1a7fd8347f92ac1 11-May-2011 David 'Digit' Turner <digit@android.com> cpu_restore_state: remove un-necessary argument.

Change-Id: I01cef0743cc9db9d21c2b7feb9f2a877ac4d2b35
/external/qemu/target-arm/op_helper.c
4e024bb4f5c8aa8b07459f7fbd65c35122127fd1 22-Sep-2010 David 'Digit' Turner <digit@android.com> Remove compiler warnings when building the emulator.

This forces -Wall during the build. Note that this patch doesn't
remove all warnings, but most of the remaining ones are from upstream anyway.

Change-Id: I8808d8495e99866e156ce5780d2e3c305eab491f
/external/qemu/target-arm/op_helper.c
238b4b0ef1a01afa66ef267dae4a96401ad386db 20-Sep-2009 David 'Digit' Turner <digit@google.com> Fix ARMv7 emulation by disabling CPU alignment exceptions

Disable alignment CPU exceptions to be able to boot an ARMv7 system image.
This is because 4.4.0 emits a machine code sequence that stores an 8-bytes double
on a 4-byte aligned address on the stack in the implementation of cvt() in the C
library (see the disassembly for bionic/libc/stdio/vfprintf.c). It is uncertain
that this is a compiler bug at this point, but the upstream QEMU sources don't have
alignment exceptions enabled for any ARM target anyway.

Also, add a check to force CPU emulation to "cortex-a8" if the kernel file name
ends in "-armv7". This is a poor man's approach to hardware configuration that will
be replaced by a more sophisticated solution in the future. Right now, we just want
to be able to build -user system images with the dex preopt pass running in the
emulator with the minimum amount of fuss.
/external/qemu/target-arm/op_helper.c
5d8f37ad78fc66901af50c762029a501561f3b23 14-Sep-2009 David 'Digit' Turner <digit@google.com> Merge upstream QEMU 10.0.50 into the Android source tree.

This change integrates many changes from the upstream QEMU sources.
Its main purpose is to enable correct ARMv6 and ARMv7 support to the
Android emulator. Due to the nature of the upstream code base, this
unfortunately also required changes to many other parts of the source.

Note that to ensure easier integrations in the future, some source files
and directories that have heavy Android-specific customization have been
renamed with an -android suffix. The original files are still there for
easier integration tracking, but *never* compiled. For example:

net.c net-android.c
qemu-char.c qemu-char-android.c
slirp/ slirp-android/
etc...

Tested on linux-x86, darwin-x86 and windows host machines.
/external/qemu/target-arm/op_helper.c
8b23a6c7e1aee255004dd19098d4c2462b61b849 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/target-arm/op_helper.c
f721e3ac031f892af46f255a47d7f54a91317b30 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/target-arm/op_helper.c
c27f813900a3c114562efbb8df1065e94766fc48 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/external/qemu/target-arm/op_helper.c
55f4e4a5ec657a017e3bf75299ad71fd1c968dd3 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/external/qemu/target-arm/op_helper.c
413f05aaf54fa08c0ae7e997327a4f4a473c0a8d 12-Jan-1970 Upstream <upstream-import@none> external/qemu 0.8.2
/external/qemu/target-arm/op_helper.c