History log of /external/qemu/target-i386/hax-all.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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