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/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
fdec1f1b82ec4e5ce7b62b8120ba5b1218a9c0af |
|
21-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
memory: move mmio access to functions Upstream acbbec5d438dcf04234519bac53e1f5263572d76 Change-Id: If0e08248bb93c345e7d112280f3aa23b6e295ad9
/external/qemu/include/exec/exec-all.h
|
eb3bc46a1a876f279b06d7372bf5866fbcf4e8f8 |
|
21-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
exec/softmmu*: Misc fixes. Upstream 2050396801ca0c8359364d61eaadece951006057 Upstream b065927a02cbbaca032ed20d3039baca0914165c Change-Id: I5b484ed026f8755804d443d45be2e96010cef60a
/external/qemu/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
5bb450ee9cc5da0c6582e63f41c504c7861e2788 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Rename CONFIG_MEMCHECK to CONFIG_ANDROID_MEMCHECK Change-Id: I9b0edcc1e243111f86f18c22eecbebb23219c297
/external/qemu/include/exec/exec-all.h
|
01ee5b8ded901c76731bab7a12a87c2002479014 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
uninline get_page_addr_code() Upstream d39e822265e56af761cc506ac45768ab8af940b4 Change-Id: I91600a59d9eb997503d01123b1a8c83e054a6d99
/external/qemu/include/exec/exec-all.h
|
f5e9951fd9e847c21dd4834a195c09dd5d50af04 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
exec-all.h: Fix void pointer arithmetic. Upstream c2f36c6ce777c461faffa904aabaeb56e6458b9e Change-Id: I24b2f49c750c9a8ffc9fe091d69930582df25ffd
/external/qemu/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
6cf763a179bb432ef845025bb3639fcaf1251bd0 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Fix unassigned memory access handling Upstream b14ef7c9ab41ea824c3ccadb070ad95567cca84e Change-Id: Ia198f76ad4277469a96eb79cf495e80f9d4b6196
/external/qemu/include/exec/exec-all.h
|
e709a108c057b391882ba28dfd7095c3620473b7 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Remove obsolete tb_invalidate_page_range. Upstream dcfd14b3741983c466ad92fa2ae91eeafce3e5d5 Change-Id: I04fa1834a36cf989c229a9fae26136d0481e486a
/external/qemu/include/exec/exec-all.h
|
fb02a555a0a2a34e84389d9e441749cc58428531 |
|
14-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
exec-all.h: Make MAX_OP_PER_INSTR large enough for target-arm's uses Upstream 7a86d29a7e16e738d749cfece8857d8902790875 Upstream 5b620fb698e69a5386f2f02c7c455bdbdd59a52b Change-Id: I9e386df22f031f2040e52ba67d6976e622000732
/external/qemu/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
1348777d4229cf65ef12d0a4ee531d4502847277 |
|
17-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Create TBContext inside of TCGContext This matches upstream. Change-Id: I605dde69aab64dcec3a81875912a6e611ce0cf05
/external/qemu/include/exec/exec-all.h
|
c005246ed03de874fdc432073ba8e5e8ebfed922 |
|
25-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Remove trailing spaces in misc sources. Change-Id: I573d4e816112b7401b3c824fbe773b85a8601531
/external/qemu/include/exec/exec-all.h
|
85c62200dbdb7ced04b34cb228098b888a8cd828 |
|
16-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
include/exec: Mist minor integrations. Change-Id: I4b775eac3ef81f466cebd52ecbaab2c94494944f
/external/qemu/include/exec/exec-all.h
|
171dd0bf53f93e64b71d3edc958e15f40c96748d |
|
04-Feb-2014 |
David 'Digit' Turner <digit@android.com> |
Remove CONFIG_TRACE support. It was limited to ARMv5, and didn't work correctly. Moreover, it made integrating upstream changes difficult, so remove it for now. Change-Id: I7da7a1e00b241d452c6dff5a318ccfedc5d7a8a4
/external/qemu/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
9b3a4b03315af9bcdf282243059e8fd1ce1c5c70 |
|
23-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
qemu-common.h: Remove include of cpu.h The "qemu-common.h" included "cpu.h" when NEED_CPU_H was defined, which introduced some nasty circular header dependency issues that affect later patches in this series. This patch removes the include, and fixes all other sources to include "cpu.h" as needed instead. + Move loader declarations to "hw/loader.h" + Move some stuff from "qemu/timer.h" to "exec/cpu-all.h" Change-Id: Ida1a4eccd889bae450b35ee32a931273ffe1f8d8
/external/qemu/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
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/include/exec/exec-all.h
|
bcde1092aca184dbd7860078af020de7d1e4e22f |
|
09-Jan-2014 |
David 'Digit' Turner <digit@android.com> |
rename target_phy_addr_t to hwaddr to match upstream. Upstream got rid of the target_phys_addr_t and replaced it with 'hwaddr', so do the corresponding rename here. Note that: - This also renames <exec/targphys.h> to <exec/hwaddr.h> - Upstream always deins hwaddr as a 64-bit type, while the size of our own hwaddr is still controlled by TARGET_PHYS_ADDR_BITS, and will be 32 for now. A future patch will change the type definition to fully match upstream, but it is more risky / requires more cleanups. It's simply cleaner / simpler to put the related work in a separate patch, given the large number of sources touched by the current change. Change-Id: Iee30869a57798c12109b6a23570b166232bb9244
/external/qemu/include/exec/exec-all.h
|
e1e03df288d5a44bfbffbd86588395c7cbbc27df |
|
15-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move more headers. cbuffer.h, charpipe.h -> include/android/ cbuffer.c, charpipe.c -> android/ qemu_debug.h -> include/android/qemu-debug.h block.h, block_int.h -> include/block/ elf.h -> include/ hax.h -> include/exec/ qemu-lock.h -> include/exec/spinlock.h readline.h -> include/monitor/readline.h qemu-common.h - include qemu-barrier.h -> include/qemu/atomic.h qemu-log.h -> include/qemu/log.h Change-Id: I86b998932461caa35d347cd71b40bd6e4ec7d84d
/external/qemu/include/exec/exec-all.h
|
852088c7e08182c2de563872d558309815cbfa0d |
|
14-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move headers to include/exec/ Change-Id: Ife43f9cd12a02aa98f408043b0cccb9fe45a9ff7
/external/qemu/include/exec/exec-all.h
|