aboutsummaryrefslogtreecommitdiffstats
path: root/blockdev.c
diff options
context:
space:
mode:
authorJiang, Yunhong <yunhong.jiang@intel.com>2012-04-01 09:35:06 +0800
committerJiang, Yunhong <yunhong.jiang@intel.com>2012-04-07 23:36:40 +0800
commite8bca780fc70318f38cab5bc38e5abdee60375da (patch)
tree3d0ab3aca8a01eb1a51571682059ca4e8ff9b746 /blockdev.c
parentf597bde4b03c8732013c673ca920599d1ee3160d (diff)
downloadexternal_qemu-e8bca780fc70318f38cab5bc38e5abdee60375da.zip
external_qemu-e8bca780fc70318f38cab5bc38e5abdee60375da.tar.gz
external_qemu-e8bca780fc70318f38cab5bc38e5abdee60375da.tar.bz2
Add qemu pipe access with parameter
The following changes are crucial for GPU H/W acceleration because some graphics applications like games perform very frequent QEMU pipe operations to send GLES commands to the host translator. For each read/write buffer operation, currently QEMU pipe requires five MMIO operations. This causes significant overhead when running with hardware virtualization enabled (e.g. HAXM) because each MMIO causes expensive transition from the guest kernel to the kernel driver, and to the QEMU user space in the end. Among such five MMIO accesses, four of them are required to just set up the parameters for the access, like the buffer address, length etc. By passing a buffer containing such parameters, we need only one MMIO operation to send a GLES command to the host translator. Update the qemu_pipe save version for pipe struct changes. Change-Id: Idf6400f3c4c9c8473311312bb1d8f3ea92d68797 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>
Diffstat (limited to 'blockdev.c')
0 files changed, 0 insertions, 0 deletions