History log of /external/qemu/cpu-exec.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7f38c7f905384c064b88fbdfa2eb054a92be63f3 26-Mar-2014 David 'Digit' Turner <digit@google.com> hax: CPUOldState -> CPUState

Change-Id: I4352da69e3a4e064a9fbaebee1dcb717cbb329b7
/external/qemu/cpu-exec.c
e36a683b547e540c68bf9c5578e05b29c8676f47 25-Mar-2014 David 'Digit' Turner <digit@google.com> kvm: CPUOldState -> CPUState migration.

Change-Id: I1528b1fde21d42d6f0a3a77ce8ba827a9f23a5a1
/external/qemu/cpu-exec.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/cpu-exec.c
fed223d2bab55eda155e3463b9cb6966e69dd73c 24-Mar-2014 David 'Digit' Turner <digit@google.com> Move singlestep_enabled to CPUState.

The previous patch forgot to move this field from CPU_COMMON to
CPUState, so do it here.

Change-Id: I71ed4605c939eb6c23d3e70b08ea89e59842cdd0
/external/qemu/cpu-exec.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/cpu-exec.c
e0444718a051c860aa1ff0079d19f1b25c008c1d 02-Apr-2014 David 'Digit' Turner <digit@google.com> Remove two unused includes of dyngen-exec.h

Change-Id: Ie2ccfb10067f49f34d50383003de6bc66c893fee
/external/qemu/cpu-exec.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/cpu-exec.c
730dce73a94ca51ad8f49861996058771dcd98b2 18-Mar-2014 David 'Digit' Turner <digit@google.com> tcg: Reload local variables after return from longjmp

Upstream 0d10193870b5a81c3bce13a602a5403c3a55cf6c

Change-Id: I5c0bb1ea9d5cb053b4c36a115a1d1fbb2fa1c3ee
/external/qemu/cpu-exec.c
7f7d9a9741a5bf946a51bba2de1eb8fc3374149e 18-Mar-2014 David 'Digit' Turner <digit@google.com> exec.h: fix coding style and change cpu_has_work to return bool

+ Remove obsolete env_to_regs + regs_to_env functions.

Upstream f3e270377acd074f62e08960ef9444adf67d3590

Change-Id: Idd7561fce7b9a92f2194d2a9a1b710d32dc61183
/external/qemu/cpu-exec.c
bf2340f1eae08ddada9ed09490aa83e0a1bd7586 18-Mar-2014 David 'Digit' Turner <digit@google.com> cpu-exec: unify do_interrupt call

Upstream e694d4e289b05d0c9b118850eff961aa9ca33183
Upstream 3c688828bcb3afa2744e1f1729a40eef4a575b56
Upstream d8108fb187bb68459cfe7dca4b5c983db33bcc7b

Change-Id: Ia492dae677ddfe052768b943f8ea275fab8a9c49
/external/qemu/cpu-exec.c
53a08edf171bdbc7e3a2d89b78b96a33361a2760 18-Mar-2014 David 'Digit' Turner <digit@google.com> tcg: Replace op_dead_iargs by op_dead_args

Upstream 866cb6cb21b91809f3f5c49c7c4268573552a108

Change-Id: I2592691c8f4eee7cf99e454e4a80526379e7ad70
/external/qemu/cpu-exec.c
a681001f110feadb11ebed7c46832262784f6720 18-Mar-2014 David 'Digit' Turner <digit@google.com> cpu-exec.c: Avoid AREG0 use.

Make functions take a parameter for CPUArchState instead of
relying on a global env. The CPUArchState pointer is passed
to the TCG prologue which moves it to AREG.

Upstream cea5f9a28faa528b6b1b117c9ab2d8828f473fef

Change-Id: Ic61f5479fba7a4ac72444cca1be72ec35aa2d1d6
/external/qemu/cpu-exec.c
e709a108c057b391882ba28dfd7095c3620473b7 14-Mar-2014 David 'Digit' Turner <digit@google.com> Remove obsolete tb_invalidate_page_range.

Upstream dcfd14b3741983c466ad92fa2ae91eeafce3e5d5

Change-Id: I04fa1834a36cf989c229a9fae26136d0481e486a
/external/qemu/cpu-exec.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/cpu-exec.c
1348777d4229cf65ef12d0a4ee531d4502847277 17-Feb-2014 David 'Digit' Turner <digit@google.com> Create TBContext inside of TCGContext

