[libvirt] [PATCH] Add support for VirtualBox 3.2

Matthias Bolte matthias.bolte at googlemail.com
Wed May 26 23:31:13 UTC 2010


2010/5/26 Jean-Baptiste Rouault <jean-baptiste.rouault at diateam.net>:
> Hi there,
>
> Here's a patch to add support to VirtualBox 3.2.
> I'm not sure about the 'override' argument to CreateMachine which I set to false by default.

The SDK documentation says about the override argument: "Create the VM
even if there are conflicting files." So I think it's a good idea to
hardcode it to false.

> Regards,
>
> Jean-Baptiste Rouault
>
> >From 9b7f2a9374bf41a054dfa0b80f31bf0a69fbce0a Mon Sep 17 00:00:00 2001
> From: Jean-Baptiste Rouault <jean-baptiste.rouault at diateam.net>
> Date: Wed, 26 May 2010 13:54:16 +0200
> Subject: [PATCH] Support for VirtualBox version 3.2
>
> ---
>  src/Makefile.am           |    3 +-
>  src/vbox/vbox_CAPI_v3_2.h | 5607 +++++++++++++++++++++++++++++++++++++++++++++
>  src/vbox/vbox_V3_2.c      |   13 +
>  src/vbox/vbox_driver.c    |    8 +
>  src/vbox/vbox_tmpl.c      |   33 +-
>  5 files changed, 5659 insertions(+), 5 deletions(-)
>  create mode 100644 src/vbox/vbox_CAPI_v3_2.h
>  create mode 100644 src/vbox/vbox_V3_2.c
>

The patch looks good. I just applied this small patch on top of yours
to make the code a bit more robust to adding support for future
versions:


diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
index 533d969..f70f3b3 100644
--- a/src/vbox/vbox_tmpl.c
+++ b/src/vbox/vbox_tmpl.c
@@ -2033,7 +2033,7 @@ static char *vboxDomainDumpXML(virDomainPtr dom,
int flags) {
             machine->vtbl->GetPAEEnabled(machine, &PAEEnabled);
 #elif VBOX_API_VERSION == 3001
             machine->vtbl->GetCpuProperty(machine,
CpuPropertyType_PAE, &PAEEnabled);
-#elif VBOX_API_VERSION == 3002
+#elif VBOX_API_VERSION >= 3002
             machine->vtbl->GetCPUProperty(machine,
CPUPropertyType_PAE, &PAEEnabled);
 #endif
             if (PAEEnabled) {
@@ -3361,7 +3361,7 @@ static virDomainPtr
vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
     vboxIID        *mchiid      = NULL;
     virDomainDefPtr def         = NULL;
     PRUnichar *machineNameUtf16 = NULL;
-#if VBOX_API_VERSION == 3002
+#if VBOX_API_VERSION >= 3002
     PRBool override             = PR_FALSE;
 #endif
     nsresult rc;
@@ -3426,7 +3426,7 @@ static virDomainPtr
vboxDomainDefineXML(virConnectPtr conn, const char *xml) {
     rc = machine->vtbl->SetCpuProperty(machine, CpuPropertyType_PAE,
                                        (def->features) &
                                        (1 << VIR_DOMAIN_FEATURE_PAE));
-#elif VBOX_API_VERSION == 3002
+#elif VBOX_API_VERSION >= 3002
     rc = machine->vtbl->SetCPUProperty(machine, CPUPropertyType_PAE,
                                        (def->features) &
                                        (1 << VIR_DOMAIN_FEATURE_PAE));


ACK. I pushed the result. Thanks!

Matthias




More information about the libvir-list mailing list