af1a7207f643bbb6c7a9b5f68089dc60c34e33ce |
|
30-Apr-2014 |
yucheng yu <yu-cheng.yu@intel.com> |
Fixed passing CPUState to hax_init_vcpu(). Signed-off-by: yucheng yu <yu-cheng.yu@intel.com>
/external/qemu/cpus.c
|
7f38c7f905384c064b88fbdfa2eb054a92be63f3 |
|
26-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
hax: CPUOldState -> CPUState Change-Id: I4352da69e3a4e064a9fbaebee1dcb717cbb329b7
/external/qemu/cpus.c
|
e36a683b547e540c68bf9c5578e05b29c8676f47 |
|
25-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
kvm: CPUOldState -> CPUState migration. Change-Id: I1528b1fde21d42d6f0a3a77ce8ba827a9f23a5a1
/external/qemu/cpus.c
|
0b1a84571c04503c5fb1ac012483f03454e2b140 |
|
25-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
gdb: CPUOldState -> CpuState. Change parameter type and modify callers. Change-Id: Iafcfe694279f715ed0b0fd92a55dfe884d0330e5
/external/qemu/cpus.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/cpus.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/cpus.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/cpus.c
|
e0444718a051c860aa1ff0079d19f1b25c008c1d |
|
02-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
Remove two unused includes of dyngen-exec.h Change-Id: Ie2ccfb10067f49f34d50383003de6bc66c893fee
/external/qemu/cpus.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/cpus.c
|
93949dc9a6f5a702db214d19080397a9e94b45f6 |
|
18-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
Move cpu_has_work and cpu_pc_from_tb to cpu.h Upstream f081c76ccfdbc1fdaa90fa5eb6abad46c1b5bfa8 Change-Id: I6f871f67404e13ba0c5070370542c0166814da02
/external/qemu/cpus.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/cpus.c
|
5cb5c0b8c5145dc0002b24e1421a3fa7a697475e |
|
17-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
savevm.c: Getting closer to upstream. This patch refactors savevm.c considerably to get much closer to upstream. The main benefit is the introduction of savevm_register() and savevm_unregister() functions, which allow the client to provide a description of the state through a VMStateDescription structure. The 'legacy' register_savevm() and unregister_savevm() are still provided (just like upstream does). Future patches will 'upgrade' our virtual devices to the new interface. NOTE: Since DeviceState is not implemented properly yet, qdev_get_path() is stubbed to always return NULL. Change-Id: I7bfa201da40a0e470fafde6ccc002a4216ecd9c1
/external/qemu/cpus.c
|
dcda949f769a11b197f4784fe299a448d87e6e14 |
|
16-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
qemu-timer.c: Use upstream version. This completely modifies the implementation of timers to match upstream, the only difference is that the oddly-placed qemu_gpoll_ns() function is disabled (it's not used yet). Most of the changes here (but not all), were applied through the following sed script: s|qemu_get_clock\s*(\s*vm_clock\s*)|qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)|g s|qemu_get_clock\s*(\s*rt_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_REALTIME)|g s|qemu_get_clock_ns\s*(\s*vm_clock\s*)|qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL)|g s|qemu_get_clock_ns\s*(\s*rt_clock\s*)|qemu_clock_get_ns(QEMU_CLOCK_REALTIME)|g s|qemu_get_clock_ms\s*(\s*vm_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL)|g s|qemu_get_clock_ms\s*(\s*rt_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_REALTIME)|g s|qemu_get_clock_ms\s*(\s*host_clock\s*)|qemu_clock_get_ms(QEMU_CLOCK_HOST)|g s|qemu_get_clock_ms\s*(\s*SHAPER_CLOCK\s*)|qemu_clock_get_ms(SHAPER_CLOCK)|g s|qemu_mod_timer\s*(|timer_mod(|g s|qemu_del_timer\s*(|timer_del(|g s|qemu_free_timer\s*(|timer_free(|g s|qemu_new_timer_ms\s*(\s*rt_clock,|timer_new(QEMU_CLOCK_REALTIME, SCALE_MS,|g s|qemu_new_timer_ns\s*(\s*rt_clock,|timer_new(QEMU_CLOCK_REALTIME, SCALE_NS,|g s|qemu_new_timer_ms\s*(\s*vm_clock,|timer_new(QEMU_CLOCK_VIRTUAL, SCALE_MS,|g s|qemu_new_timer_ns\s*(\s*vm_clock,|timer_new(QEMU_CLOCK_VIRTUAL, SCALE_NS,|g s|qemu_new_timer_ms\s*(\s*host_clock,|timer_new(QEMU_CLOCK_HOST, SCALE_MS,|g s|qemu_new_timer_ns\s*(\s*host_clock,|timer_new(QEMU_CLOCK_HOST, SCALE_NS,|g s|qemu_new_timer_ms\s*(\s*SHAPER_CLOCK\s*,|timer_new(SHAPER_CLOCK, SCALE_MS,|g s|qemu_put_timer\s*(|timer_put(|g s|qemu_get_timer\s*(|timer_get(|g s|qemu_timer_pending\s*(|timer_pending(|g s|qemu_clock_next_deadline\s*(\s*vm_clock|qemu_clock_deadline_ns_all(QEMU_CLOCK_VIRTUAL|g s|qemu_clock_next_deadline\s*(\s*rt_clock|qemu_clock_deadline_ns_all(QEMU_CLOCK_REALTIME|g s|qemu_clock_next_deadline\s*(\s*host_clock|qemu_clock_deadline_ns_all(QEMU_CLOCK_HOST|g + Disable icount-based clock warping/adjustments. It will be re-enabled in the future after cpu emulation has been completely refactored. Change-Id: Ifbcf4a52654eed3a08dfe59b0546a75d4627f758
/external/qemu/cpus.c
|
f01835519fdcb736449d64204c535cbc60f06ca6 |
|
16-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Move some cpu_xxxx() function to cpus.c This moves the following functions from qemu-timer.c to cpus.c to match upstream: cpu_get_ticks cpu_get_clock cpu_enable_ticks cpu_disable_ticks timer_save timer_load + Move declarations from include/qemu/timer.h to include/sysemu/sysemu.h + Remove obsolete declarations from include/qemu/timer.h Change-Id: I83c84cf4c6fb83cbda6a501969e05fbffb4afd4f
/external/qemu/cpus.c
|
f9077a88a0b9edca081b0810dde73d108db087a6 |
|
10-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Move main loop logic to main-loop.c This patch moves most of the logic dealing with the internal main loop into the main-loop.c file, to match upstream. Note however that the actual implementation is not changed, and is still _very_ different from upstream. However, this decouples a few more things to make upcoming refactors significantly easier. This should not affect performance in any way. + Move the log rotation logic, which is specific to QEMU, to log-rotate-android.c and include/android/log-rotate.h, it's likely that the use of SIGUSR1 will not be maintained in the future, because upstream uses that to signal virtual CPU threads internally instead. Change-Id: I7bc886778fa70742c165b1dfe77637564910764e
/external/qemu/cpus.c
|
d79c7c53b561aeb2f34ff5cfd66c8360e7af4f36 |
|
10-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Remove dead CONFIG_IOTHREAD code. This removes all sources that are inside #ifdef CONFIG_IOTHREAD .. #endif blocks, since this configuration macro is never defined for the Android emulator. Note that upstream has definitely switched to an I/O thread implementation, which allows using one core / virtual CPU in KVM mode. However, its implementation is now so different that the code fragments that were kept here were no longer useful, even for historical reasons. Hopefully, the Android emulator will switch to a threaded implementation in future patches, but this will only happen after some more significant refactoring. Change-Id: I5610c9d33a3b8e76c600fd94bab2676067054715
/external/qemu/cpus.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/cpus.c
|
086e66e13d37c79da0cd90b92f0127c869aa7b9d |
|
04-Feb-2014 |
David 'Digit' Turner <digit@android.com> |
qemu-thread: use upstream version. Note: some code in cpus.c still uses functions like qemu_thread_signal() that are not implemented anymore, but this is ok as long as CONFIG_IOTHREAD is not defined in our configurations. This will have to be address in a future patch. Change-Id: I74def50e3f3cfba69352072efc467cf23e025f36
/external/qemu/cpus.c
|
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/cpus.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/cpus.c
|
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/cpus.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/cpus.c
|
a2c14f947951612b45024095afd2210aa7368773 |
|
04-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Cleanup: Remove 100+ compiler warnings. This is a big cleanup that removes compiler warnings by performing the following: - Remove unused functions or variables. - Change pointer cast to be alias safe using unions. - Use __attribute__((unused)) on some local variable definitions when their usage depends on conditional defines that are not always true when compiling the same source several times. - Fix a couple array indexing bugs. There are still a few warnings from the JSON lexer, libjpeg and the TCG helpers though, but the overall compilation is much cleaner. BUG=NONE Change-Id: Ic4483e6402b266ecfd7bca8c92a73d8fcf392a1f
/external/qemu/cpus.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/cpus.c
|
1182284cd2ef1396dbbeeecd46ff90b4a225f0da |
|
17-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
cpus.h -> include/sysemu/ Change-Id: I63adb1aa61112565fa6962687536132b6800689f
/external/qemu/cpus.c
|
057b0f638014d1cb6764aab945b98197329f745e |
|
15-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move elf_ops.h -> include/hw/elf_ops.h + qemu-thread.h -> include/qemu/thread.h + qemu-os-*.h -> include/sysemu/os-*.h Change-Id: I68a58a817e54a7f607b34b7a9b34e38a685233ea
/external/qemu/cpus.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/cpus.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/cpus.c
|
6af6765e2f3bc930d0dce21d752bea570a1b1362 |
|
14-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move monitor.h to include/monitor/ + monitor-android.h -> include/android/monitor.h Change-Id: Iad8afa71461dd70c6997902516fbf4ef7cb8babe
/external/qemu/cpus.c
|
852088c7e08182c2de563872d558309815cbfa0d |
|
14-Dec-2013 |
David 'Digit' Turner <digit@android.com> |
Move headers to include/exec/ Change-Id: Ife43f9cd12a02aa98f408043b0cccb9fe45a9ff7
/external/qemu/cpus.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/cpus.c
|
23ca2ae2bf303236eb6b1e0beb126ec05c6c23bf |
|
01-Jun-2011 |
David 'Digit' Turner <digit@android.com> |
vl-android.c: move cpu functions to cpus.c Change-Id: Ib422f24224c2e75dd126689c67dbbb187d7c1670
/external/qemu/cpus.c
|