86b1fb06ee6ef53d8961ce96343ba4aa37518840 |
|
21-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
tcg: Upgrade to upstream version. This switches the full TCG implementation to the upstream version from the following upstream commit: 1a8e80d7e82aa385ad887dba5d039e399a18264b Note that this requires completely reqwriting the softmmu_template.h declarations to adapt to the new world order where all ld/st helpers now accepts a CPUArchState* value as their first parameter. + This also gets rid of the REGPARM macro, which means that on i386, parameters are now passed on the stack instead of using registers. As surprising as it is, this doesn't seem to affect emulation performance in significant ways when starting the emulator with -force-32bit, compared to the latest SDK emulator binary. This may be due to the improved binary translator. Note that this doesn't switch the emulation to use the new MemoryRegion API, so there are still a few minor differences with upstream softmmu_*.h headers. The target-*/ sources have been minimally modified to accomodate for the changes, and everything seems to work. However, not that CONFIG_ANDROID_MEMCHECK_MMU hasn't been tested yet. + get rid of obsolete softmmu_outside_jit.c NOTE: There are two important differences with the upstream sources: - An '#undef small' in tcg.c used to build the Windows binaries with mingw32 on Linux. - The declaration of cc_compute_all and cc_compute_c helpers in target-i386/helper.h use TCG_CALL_NO_SE instead of TCG_CALL_NO_SE_RWG. Otherwise, it's impossible to boot an x86 system image properly. Change-Id: I6ed5c58f237493d29b1cefaff3e0db6f58977fbf
/external/qemu/target-arm/op_helper.c
|
6657678c3d86395084f6a699e73614195f06c445 |
|
24-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Introduce CPUState. This patch splits the definitions previously found in CPUArchState, to place some of them in a common data structure called CPUState, to mirror upstream. Note that upstream also makes CPUState a complete QOM object that derives from DeviceState / DeviceClass, but this patch doesn't do that. That's why the target-*/cpu-qom.h files, as well as include/qom/cpu.h are not the real ones from upstream yet. Future patches will get rid of CPUOldState, which is currently used as an alias for CPUArchState, but will be replaced entirely by CPUState, requiring changing the signature of many functions to match upstream. QOM-ification will probably happen after that, but may require a few more patches due to layering / coupling issues. Change-Id: Ifc33f8abe2aa80b20da13f5c83c109e37aff7e11 Conflicts: cputlb.c target-arm/op_helper.c target-i386/op_helper.c target-mips/op_helper.c
/external/qemu/target-arm/op_helper.c
|
e6125dec823c2725c6b494378a7acd5b6c33aa4f |
|
04-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
softmmu: Pass env to load/store routines. Also define __ldl_mmu et al. in cputlb.c because the TCG-generated code still calls these directly. Note that these will go once we actually upgrade TCG to a more recent version. Change-Id: Id1983a9f16f64a28c089e458c79f74ac065bf66c
/external/qemu/target-arm/op_helper.c
|
0b4c9e8457959b01cd26f60ef214e9b5b7a297d4 |
|
03-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
target-arm: Get rid of dyngen-exec.h usage. This patch modifies the helpers for the ARM target to ensure that the CPUARMState, when needed, is always passed explicitly as the first parameter, instead of relying on a global register variable. Change-Id: Ic6c588be92bd3eef3b2a2063992028bce44c8a23
/external/qemu/target-arm/op_helper.c
|
eb3bc46a1a876f279b06d7372bf5866fbcf4e8f8 |
|
21-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
exec/softmmu*: Misc fixes. Upstream 2050396801ca0c8359364d61eaadece951006057 Upstream b065927a02cbbaca032ed20d3039baca0914165c Change-Id: I5b484ed026f8755804d443d45be2e96010cef60a
/external/qemu/target-arm/op_helper.c
|
0d8b235c0c6c02de86a4e7415d574175b4518ff0 |
|
20-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Large page TLB flush + Remove unused is_softmmu parameter. Upstream d4c430a80f000d722bb70287af4d4c184a8d7006 Upstream 97b348e7d221c94ddde609346407bd2cd6f85044 Change-Id: I7ccc6a8ffc040f91a58a3206d95417d22001b67b
/external/qemu/target-arm/op_helper.c
|
a889d35e76c8ea18caf70c738fd585c64b857369 |
|
20-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
target-*/exec.h cleanup This patch gets rid of target-*/exec.h headers by moving the corresponding definitions either inside target-*/op_helper.c, or dyngen-exec.h for the global register-based 'env' value, which will be removed in future patches. Upstream 3e4571724fb92c77de81d8b54957de8232be6706 Change-Id: I513d5c27c01c6dc727c1ce6fb7f3a7a5dc03800f
/external/qemu/target-arm/op_helper.c
|
6d1afd3bf737fe15c9ba2a23c2f957ae8ff2e663 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
softmmu_template: Pass CPUArchState to tlb_fill. See upstream patch bccd9ec5f098668576342c83d90d6d6833d61d33 Change-Id: I889d8922d355bade60ae5c8cd00723692218a9c1
/external/qemu/target-arm/op_helper.c
|
3e0677df2819b1366819fe4112dc8464425b6eda |
|
07-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
translate-all.c: Multi-level page maps. This brings translate-all.c to a state much closer to upstream. The major difference is the implementation of multi-level page tables (for PageDesc and PhysPageDesc entries). This is a preliminary requirement to handle 64-bit address spaces properly. + Move cpu_interrupt() from exec.c to translate-all.c Change-Id: I12f17cc92faa51cf6eb9ceba2be4b29817eed5fe
/external/qemu/target-arm/op_helper.c
|
85c62200dbdb7ced04b34cb228098b888a8cd828 |
|
16-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
include/exec: Mist minor integrations. Change-Id: I4b775eac3ef81f466cebd52ecbaab2c94494944f
/external/qemu/target-arm/op_helper.c
|
e2678e116c8cdb0f36b247a5bd9cfacc849362fc |
|
16-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
Rename CPUState to CPUOldState. Upstream qemu has split the cpu state into two new data structures: CPUState -> is used to model the CPU state through the QEMU object model. CPUArchState -> actually a macro that aliases CPUArmState, CPUX86State or CPUMIPSState. Both were part of the "CPUState" in the current emulator sources. Previous patches introduced CPUArchState, as a simple alias to the machine-specific state. This patch renames any use of CPUState in the current code to CPUOldState, except within target-*/ directories where it is replaced by CPU${ARCH}State instead. This will allow bringing the upstream CPUState definition in the source tree, and slowly migrate everything to the right location. Change-Id: I88b79e6e89f1f36084dc2642e1cf415135e4da09
/external/qemu/target-arm/op_helper.c
|
852088c7e08182c2de563872d558309815cbfa0d |
|
14-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move headers to include/exec/ Change-Id: Ife43f9cd12a02aa98f408043b0cccb9fe45a9ff7
/external/qemu/target-arm/op_helper.c
|
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
|