| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This is done to allow for future integration of the
upstream auto-generated "trace.h" header file.
Change-Id: I9d1bba3320d9e8acfd7359540d3ed6695773061e
|
|
|
|
| |
Change-Id: Id14c6b106dbac9b4016b7423327e9eb22e21fe75
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch contains minor cleanups that will be needed by
a few future patches that will improve the way core and ui
sources are separated and built.
- remove a few compiler warnings
- formatting
- remove the memcheck CONFIG_MEMCHECK checks (they later get in the way)
- refine hw/hw.h inclusion's of cpu.h (this comes from upstream)
- add missing definitions for PRUd64 and PRUx64 (used later)
- remove CONFIG_SHAPER test, replace with CONFIG_ANDROID instead.
- add missing strdup() calls.
Change-Id: Ic7d6681a51af718c298f0ee4bd884b1d8750f28e
|
|
|
|
|
|
| |
This fails to build on MacOS X
This reverts commit a39b10bd2574825a815d6ad854499dd127cfa9cb.
|
|
|
|
| |
Change-Id: I105c5a097c988cb964b47b40b71c7a08af0d9210
|
|
|
|
|
|
|
|
|
| |
Fix various 64-bitness issues in the source code to
make the --try-64 option work again on Linux. Note that
the generated binary is not faster than its 32-bit variant
when it comes to benchmarking the boot sequence.
Change-Id: Iad248e033757d4cd25524a438a5dbe1cf3aca6cf
|
|
|
|
| |
Change-id: Ibce845d0
|
|
|
|
|
| |
A critical test in the execution loop was missed in the latest huge integration.
Also optimize slightly the basic-block start recording helper interface.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Exceptions used to be traced but that code was deleted during a large merge.
|
| |
|
| |
|
| |
|
| |
|
|
|