aboutsummaryrefslogtreecommitdiffstats
path: root/target-i386/hax-darwin.c
diff options
context:
space:
mode:
authorJiang, Yunhong <yunhong.jiang@intel.com>2012-03-23 13:47:38 +0800
committerJiang, Yunhong <yunhong.jiang@intel.com>2012-04-07 22:36:08 +0800
commit8a539eaab40dc7a8047dbf97c081467029e6c518 (patch)
treef429032dc6e26dfd4af5ffb27a5ddbb1bffae45f /target-i386/hax-darwin.c
parentf597bde4b03c8732013c673ca920599d1ee3160d (diff)
downloadexternal_qemu-8a539eaab40dc7a8047dbf97c081467029e6c518.zip
external_qemu-8a539eaab40dc7a8047dbf97c081467029e6c518.tar.gz
external_qemu-8a539eaab40dc7a8047dbf97c081467029e6c518.tar.bz2
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>
Diffstat (limited to 'target-i386/hax-darwin.c')
-rw-r--r--target-i386/hax-darwin.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/target-i386/hax-darwin.c b/target-i386/hax-darwin.c
index 1522d39..19a1c2d 100644
--- a/target-i386/hax-darwin.c
+++ b/target-i386/hax-darwin.c
@@ -181,6 +181,23 @@ hax_fd hax_host_open_vm(struct hax_state *hax, int vm_id)
return fd;
}
+int hax_notify_qemu_version(hax_fd vm_fd, struct hax_qemu_version *qversion)
+{
+ int ret;
+
+ if (hax_invalid_fd(vm_fd))
+ return -EINVAL;
+
+ ret = ioctl(vm_fd, HAX_VM_IOCTL_NOTIFY_QEMU_VERSION, qversion);
+ if (ret == -1)
+ {
+ dprint("Failed to notify qemu API version\n");
+ return -errno;
+ }
+
+ return 0;
+}
+
/*
* Simply assume that the size should be bigger than the hax_tunnel,
* since the hax_tunnel can be extended later with backward