This matches upstream.

Change-Id: I605dde69aab64dcec3a81875912a6e611ce0cf05
/external/qemu/cpu-exec.c
85c62200dbdb7ced04b34cb228098b888a8cd828 16-Feb-2014 David 'Digit' Turner <digit@google.com> include/exec: Mist minor integrations.

Change-Id: I4b775eac3ef81f466cebd52ecbaab2c94494944f
/external/qemu/cpu-exec.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/cpu-exec.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/cpu-exec.c
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/cpu-exec.c
34c48ff1e3ad5cd2084ca40188754d45f423750b 15-Dec-2013 David 'Digit' Turner <digit@android.com> Move headers to incude/sysemu/

+ arch_init.h, balloon.h, blockdev.h, dma.h, kvm.h,
sysemu.h -> include/sysemu/

+ kvm-android.h -> include/android/kvm.h

Change-Id: I3d334e1b6eea836fdcee9f36fe693cf4c74be54f
/external/qemu/cpu-exec.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/cpu-exec.c
a381ef07088ce479610129e37bfef42538f397da 18-Dec-2011 Jun Nakajima <jun.nakajima@intel.com> Changes to existing files to add HAX support

HAX (Hardware-based Accelerated eXecution) employes hardware virtualization
technology to boost performance of the Android emulator on Mac OS X or Windows
hosts.
This changeset includes the changes required to the existing files. To pass
the compilation, hax.h is added, but CONFIG_HAX is disabled so that no
real changes added.

Change-Id: Ifa5777e8788e6698747c1ec4cd91315161c2ca0b
Signed-off-by: Zhang, Xiantao <xiantao.zhang@intel.com>
Signed-off-by: Xin, Xiaohui <xiaohui.xin@intel.com>
Signed-off-by: Jiang Yunhong <yunhong.jiang@intel.com>
Signed-off-by: Nakajima, Jun <jun.nakajima@intel.com>
/external/qemu/cpu-exec.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/cpu-exec.c
427603850ef4ad967c7d6bb23584a0a8de0d930d 11-May-2011 David 'Digit' Turner <digit@android.com> cpu-exec.c: minor integrate

Change-Id: Id8bef52e4cf42c4ca4e56d34d103ba09dba28b96
/external/qemu/cpu-exec.c
f645f7d6fd841e39524e5df8c1a7fd8347f92ac1 11-May-2011 David 'Digit' Turner <digit@android.com> cpu_restore_state: remove un-necessary argument.

Change-Id: I01cef0743cc9db9d21c2b7feb9f2a877ac4d2b35
/external/qemu/cpu-exec.c
24cd25ab654ab829ba8e9c0c634db50ed28f325a 10-Sep-2010 David Turner <digit@android.com> upstream: cpu-exec.c changes
/external/qemu/cpu-exec.c
a5d412078b8e7478d81df03710eacc7a21096ba2 11-May-2010 David 'Digit' Turner <digit@android.com> Upstream: Replace sys-queue.h with qemu-queue.h

Change-Id: I5c51f54a7fe2ea702420429bbf0c789ed6d8c534
/external/qemu/cpu-exec.c
2c538c86c15d597cc875dc926e4e39285c5625df 11-May-2010 David 'Digit' Turner <digit@android.com> Upstream: Use CONFIG_BSD instead of _BSD and HOST_BSD

Also fix OS X build, which failed with a link error.
Change-Id: Idd63f25dc1f46ea66da5727c7577def34f048c3c
/external/qemu/cpu-exec.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/cpu-exec.c
8b23a6c7e1aee255004dd19098d4c2462b61b849 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/cpu-exec.c
f721e3ac031f892af46f255a47d7f54a91317b30 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/external/qemu/cpu-exec.c
c27f813900a3c114562efbb8df1065e94766fc48 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/external/qemu/cpu-exec.c
55f4e4a5ec657a017e3bf75299ad71fd1c968dd3 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/external/qemu/cpu-exec.c
413f05aaf54fa08c0ae7e997327a4f4a473c0a8d 12-Jan-1970 Upstream <upstream-import@none> external/qemu 0.8.2
/external/qemu/cpu-exec.c