<div dir="ltr">Adding one minor change to copyrights header...<br><br><br><br>- Move all capabilities functions to separate file<br>
- Add initCPU<br>
---<br>
 src/Makefile.am                |   2 +<br>
 src/bhyve/bhyve_capabilities.c | 105 ++++++++++++++++++++++++++++++<div id=":gty" class="">+++++++++++<br>
 src/bhyve/bhyve_capabilities.h |  30 ++++++++++++<br>
 src/bhyve/bhyve_driver.c       |  56 +++++++++++++---------<br>
 4 files changed, 171 insertions(+), 22 deletions(-)<br>
 create mode 100644 src/bhyve/bhyve_capabilities.c<br>
 create mode 100644 src/bhyve/bhyve_capabilities.h<br>
<br>
diff --git a/src/Makefile.am b/src/Makefile.am<br>
index 55427ed..c715422 100644<br>
--- a/src/Makefile.am<br>
+++ b/src/Makefile.am<br>
@@ -780,6 +780,8 @@ PARALLELS_DRIVER_SOURCES =                                  \<br>
                parallels/parallels_network.c<br>
<br>
 BHYVE_DRIVER_SOURCES =                                         \<br>
+               bhyve/bhyve_capabilities.c                      \<br>
+               bhyve/bhyve_capabilities.h                      \<br>
                bhyve/bhyve_command.c                           \<br>
                bhyve/bhyve_command.h                           \<br>
                bhyve/bhyve_driver.h                            \<br>
diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c<br>
new file mode 100644<br>
index 0000000..b8a9db4<br>
--- /dev/null<br>
+++ b/src/bhyve/bhyve_capabilities.c<br>
@@ -0,0 +1,105 @@<br>
+/*<br>
+ * bhyve_capabilities.c: bhyve capabilities module<br>
+ *<br>
+ * Copyright (C) 2014 Semihalf<br>
+ *<br>
+ * This library is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU Lesser General Public<br>
+ * License as published by the Free Software Foundation; either<br>
+ * version 2.1 of the License, or (at your option) any later version.<br>
+ *<br>
+ * This library is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU<br>
+ * Lesser General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU Lesser General Public<br>
+ * License along with this library.  If not, see<br>
+ * <<a href="http://www.gnu.org/licenses/" target="_blank">http://www.gnu.org/licenses/</a>>.<br>
+ *<br>
+ */<br>
+#include <config.h><br>
+#include <sys/utsname.h><br>
+<br>
+#include "viralloc.h"<br>
+#include "virlog.h"<br>
+#include "virstring.h"<br>
+#include "cpu/cpu.h"<br>
+#include "nodeinfo.h"<br>
+#include "bhyve_utils.h"<br>
+#include "domain_conf.h"<br>
+#include "vircommand.h"<br>
+#include "bhyve_capabilities.h"<br>
+<br>
+#define VIR_FROM_THIS   VIR_FROM_BHYVE<br>
+<br>
+VIR_LOG_INIT("bhyve.bhyve_capabilities");<br>
+<br>
+static int<br>
+virBhyveCapsInitCPU(virCapsPtr caps,<br>
+                  virArch arch)<br>
+{<br>
+    virCPUDefPtr cpu = NULL;<br>
+    virCPUDataPtr data = NULL;<br>
+    virNodeInfo nodeinfo;<br>
+    int ret = -1;<br>
+<br>
+    if (VIR_ALLOC(cpu) < 0)<br>
+        goto error;<br>
+<br>
+    cpu->arch = arch;<br>
+<br>
+    if (nodeGetInfo(&nodeinfo))<br>
+        goto error;<br>
+<br>
+    cpu->type = VIR_CPU_TYPE_HOST;<br>
+    cpu->sockets = nodeinfo.sockets;<br>
+    cpu->cores = nodeinfo.cores;<br>
+    cpu->threads = nodeinfo.threads;<br>
+    caps->host.cpu = cpu;<br>
+<br>
+    if (!(data = cpuNodeData(arch))<br>
+        || cpuDecode(cpu, data, NULL, 0, NULL) < 0)<br>
+        goto cleanup;<br>
+<br>
+    ret = 0;<br>
+<br>
+ cleanup:<br>
+    cpuDataFree(data);<br>
+<br>
+    return ret;<br>
+<br>
+ error:<br>
+    virCPUDefFree(cpu);<br>
+    goto cleanup;<br>
+}<br>
+<br>
+virCapsPtr<br>
+virBhyveCapsBuild(void)<br>
+{<br>
+    virCapsPtr caps;<br>
+    virCapsGuestPtr guest;<br>
+<br>
+    if ((caps = virCapabilitiesNew(virArchFromHost(),<br>
+                                   0, 0)) == NULL)<br>
+        return NULL;<br>
+<br>
+    if ((guest = virCapabilitiesAddGuest(caps, "hvm",<br>
+                                         VIR_ARCH_X86_64,<br>
+                                         "bhyve",<br>
+                                         NULL, 0, NULL)) == NULL)<br>
+        goto error;<br>
+<br>
+    if (virCapabilitiesAddGuestDomain(guest,<br>
+                                      "bhyve", NULL, NULL, 0, NULL) == NULL)<br>
+        goto error;<br>
+<br>
+    if (virBhyveCapsInitCPU(caps, virArchFromHost()) < 0)<br>
+            VIR_WARN("Failed to get host CPU");<br>
+<br>
+    return caps;<br>
+<br>
+ error:<br>
+    virObjectUnref(caps);<br>
+    return NULL;<br>
+}<br>
diff --git a/src/bhyve/bhyve_capabilities.h b/src/bhyve/bhyve_capabilities.h<br>
new file mode 100644<br>
index 0000000..efe496e<br>
--- /dev/null<br>
+++ b/src/bhyve/bhyve_capabilities.h<br>
@@ -0,0 +1,30 @@<br>
+/*<br>
+ * bhyve_capabilities.h: bhyve capabilities module<br>
+ *<br>
+ * Copyright (C) 2014 Semihalf<br>
+ *<br>
+ * This library is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU Lesser General Public<br>
+ * License as published by the Free Software Foundation; either<br>
+ * version 2.1 of the License, or (at your option) any later version.<br>
+ *<br>
+ * This library is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU<br>
+ * Lesser General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU Lesser General Public<br>
+ * License along with this library.  If not, see<br>
+ * <<a href="http://www.gnu.org/licenses/" target="_blank">http://www.gnu.org/licenses/</a>>.<br>
+ *<br>
+ */<br>
+<br>
+#ifndef _BHYVE_CAPABILITIES<br>
+#define _BHYVE_CAPABILITIES<br>
+<br>
+#include "capabilities.h"<br>
+<br>
+virCapsPtr virBhyveCapsBuild(void);<br>
+<br>
+#endif<br>
+<br>
diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c<br>
index 3321a79..ef9192a 100644<br>
--- a/src/bhyve/bhyve_driver.c<br>
+++ b/src/bhyve/bhyve_driver.c<br>
@@ -53,6 +53,7 @@<br>
 #include "bhyve_driver.h"<br>
 #include "bhyve_process.h"<br>
 #include "bhyve_utils.h"<br>
+#include "bhyve_capabilities.h"<br>
<br>
 #define VIR_FROM_THIS   VIR_FROM_BHYVE<br>
<br>
@@ -72,44 +73,49 @@ bhyveDriverUnlock(bhyveConnPtr driver)<br>
     virMutexUnlock(&driver->lock);<br>
 }<br>
<br>
+/**<br>
+ * bhyveDriverGetCapabilities:<br>
+ *<br>
+ * Get a reference to the virCapsPtr instance for the<br>
+ * driver.<br>
+ *<br>
+ * The caller must release the reference with virObjetUnref<br>
+ *<br>
+ * Returns: a reference to a virCapsPtr instance or NULL<br>
+ */<br>
 static virCapsPtr<br>
