History log of /external/qemu/include/exec/exec-all.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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