commit 3bd3d6b0bf9b8f054a8b31c716f03e2d0dd8751f Author: Jim Fehlig Date: Wed Jan 27 10:56:18 2010 -0700 Support Xen 4.0 sysctl version 7 xen-unstable c/s 20762 bumped XEN_SYSCTL_INTERFACE_VERSION to 7. The interface change does not affect libvirt, other than xenHypervisorInit() failing since version 7 is not tried. The attached patch accommodates the upcoming Xen 4.0 release by checking for XEN_SYSCTL_INTERFACE_VERSION 7. If found, it sets XEN_DOMCTL_INTERFACE_VERSION to 6, which is also new to Xen 4.0. diff --git a/src/xen/xen_hypervisor.c b/src/xen/xen_hypervisor.c index 6d8accc..7f39095 100644 --- a/src/xen/xen_hypervisor.c +++ b/src/xen/xen_hypervisor.c @@ -2100,12 +2100,14 @@ xenHypervisorInit(void) DEBUG0("Using hypervisor call v2, sys ver6 dom ver5\n"); goto done; } - /* Xen 4.0 */ + } + + /* Xen 4.0 */ + sys_interface_version = 7; /* XEN_SYSCTL_INTERFACE_VERSION */ + if (virXen_getdomaininfo(fd, 0, &info) == 1) { dom_interface_version = 6; /* XEN_DOMCTL_INTERFACE_VERSION */ - if (virXen_getvcpusinfo(fd, 0, 0, ipt, NULL, 0) == 0){ - DEBUG0("Using hypervisor call v2, sys ver6 dom ver6\n"); - goto done; - } + DEBUG0("Using hypervisor call v2, sys ver7 dom ver6\n"); + goto done; } hypervisor_version = 1;