-bhyveBuildCapabilities(void)<br>
+bhyveDriverGetCapabilities(bhyveConnPtr driver)<br>
 {<br>
-    virCapsPtr caps;<br>
-    virCapsGuestPtr guest;<br>
+    virCapsPtr ret = NULL;<br>
<br>
-    if ((caps = virCapabilitiesNew(virArchFromHost(),<br>
-                                   0, 0)) == NULL)<br>
+    if(driver == NULL)<br>
         return NULL;<br>
<br>
-    if ((guest = virCapabilitiesAddGuest(caps, "hvm",<br>
-                                         VIR_ARCH_X86_64,<br>
-                                         "bhyve",<br>
-                                         NULL, 0, NULL)) == NULL)<br>
-        goto error;<br>
+    ret = virObjectRef(driver->caps);<br>
<br>
-    if (virCapabilitiesAddGuestDomain(guest,<br>
-                                      "bhyve", NULL, NULL, 0, NULL) == NULL)<br>
-        goto error;<br>
-<br>
-    return caps;<br>
-<br>
- error:<br>
-    virObjectUnref(caps);<br>
-    return NULL;<br>
+    return ret;<br>
 }<br>
<br>
 static char *<br>
 bhyveConnectGetCapabilities(virConnectPtr conn)<br>
 {<br>
     bhyveConnPtr privconn = conn->privateData;<br>
+    virCapsPtr caps;<br>
     char *xml;<br>
<br>
     if (virConnectGetCapabilitiesEnsureACL(conn) < 0)<br>
         return NULL;<br>
<br>
-    if ((xml = virCapabilitiesFormatXML(privconn->caps)) == NULL)<br>
+    caps = bhyveDriverGetCapabilities(privconn);<br>
+    if (!caps)<br>
+        virReportError(VIR_ERR_INTERNAL_ERROR,<br>
+                       _("Unable to get Capabilities"));<br>
+<br>
+    if ((xml = virCapabilitiesFormatXML(privconn->caps)) == NULL) {<br>
+        virObjectUnref(caps);<br>
         virReportOOMError();<br>
+    }<br>
+    virObjectUnref(caps);<br>
<br>
     return xml;<br>
 }<br>
@@ -326,8 +332,13 @@ bhyveDomainDefineXML(virConnectPtr conn, const char *xml)<br>
     virDomainDefPtr def = NULL;<br>
     virDomainDefPtr oldDef = NULL;<br>
     virDomainObjPtr vm = NULL;<br>
