96a590593d9119d5b91d51652c2cb76c98a28c07 |
|
30-Apr-2014 |
baohong <baohong.liu@intel.com> |
Add x86_64 GPs and MSRs for cpu sync up. Change-Id: I82ed87bed7680f76a020e664c0ca18a12d115075 Signed-off-by: baohong <baohong.liu@intel.com>
/external/qemu/target-i386/hax-all.c
|
7891dd35fa2439a70f43ab8572778a398365bf24 |
|
28-Apr-2014 |
David 'Digit' Turner <digit@google.com> |
Support building with newest Mingw64 cross-toolchain. This modifies android-configure.sh to detect the new Mingw64-based cross toolchain (i.e. x86_64-w64-mingw32-gcc) and use it when it is in the user's path. Note that this only builds a 32-bit Windows binary, it just uses a different toolchain to do it. A future patch will add support for building both Win32 and Win64 binaries at the same time (which the new toolchain supports). Since this switches from GCC 4.2 to 4.8, this introduces a ton of new warnings that require some cleanups in the sources too. Only the most important warnings are fixed here. Change-Id: Iec8c9b8332d4a38a2cb8acf368c8aa5341cf77be
/external/qemu/target-i386/hax-all.c
|
7f38c7f905384c064b88fbdfa2eb054a92be63f3 |
|
26-Mar-2014 |
David 'Digit' Turner <digit@google.com> |
hax: CPUOldState -> CPUState Change-Id: I4352da69e3a4e064a9fbaebee1dcb717cbb329b7
/external/qemu/target-i386/hax-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/target-i386/hax-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/target-i386/hax-all.c
|
c005246ed03de874fdc432073ba8e5e8ebfed922 |
|
25-Feb-2014 |
David 'Digit' Turner <digit@google.com> |
Remove trailing spaces in misc sources. Change-Id: I573d4e816112b7401b3c824fbe773b85a8601531
/external/qemu/target-i386/hax-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/target-i386/hax-all.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/target-i386/hax-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/target-i386/hax-all.c
|
fba19d9f0bf94a11e87dd09e230b621025436b76 |
|
01-Apr-2012 |
Jiang, Yunhong <yunhong.jiang@intel.com> |
Add fast mmio support In HAXM 1.0, HAXM driver utilizes QEMU to decode and emulate MMIO accesses. This simplified the HAXM driver implementation. However, decoding in QEMU is slow because QEMU needs to sync with the HAXM driver regarding the vCPU state, guest page tables, etc. Newer HAXM driver will decode some MMIO instructions, and QEMU will get the decoded instruction information like the physical address, access direction etc, and then invoke the MMIO handler directly. This boosts MMIO handling performance significantly, thus performance of 2D/3D games because they performance very frequent MMIO access for GLES commands to the host translator. Change-Id: Ida308b2e6da3697ee37a1b28a9645916e104d9ff 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/target-i386/hax-all.c
|
8a539eaab40dc7a8047dbf97c081467029e6c518 |
|
23-Mar-2012 |
Jiang, Yunhong <yunhong.jiang@intel.com> |
Add a HAXM interface for QEMU API version Add a HAXM interface so that QEMU can communicate its API version to HAXM. With this, HAXM can keep better backward compatibility, for example, masking of the new features if qemu does not support new features. Change-Id: I24c7c8d353653978f507739f6e53a9d389d06e43 Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
/external/qemu/target-i386/hax-all.c
|
1991d8c2b6b85170ee1707ca19fe5c746187a77c |
|
23-Feb-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge "Check HAXM capability in QEMU"
|
4a5a0efd49f100c7d53920807c83d9c74304ecd8 |
|
22-Feb-2012 |
Jiang, Yunhong <yunhong.jiang@intel.com> |
Check HAXM capability in QEMU Checking HAXM capability to check if emulator can use HAXM virtalization. Currently two possibility that HAXM not work. Firstly is VT/NX is not enabled in the system, seconly is HAXM have used up the memory quota. See code comemnts for the memry quota explaination. Checking the capability in advance can give user more information that why HAXM is not working and be more user friendly. Change-Id: I13f73734cf783398f485fabd19cce43364b571c3 Signed-off-by: Xin, Xiaohui <xiaohui.xin@intel.com> Signed-off-by: Gao, Fengqian <fengqian.gao@intel.com> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
/external/qemu/target-i386/hax-all.c
|
1d1280d7d347bb9467bfe9c161cba254f9e55d1c |
|
22-Feb-2012 |
Jiang, Yunhong <yunhong.jiang@intel.com> |
Fix the vmid issue in HAX This patch is lost when submit the HAX patchset. Without this patch, only one emulator instance can use HAXM. Change-Id: Ia8e47ea471ae154036bb5721c51d6d099d9aff5f Signed-off-by: Xin, Xiaohui <xiaohui.xin@intel.com> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
/external/qemu/target-i386/hax-all.c
|
e4a3c7801e0075a49674c79972394ad962b338f2 |
|
18-Dec-2011 |
Jun Nakajima <jun.nakajima@intel.com> |
New files to add HAX support QEMU emulator interacts with the HAX kernel module. A HAX (Hardware-based Accelerated eXecution) kernel module is required to use HAX support. Most guest instructions run in VMX non-root (i.e. in hardware) mode and achieve near-native (relative to the host) performance. QEMU still emulates PIO/MMIO instructions and non-PG (paging) mode operations. HAX is supported only on Mac OS X and Windows hosts when Intel VT is present. Change-Id: I8dd52a35e315437dc568f555742bb8ab7e9d8ab2 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/target-i386/hax-all.c
|