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/translate-all.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/translate-all.c
|
bf7a22f3a6c38d359d2e933dec4706d1c7375f0a |
|
25-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Move cpu_xxx functions to qom/cpu.h This patch moves a few CPU-releated function declarations to include/qom/cpu.h, while changing their signature to take a CPUState instead of a CPUOldState. Change-Id: I5f09b522dc755be334973a27f58b6704fbccc4c6
/external/qemu/translate-all.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/translate-all.c
|
4ab1225535dfc5fbcbde37a171b39224ea34e30b |
|
24-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
exec.c: Use a QTAILQ to list CPUs. This introduces CPUState, a mere typedef to CPUOldState for now, and changes the way CPUs are listed in QEMU. The goal is to get closer to upstream, while also allowing really separating CPUState from CPUArmState in future patches. + Move "current_cpu" to a thread-local variable on Linux, just like upstream. Testing shows this doesn't affect performance. Change-Id: Id07bbef4ba1584e607bec647d5117ac755c48ce6
/external/qemu/translate-all.c
|
d6d1c4909479d4e5cec2cfa22e15e8c861b19d4f |
|
18-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Delegate setup of TCG temporaries to targets Delegate TCG temp_buf setup to targets, so that they can use a stack frame later instead. Upstream 614f104dfd2bf6d25170fb0afc086920cc7c407b Change-Id: Ie068297b6ded574c7606e8c5708b20500524c2c6
/external/qemu/translate-all.c
|
5bb450ee9cc5da0c6582e63f41c504c7861e2788 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Rename CONFIG_MEMCHECK to CONFIG_ANDROID_MEMCHECK Change-Id: I9b0edcc1e243111f86f18c22eecbebb23219c297
/external/qemu/translate-all.c
|
96e493a7f0be0193cb17b24c3492d998411b5031 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Move memcheck implementation to android/qemu/memcheck/ Change-Id: I806820d2c3d3f1436bbca54e53a7fa1a0e0a4dba
/external/qemu/translate-all.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/translate-all.c
|
975bba804aed54452f774cdbf79a7b4732fc7696 |
|
17-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Augment TCGContext. This moves many static buffers into the TCGContext data structure to match upstream. This shouldn't affect performance. Change-Id: Ib1fc7cf2baef155f1eaadbf9bfd9e2d381606a07
/external/qemu/translate-all.c
|
ff9a2b851f95dff46171881afcdc65b2e164d36d |
|
17-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Move TranslationBlock routines to translate-all.c This matches upstream and makes comparison easier. Note that the implementation has not changed. In particular the page cache still doesn't work with TARGET_PHYS_ADDR_SPACE_BITS == 64. Change-Id: I42b4bf1e4ee819ac76555082c810534415475d55
/external/qemu/translate-all.c
|
85c62200dbdb7ced04b34cb228098b888a8cd828 |
|
16-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
include/exec: Mist minor integrations. Change-Id: I4b775eac3ef81f466cebd52ecbaab2c94494944f
/external/qemu/translate-all.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/translate-all.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/translate-all.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/translate-all.c
|
aa8236dc1b1ea300ab18716db5b8fab42aca3ca7 |
|
10-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
qemu-malloc.c: Remove qemu-specific heap routines. Remove all uses of qemu_malloc/malloc0/realloc/free/strdup/etc to use the equivalent GLib functions (g_malloc, g_free, ...) as per upstream. This also removes qemu-malloc.c since it's no longer required. Change-Id: I3c36a0396b73dd114b8da385b43f56a2e54dbb15
/external/qemu/translate-all.c
|
cc33b2d8035092608c7cba4154e9c44452727e1b |
|
15-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move disas.h to include/disas/ + dis-asm.h -> include/disas/bfd.h + arm-dis.c -> disas/arm.c ppc-dis.c -> disas/ppc.c i386-dis.c -> disas/i386.c mips-dis.c -> disas/mips.c + remove all unused .ld scripts Change-Id: Ie29662b83c09ea17d34e42dda3998691c182b10e
/external/qemu/translate-all.c
|
852088c7e08182c2de563872d558309815cbfa0d |
|
14-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move headers to include/exec/ Change-Id: Ife43f9cd12a02aa98f408043b0cccb9fe45a9ff7
/external/qemu/translate-all.c
|
7a78db75ad42aea283f5073f51891464104a9fc3 |
|
14-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move qemu-timer.h to include/qemu/timer.h Note: upstream still puts qemu-timer.c in the top-level directory, so no need to move it Change-Id: I475309d6f0040b4fd2277e52a2526825c112e91f
/external/qemu/translate-all.c
|
c5111a01ca209a29fdcb1a9a8917cc08ae5af9cb |
|
11-Jul-2013 |
Andrey Petrov <andrey.petrov@gmail.com> |
memcheck: fix guest pc <-> host pc mapping on 64 bit arch Currently -memcheck A and friends do not report guest PCs properly on 64-bit hosts, because the code assumes host and guest pointer sizes match. As result, memcheck can't figure out guest PC so it renders functionality virtually worthless. This fix changes tpc2gpc from target_ulong to uintptr_t. This works on both 32-bit and 64-bit hosts, as the type represents unsigned integer matched to pointer on a given architecture. Change-Id: Ie8515796c56ef1b3132d0b3b0dd2bee1d9ec072d Signed-off-by: Andrey Petrov <andrey.petrov@gmail.com>
/external/qemu/translate-all.c
|
f1d9bf153726533acf659efd796aa484dfd0b412 |
|
11-May-2011 |
David 'Digit' Turner <digit@android.com> |
tcg: integrate upstream version Change-Id: Ifcdebc2e7179fbc64b46a9150e6dae62f86eba3c
/external/qemu/translate-all.c
|
f645f7d6fd841e39524e5df8c1a7fd8347f92ac1 |
|
11-May-2011 |
David 'Digit' Turner <digit@android.com> |
cpu_restore_state: remove un-necessary argument. Change-Id: I01cef0743cc9db9d21c2b7feb9f2a877ac4d2b35
/external/qemu/translate-all.c
|
d3d4468189618e89f74d8f51b8470f277e000938 |
|
10-May-2011 |
David 'Digit' Turner <digit@android.com> |
translate-all.c: minor integrate
/external/qemu/translate-all.c
|
d9b6cb97a8a9e93f1bbe5351874b03f7faa81783 |
|
20-Oct-2010 |
David 'Digit' Turner <digit@android.com> |
Fix linux-x86_64 build. 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
/external/qemu/translate-all.c
|
6a9ef1773bf874dea493ff3861782a1e577b67dd |
|
09-Sep-2010 |
David Turner <digit@android.com> |
upstream: move timer management code to qemu-timer.c
/external/qemu/translate-all.c
|
2910f183ddd5286911bc1e3499ea93cb57de8b75 |
|
11-May-2010 |
David 'Digit' Turner <digit@android.com> |
Upstream: Misc integration - includes qobject.h and related sources Change-Id: Idfa93ab5c67c95a3bc1869eeaf3a84a75fe24cd6
/external/qemu/translate-all.c
|
5389aa19033153c09556d1362a8b8a56abccb8f5 |
|
16-Feb-2010 |
Vladimir Chtchetkine <vchtchetkine@google.com> |
Merge memory checking from sandbox Change-id: Ibce845d0
/external/qemu/translate-all.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/translate-all.c
|
8b23a6c7e1aee255004dd19098d4c2462b61b849 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/external/qemu/translate-all.c
|
f721e3ac031f892af46f255a47d7f54a91317b30 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/external/qemu/translate-all.c
|
c27f813900a3c114562efbb8df1065e94766fc48 |
|
11-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@130745
/external/qemu/translate-all.c
|
55f4e4a5ec657a017e3bf75299ad71fd1c968dd3 |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/external/qemu/translate-all.c
|
413f05aaf54fa08c0ae7e997327a4f4a473c0a8d |
|
12-Jan-1970 |
Upstream <upstream-import@none> |
external/qemu 0.8.2
/external/qemu/translate-all.c
|