+    virCapsPtr caps = NULL;<br>
+<br>
+    caps = bhyveDriverGetCapabilities(privconn);<br>
+    if (!caps)<br>
+        return NULL;<br>
<br>
-    if ((def = virDomainDefParseString(xml, privconn->caps, privconn->xmlopt,<br>
+    if ((def = virDomainDefParseString(xml, caps, privconn->xmlopt,<br>
                                        1 << VIR_DOMAIN_VIRT_BHYVE,<br>
                                        VIR_DOMAIN_XML_INACTIVE)) == NULL)<br>
         goto cleanup;<br>
@@ -350,6 +361,7 @@ bhyveDomainDefineXML(virConnectPtr conn, const char *xml)<br>
         goto cleanup;<br>
<br>
  cleanup:<br>
+    virObjectUnref(caps);<br>
     virDomainDefFree(def);<br>
     virObjectUnlock(vm);<br>
<br>
@@ -704,7 +716,7 @@ bhyveStateInitialize(bool priveleged ATTRIBUTE_UNUSED,<br>
     if (!(bhyve_driver->closeCallbacks = virCloseCallbacksNew()))<br>
         goto cleanup;<br>
<br>
-    if (!(bhyve_driver->caps = bhyveBuildCapabilities()))<br>
+    if (!(bhyve_driver->caps = virBhyveCapsBuild()))<br>
         goto cleanup;<br>
<br>
     if (!(bhyve_driver->xmlopt = virDomainXMLOptionNew(NULL, NULL, NULL)))</div><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-31 12:54 GMT+02:00 Wojciech Macek <span dir="ltr"><<a href="mailto:wma@semihalf.com" target="_blank">wma@semihalf.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">- Move all capabilities functions to separate file<br>
- Add initCPU<br>
---<br>
 src/Makefile.am                |   2 +<br>
 src/bhyve/bhyve_capabilities.c | 105 +++++++++++++++++++++++++++++++++++++++++<br>
 src/bhyve/bhyve_capabilities.h |  30 ++++++++++++<br>
 src/bhyve/bhyve_driver.c       |  56 +++++++++++++---------<br>
 4 files changed, 171 insertions(+), 22 deletions(-)<br>
 create mode 100644 src/bhyve/bhyve_capabilities.c<br>
 create mode 100644 src/bhyve/bhyve_capabilities.h<br>
<br>
diff --git a/src/Makefile.am b/src/Makefile.am<br>
index 55427ed..c715422 100644<br>
--- a/src/Makefile.am<br>
+++ b/src/Makefile.am<br>
@@ -780,6 +780,8 @@ PARALLELS_DRIVER_SOURCES =                                  \<br>
                parallels/parallels_network.c<br>
<br>
 BHYVE_DRIVER_SOURCES =                                         \<br>
+               bhyve/bhyve_capabilities.c                      \<br>
+               bhyve/bhyve_capabilities.h                      \<br>
                bhyve/bhyve_command.c                           \<br>
                bhyve/bhyve_command.h                           \<br>
                bhyve/bhyve_driver.h                            \<br>
diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c<br>
new file mode 100644<br>
index 0000000..b8a9db4<br>
--- /dev/null<br>
+++ b/src/bhyve/bhyve_capabilities.c<br>
@@ -0,0 +1,105 @@<br>
+/*<br>
+ * bhyve_capabilities.c: bhyve capabilities module<br>
+ *<br>
+ * Copyright (C) 2014 Wojciech Macek <<a href="mailto:wma@semihalf.com">wma@semihalf.com</a>><br>
+ *<br>
+ * This library is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU Lesser General Public<br>
+ * License as published by the Free Software Foundation; either<br>
+ * version 2.1 of the License, or (at your option) any later version.<br>
+ *<br>
+ * This library is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU<br>
+ * Lesser General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU Lesser General Public<br>
+ * License along with this library.  If not, see<br>
+ * <<a href="http://www.gnu.org/licenses/" target="_blank">http://www.gnu.org/licenses/</a>>.<br>
+ *<br>
+ */<br>
+#include <config.h><br>
+#include <sys/utsname.h><br>
+<br>
+#include "viralloc.h"<br>
+#include "virlog.h"<br>
+#include "virstring.h"<br>
+#include "cpu/cpu.h"<br>
+#include "nodeinfo.h"<br>
+#include "bhyve_utils.h"<br>
+#include "domain_conf.h"<br>
+#include "vircommand.h"<br>
+#include "bhyve_capabilities.h"<br>
+<br>
+#define VIR_FROM_THIS   VIR_FROM_BHYVE<br>
+<br>
+VIR_LOG_INIT("bhyve.bhyve_capabilities");<br>
+<br>
+static int<br>
+virBhyveCapsInitCPU(virCapsPtr caps,<br>
+                  virArch arch)<br>
+{<br>
+    virCPUDefPtr cpu = NULL;<br>
+    virCPUDataPtr data = NULL;<br>
+    virNodeInfo nodeinfo;<br>
+    int ret = -1;<br>
+<br>
+    if (VIR_ALLOC(cpu) < 0)<br>
+        goto error;<br>
+<br>
+    cpu->arch = arch;<br>
+<br>
+    if (nodeGetInfo(&nodeinfo))<br>
+        goto error;<br>
+<br>
+    cpu->type = VIR_CPU_TYPE_HOST;<br>
+    cpu->sockets = nodeinfo.sockets;<br>
+    cpu->cores = nodeinfo.cores;<br>
+    cpu->threads = nodeinfo.threads;<br>
+    caps->host.cpu = cpu;<br>
+<br>
+    if (!(data = cpuNodeData(arch))<br>
+        || cpuDecode(cpu, data, NULL, 0, NULL) < 0)<br>
+        goto cleanup;<br>
+<br>
+    ret = 0;<br>
+<br>
+ cleanup:<br>
+    cpuDataFree(data);<br>
+<br>
+    return ret;<br>
+<br>
+ error:<br>
+    virCPUDefFree(cpu);<br>
+    goto cleanup;<br>
+}<br>
+<br>
+virCapsPtr<br>
+virBhyveCapsBuild(void)<br>
+{<br>
+    virCapsPtr caps;<br>
+    virCapsGuestPtr guest;<br>
+<br>
+    if ((caps = virCapabilitiesNew(virArchFromHost(),<br>
+                                   0, 0)) == NULL)<br>
+        return NULL;<br>
+<br>
+    if ((guest = virCapabilitiesAddGuest(caps, "hvm",<br>
+                                         VIR_ARCH_X86_64,<br>
+                                         "bhyve",<br>
+                                         NULL, 0, NULL)) == NULL)<br>
+        goto error;<br>
+<br>
+    if (virCapabilitiesAddGuestDomain(guest,<br>
+                                      "bhyve", NULL, NULL, 0, NULL) == NULL)<br>
+        goto error;<br>
+<br>
+    if (virBhyveCapsInitCPU(caps, virArchFromHost()) < 0)<br>
+            VIR_WARN("Failed to get host CPU");<br>
+<br>
+    return caps;<br>
+<br>
+ error:<br>
+    virObjectUnref(caps);<br>
+    return NULL;<br>
+}<br>
diff --git a/src/bhyve/bhyve_capabilities.h b/src/bhyve/bhyve_capabilities.h<br>
new file mode 100644<br>
index 0000000..efe496e<br>
--- /dev/null<br>
+++ b/src/bhyve/bhyve_capabilities.h<br>
@@ -0,0 +1,30 @@<br>
+/*<br>
+ * bhyve_capabilities.h: bhyve capabilities module<br>
+ *<br>
+ * Copyright (C) 2014 Wojciech Macek <<a href="mailto:wma@semihalf.com">wma@semihalf.com</a>><br>
+ *<br>
+ * This library is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU Lesser General Public<br>
+ * License as published by the Free Software Foundation; either<br>
+ * version 2.1 of the License, or (at your option) any later version.<br>
+ *<br>
+ * This library is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU<br>
+ * Lesser General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU Lesser General Public<br>
+ * License along with this library.  If not, see<br>
+ * <<a href="http://www.gnu.org/licenses/" target="_blank">http://www.gnu.org/licenses/</a>>.<br>
+ *<br>
+ */<br>
+<br>
+#ifndef _BHYVE_CAPABILITIES<br>
+#define _BHYVE_CAPABILITIES<br>
+<br>
+#include "capabilities.h"<br>
+<br>
+virCapsPtr virBhyveCapsBuild(void);<br>
+<br>
+#endif<br>
+<br>
diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c<br>
index 3321a79..ef9192a 100644<br>
--- a/src/bhyve/bhyve_driver.c<br>
+++ b/src/bhyve/bhyve_driver.c<br>
@@ -53,6 +53,7 @@<br>
 #include "bhyve_driver.h"<br>
 #include "bhyve_process.h"<br>
 #include "bhyve_utils.h"<br>
+#include "bhyve_capabilities.h"<br>
<br>
 #define VIR_FROM_THIS   VIR_FROM_BHYVE<br>
<br>
@@ -72,44 +73,49 @@ bhyveDriverUnlock(bhyveConnPtr driver)<br>
     virMutexUnlock(&driver->lock);<br>
 }<br>
<br>
+/**<br>
+ * bhyveDriverGetCapabilities:<br>
+ *<br>
+ * Get a reference to the virCapsPtr instance for the<br>
+ * driver.<br>
+ *<br>
+ * The caller must release the reference with virObjetUnref<br>
+ *<br>
+ * Returns: a reference to a virCapsPtr instance or NULL<br>
+ */<br>
 static virCapsPtr<br>
-bhyveBuildCapabilities(void)<br>
+bhyveDriverGetCapabilities(bhyveConnPtr driver)<br>
 {<br>
-    virCapsPtr caps;<br>
-    virCapsGuestPtr guest;<br>
+    virCapsPtr ret = NULL;<br>
<br>
-    if ((caps = virCapabilitiesNew(virArchFromHost(),<br>
-                                   0, 0)) == NULL)<br>
+    if(driver == NULL)<br>
         return NULL;<br>
<br>
-    if ((guest = virCapabilitiesAddGuest(caps, "hvm",<br>
-                                         VIR_ARCH_X86_64,<br>
-                                         "bhyve",<br>
-                                         NULL, 0, NULL)) == NULL)<br>
-        goto error;<br>
+    ret = virObjectRef(driver->caps);<br>
<br>
-    if (virCapabilitiesAddGuestDomain(guest,<br>
-                                      "bhyve", NULL, NULL, 0, NULL) == NULL)<br>
-        goto error;<br>
-<br>
-    return caps;<br>
-<br>
- error:<br>
-    virObjectUnref(caps);<br>
-    return NULL;<br>
+    return ret;<br>
 }<br>
<br>
 static char *<br>
 bhyveConnectGetCapabilities(virConnectPtr conn)<br>
 {<br>
     bhyveConnPtr privconn = conn->privateData;<br>
+    virCapsPtr caps;<br>
     char *xml;<br>
<br>
     if (virConnectGetCapabilitiesEnsureACL(conn) < 0)<br>
         return NULL;<br>
<br>
-    if ((xml = virCapabilitiesFormatXML(privconn->caps)) == NULL)<br>
+    caps = bhyveDriverGetCapabilities(privconn);<br>
+    if (!caps)<br>
+        virReportError(VIR_ERR_INTERNAL_ERROR,<br>
+                       _("Unable to get Capabilities"));<br>
+<br>
+    if ((xml = virCapabilitiesFormatXML(privconn->caps)) == NULL) {<br>
+        virObjectUnref(caps);<br>
         virReportOOMError();<br>
+    }<br>
+    virObjectUnref(caps);<br>
<br>
     return xml;<br>
 }<br>
@@ -326,8 +332,13 @@ bhyveDomainDefineXML(virConnectPtr conn, const char *xml)<br>
     virDomainDefPtr def = NULL;<br>
     virDomainDefPtr oldDef = NULL;<br>
     virDomainObjPtr vm = NULL;<br>
+    virCapsPtr caps = NULL;<br>
+<br>
+    caps = bhyveDriverGetCapabilities(privconn);<br>
+    if (!caps)<br>
+        return NULL;<br>
<br>
-    if ((def = virDomainDefParseString(xml, privconn->caps, privconn->xmlopt,<br>
+    if ((def = virDomainDefParseString(xml, caps, privconn->xmlopt,<br>
                                        1 << VIR_DOMAIN_VIRT_BHYVE,<br>
                                        VIR_DOMAIN_XML_INACTIVE)) == NULL)<br>
         goto cleanup;<br>
@@ -350,6 +361,7 @@ bhyveDomainDefineXML(virConnectPtr conn, const char *xml)<br>
         goto cleanup;<br>
<br>
  cleanup:<br>
+    virObjectUnref(caps);<br>
     virDomainDefFree(def);<br>
     virObjectUnlock(vm);<br>
<br>
@@ -704,7 +716,7 @@ bhyveStateInitialize(bool priveleged ATTRIBUTE_UNUSED,<br>
     if (!(bhyve_driver->closeCallbacks = virCloseCallbacksNew()))<br>
         goto cleanup;<br>
<br>
-    if (!(bhyve_driver->caps = bhyveBuildCapabilities()))<br>
+    if (!(bhyve_driver->caps = virBhyveCapsBuild()))<br>
         goto cleanup;<br>
<br>
     if (!(bhyve_driver->xmlopt = virDomainXMLOptionNew(NULL, NULL, NULL)))<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.9.0<br>
<br>
</font></span></blockquote></div><br></div>