0e5ff1bd3073e3847ac8400ba46814878beb8605 |
|
04-Jul-2014 |
David 'Digit' Turner <digit@google.com> |
memcheck: Remove feature entirely This patch removes the memcheck feature from the Android emulator code base. This is for several reasons: - Supporting the feature impacts many QEMU-specific emulation files in subtle ways, that make it difficult to refactor this code to integrate upstream changes. - The feature only works for ARM (32-bit), has no unit tests, and generates massive amounts of false positive messages coming from the platform. - Barely anyone uses it. This feature might make a comeback in the future, but this will be under a different life-form that will have adapted to the new state of the code. + As a bonus, fix the build! Change-Id: Idd19a3bc7923379cb1e82850f14499549b6a991b
/external/qemu/cputlb.c
|
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/cputlb.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/cputlb.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/cputlb.c
|
eb3bc46a1a876f279b06d7372bf5866fbcf4e8f8 |
|
21-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
exec/softmmu*: Misc fixes. Upstream 2050396801ca0c8359364d61eaadece951006057 Upstream b065927a02cbbaca032ed20d3039baca0914165c Change-Id: I5b484ed026f8755804d443d45be2e96010cef60a
/external/qemu/cputlb.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/cputlb.c
|
eca7bc24e45fb6809582795ff88f13384b5ce7df |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
softmmu_header.h: Pass CPUArchState to helper routines. This patch modifies the functions defined in softmmu_header.h to accept a CPUArchState as their first parameter, then it adjusts every caller appropriately. This gets up closer to upstream, and remove the obsolete softmmu_outside_jit.h that was used to do the same thing. Change-Id: I9eef01e95b7233c8c6f6da43d17262b9a9ebcd99
/external/qemu/cputlb.c
|
5bb450ee9cc5da0c6582e63f41c504c7861e2788 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Rename CONFIG_MEMCHECK to CONFIG_ANDROID_MEMCHECK Change-Id: I9b0edcc1e243111f86f18c22eecbebb23219c297
/external/qemu/cputlb.c
|
96e493a7f0be0193cb17b24c3492d998411b5031 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Move memcheck implementation to android/qemu/memcheck/ Change-Id: I806820d2c3d3f1436bbca54e53a7fa1a0e0a4dba
/external/qemu/cputlb.c
|
01ee5b8ded901c76731bab7a12a87c2002479014 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
uninline get_page_addr_code() Upstream d39e822265e56af761cc506ac45768ab8af940b4 Change-Id: I91600a59d9eb997503d01123b1a8c83e054a6d99
/external/qemu/cputlb.c
|
3d82f5aa7dee68f223e033136992312fcf6c7f89 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Move GETPC() definition from dyngen-exec.h to exec-all.h Upstream 3917149d96cfa5f619de770af6059f37b6e1df77 Change-Id: I24eb8d2a428be2477a85e2cf29299f9e54df624b
/external/qemu/cputlb.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/cputlb.c
|
81911b0de42d9e949deda2dfef6a59a1c0561bda |
|
10-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Remove dead KQEMU support code. CONFIG_KQEMU was never defined anyway, so remove this dead code from the source tree. Change-Id: Ie854f7015f1c02352b0a59a9b7ff0294fa889a6e
/external/qemu/cputlb.c
|
0e0515410009c5bdd4d2d77a4a9131081573f040 |
|
23-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
migration/qemu-file.h: Move QEMUFile declarations here. Move the QEMUFile-related declarations to migration/qemu-file.h, from hw/hw.h to get closer to upstream. Note that this also updates the implementation slightly. The end result is still different from upstream in certain ways, that will be handled in future patches. Change-Id: I11719c4449040df13d9e6f62c55d642a0dd6434d
/external/qemu/cputlb.c
|
4d6613c972c53178ff9ea39de7fa79d07649fad5 |
|
22-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
Simple renaming: CPUOldState -> CPUArchState where relevant. This patch changes a few headers and sources to match upstream when distinguishing between CPUArchState and CPUOldState (which will become CPUState soon). For now, both types are identical so this should not change the generated binaries at all. Change-Id: I738b4ccaf75838a5931538dd52d1873750f1b816
/external/qemu/cputlb.c
|
3dc53fc5342d24fae977049a40c34cc63ba04ad6 |
|
17-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
cputlb.c: move tlb routines there to match upstream. This contains misc tlb routines that were previously in exec.c. Note that tb_flush_jmp_cache was moved to translate-all.c Change-Id: I60046b55ad46f6fb78c5dbd9444bef137abc5aca
/external/qemu/cputlb.c
|