From c2a6b26647fd89511e220f050e888ce52b4f74d4 Mon Sep 17 00:00:00 2001 From: Matthias Bolte Date: Thu, 30 Dec 2010 18:08:54 +0100 Subject: [PATCH] vmx: Add support for video device VRAM size Update test suite accordingly. --- src/vmx/vmx.c | 110 ++++++++++++++++++ src/vmx/vmx.h | 4 + tests/vmx2xmldata/vmx2xml-annotation.xml | 3 + .../vmx2xml-case-insensitive-1.xml | 3 + .../vmx2xml-case-insensitive-2.xml | 3 + .../vmx2xmldata/vmx2xml-cdrom-ide-device.xml | 3 + tests/vmx2xmldata/vmx2xml-cdrom-ide-file.xml | 3 + .../vmx2xmldata/vmx2xml-cdrom-scsi-device.xml | 3 + tests/vmx2xmldata/vmx2xml-cdrom-scsi-file.xml | 3 + .../vmx2xmldata/vmx2xml-esx-in-the-wild-1.xml | 3 + .../vmx2xmldata/vmx2xml-esx-in-the-wild-2.xml | 3 + .../vmx2xmldata/vmx2xml-esx-in-the-wild-3.xml | 3 + .../vmx2xmldata/vmx2xml-esx-in-the-wild-4.xml | 3 + .../vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml | 3 + .../vmx2xmldata/vmx2xml-ethernet-bridged.xml | 3 + tests/vmx2xmldata/vmx2xml-ethernet-custom.xml | 3 + tests/vmx2xmldata/vmx2xml-ethernet-e1000.xml | 3 + .../vmx2xml-ethernet-generated.xml | 3 + tests/vmx2xmldata/vmx2xml-ethernet-other.xml | 3 + tests/vmx2xmldata/vmx2xml-ethernet-static.xml | 3 + .../vmx2xmldata/vmx2xml-ethernet-vmxnet2.xml | 3 + tests/vmx2xmldata/vmx2xml-ethernet-vpx.xml | 3 + tests/vmx2xmldata/vmx2xml-floppy-device.xml | 3 + tests/vmx2xmldata/vmx2xml-floppy-file.xml | 3 + tests/vmx2xmldata/vmx2xml-graphics-vnc.xml | 3 + .../vmx2xmldata/vmx2xml-gsx-in-the-wild-1.xml | 3 + .../vmx2xmldata/vmx2xml-gsx-in-the-wild-2.xml | 3 + .../vmx2xmldata/vmx2xml-gsx-in-the-wild-3.xml | 3 + .../vmx2xmldata/vmx2xml-gsx-in-the-wild-4.xml | 3 + .../vmx2xmldata/vmx2xml-harddisk-ide-file.xml | 3 + .../vmx2xml-harddisk-scsi-file.xml | 3 + tests/vmx2xmldata/vmx2xml-minimal-64bit.xml | 3 + tests/vmx2xmldata/vmx2xml-minimal.xml | 3 + tests/vmx2xmldata/vmx2xml-parallel-device.xml | 3 + tests/vmx2xmldata/vmx2xml-parallel-file.xml | 3 + tests/vmx2xmldata/vmx2xml-scsi-driver.xml | 3 + .../vmx2xmldata/vmx2xml-scsi-writethrough.xml | 3 + tests/vmx2xmldata/vmx2xml-serial-device.xml | 3 + tests/vmx2xmldata/vmx2xml-serial-file.xml | 3 + .../vmx2xml-serial-network-client.xml | 3 + .../vmx2xml-serial-network-server.xml | 3 + tests/vmx2xmldata/vmx2xml-serial-pipe.xml | 3 + tests/vmx2xmldata/vmx2xml-smbios.xml | 3 + tests/vmx2xmldata/vmx2xml-svga.vmx | 3 + tests/vmx2xmldata/vmx2xml-svga.xml | 18 +++ tests/vmx2xmltest.c | 2 + tests/xml2vmxdata/xml2vmx-graphics-vnc.vmx | 1 + tests/xml2vmxdata/xml2vmx-svga.vmx | 11 ++ tests/xml2vmxdata/xml2vmx-svga.xml | 13 +++ tests/xml2vmxtest.c | 2 + 50 files changed, 287 insertions(+) create mode 100644 tests/vmx2xmldata/vmx2xml-svga.vmx create mode 100644 tests/vmx2xmldata/vmx2xml-svga.xml create mode 100644 tests/xml2vmxdata/xml2vmx-svga.vmx create mode 100644 tests/xml2vmxdata/xml2vmx-svga.xml diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 6e3e9af4ee..c116940a8b 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -325,6 +325,16 @@ def->nets[0]... +################################################################################ +## video ####################################################################### + +def->videos[0]... +->type = _VIDEO_TYPE_VMVGA +->vram = <=> svga.vramSize = "" +->heads = 1 + + + ################################################################################ ## serials ##################################################################### @@ -1636,6 +1646,20 @@ virVMXParseConfig(virVMXContext *ctx, virCapsPtr caps, const char *vmx) /* def:inputs */ /* FIXME */ + /* def:videos */ + if (VIR_ALLOC_N(def->videos, 1) < 0) { + virReportOOMError(); + goto cleanup; + } + + def->nvideos = 0; + + if (virVMXParseSVGA(conf, &def->videos[def->nvideos]) < 0) { + goto cleanup; + } + + def->nvideos = 1; + /* def:sounds */ /* FIXME */ @@ -2765,6 +2789,45 @@ virVMXParseParallel(virVMXContext *ctx, virConfPtr conf, int port, +int +virVMXParseSVGA(virConfPtr conf, virDomainVideoDefPtr *def) +{ + int result = -1; + long long svga_vramSize = 0; + + if (def == NULL || *def != NULL) { + VMX_ERROR(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid argument")); + return -1; + } + + if (VIR_ALLOC(*def) < 0) { + virReportOOMError(); + return -1; + } + + (*def)->type = VIR_DOMAIN_VIDEO_TYPE_VMVGA; + + /* vmx:vramSize */ + if (virVMXGetConfigLong(conf, "svga.vramSize", &svga_vramSize, + 4 * 1024 * 1024, true) < 0) { + goto cleanup; + } + + (*def)->vram = svga_vramSize / 1024; /* Scale from bytes to kilobytes */ + + result = 0; + + cleanup: + if (result < 0) { + virDomainVideoDefFree(*def); + *def = NULL; + } + + return result; +} + + + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Domain XML -> VMX */ @@ -3064,6 +3127,19 @@ virVMXFormatConfig(virVMXContext *ctx, virCapsPtr caps, virDomainDefPtr def, /* def:sounds */ /* FIXME */ + /* def:videos */ + if (def->nvideos > 0) { + if (def->nvideos > 1) { + VMX_ERROR(VIR_ERR_INTERNAL_ERROR, "%s", + _("No support for multiple video devices")); + goto cleanup; + } + + if (virVMXFormatSVGA(def->videos[0], &buffer) < 0) { + goto cleanup; + } + } + /* def:hostdevs */ /* FIXME */ @@ -3645,3 +3721,37 @@ virVMXFormatParallel(virVMXContext *ctx, virDomainChrDefPtr def, return 0; } + + + +int +virVMXFormatSVGA(virDomainVideoDefPtr def, virBufferPtr buffer) +{ + if (def->type != VIR_DOMAIN_VIDEO_TYPE_VMVGA) { + VMX_ERROR(VIR_ERR_INTERNAL_ERROR, + _("Unsupported video device type '%s'"), + virDomainVideoTypeToString(def->type)); + return -1; + } + + /* + * For Windows guests the VRAM size should be a multiple of 64 kilobyte. + * See http://kb.vmware.com/kb/1003 and http://kb.vmware.com/kb/1001558 + */ + if (def->vram % 64 != 0) { + VMX_ERROR(VIR_ERR_INTERNAL_ERROR, "%s", + _("Video device VRAM size must be a multiple of 64 kilobyte")); + return -1; + } + + if (def->heads > 1) { + VMX_ERROR(VIR_ERR_INTERNAL_ERROR, "%s", + _("Multi-head video devices are unsupported")); + return -1; + } + + virBufferVSprintf(buffer, "svga.vramSize = \"%lld\"\n", + def->vram * 1024LL); /* Scale from kilobytes to bytes */ + + return 0; +} diff --git a/src/vmx/vmx.h b/src/vmx/vmx.h index 1a4fd9cea2..c317108349 100644 --- a/src/vmx/vmx.h +++ b/src/vmx/vmx.h @@ -100,6 +100,8 @@ int virVMXParseSerial(virVMXContext *ctx, virConfPtr conf, int port, int virVMXParseParallel(virVMXContext *ctx, virConfPtr conf, int port, virDomainChrDefPtr *def); +int virVMXParseSVGA(virConfPtr conf, virDomainVideoDefPtr *def); + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @@ -129,4 +131,6 @@ int virVMXFormatSerial(virVMXContext *ctx, virDomainChrDefPtr def, int virVMXFormatParallel(virVMXContext *ctx, virDomainChrDefPtr def, virBufferPtr buffer); +int virVMXFormatSVGA(virDomainVideoDefPtr def, virBufferPtr buffer); + #endif /* __VIR_VMX_H__ */ diff --git a/tests/vmx2xmldata/vmx2xml-annotation.xml b/tests/vmx2xmldata/vmx2xml-annotation.xml index 1af45aad67..f42f77b5c7 100644 --- a/tests/vmx2xmldata/vmx2xml-annotation.xml +++ b/tests/vmx2xmldata/vmx2xml-annotation.xml @@ -12,5 +12,8 @@ restart destroy + diff --git a/tests/vmx2xmldata/vmx2xml-case-insensitive-1.xml b/tests/vmx2xmldata/vmx2xml-case-insensitive-1.xml index b47e128605..7a5ff5bc31 100644 --- a/tests/vmx2xmldata/vmx2xml-case-insensitive-1.xml +++ b/tests/vmx2xmldata/vmx2xml-case-insensitive-1.xml @@ -22,5 +22,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-case-insensitive-2.xml b/tests/vmx2xmldata/vmx2xml-case-insensitive-2.xml index 4974f4e75f..18d64611fc 100644 --- a/tests/vmx2xmldata/vmx2xml-case-insensitive-2.xml +++ b/tests/vmx2xmldata/vmx2xml-case-insensitive-2.xml @@ -22,5 +22,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-cdrom-ide-device.xml b/tests/vmx2xmldata/vmx2xml-cdrom-ide-device.xml index 1905f9be92..e11d2f995a 100644 --- a/tests/vmx2xmldata/vmx2xml-cdrom-ide-device.xml +++ b/tests/vmx2xmldata/vmx2xml-cdrom-ide-device.xml @@ -17,5 +17,8 @@
+ diff --git a/tests/vmx2xmldata/vmx2xml-cdrom-ide-file.xml b/tests/vmx2xmldata/vmx2xml-cdrom-ide-file.xml index b9cf1f9c4e..d1fb6902b2 100644 --- a/tests/vmx2xmldata/vmx2xml-cdrom-ide-file.xml +++ b/tests/vmx2xmldata/vmx2xml-cdrom-ide-file.xml @@ -17,5 +17,8 @@
+ diff --git a/tests/vmx2xmldata/vmx2xml-cdrom-scsi-device.xml b/tests/vmx2xmldata/vmx2xml-cdrom-scsi-device.xml index 1bb42be1be..7eb36766f2 100644 --- a/tests/vmx2xmldata/vmx2xml-cdrom-scsi-device.xml +++ b/tests/vmx2xmldata/vmx2xml-cdrom-scsi-device.xml @@ -17,5 +17,8 @@
+ diff --git a/tests/vmx2xmldata/vmx2xml-cdrom-scsi-file.xml b/tests/vmx2xmldata/vmx2xml-cdrom-scsi-file.xml index bdcb0b06e3..df1e7c4614 100644 --- a/tests/vmx2xmldata/vmx2xml-cdrom-scsi-file.xml +++ b/tests/vmx2xmldata/vmx2xml-cdrom-scsi-file.xml @@ -17,5 +17,8 @@
+ diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-1.xml b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-1.xml index fd50008fc2..5e67e746fd 100644 --- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-1.xml +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-1.xml @@ -22,5 +22,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-2.xml b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-2.xml index e98b67972f..23fc1f62c8 100644 --- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-2.xml +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-2.xml @@ -52,5 +52,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-3.xml b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-3.xml index 6d18209270..e193fdb2c7 100644 --- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-3.xml +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-3.xml @@ -34,5 +34,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-4.xml b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-4.xml index 42388825da..419df518de 100644 --- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-4.xml +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-4.xml @@ -38,5 +38,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml index d55bf6be7e..004016324b 100644 --- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml @@ -33,5 +33,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-ethernet-bridged.xml b/tests/vmx2xmldata/vmx2xml-ethernet-bridged.xml index 7ef2d3ded2..cec329d1f1 100644 --- a/tests/vmx2xmldata/vmx2xml-ethernet-bridged.xml +++ b/tests/vmx2xmldata/vmx2xml-ethernet-bridged.xml @@ -15,5 +15,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-ethernet-custom.xml b/tests/vmx2xmldata/vmx2xml-ethernet-custom.xml index e08a450c33..8c7b83352f 100644 --- a/tests/vmx2xmldata/vmx2xml-ethernet-custom.xml +++ b/tests/vmx2xmldata/vmx2xml-ethernet-custom.xml @@ -16,5 +16,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-ethernet-e1000.xml b/tests/vmx2xmldata/vmx2xml-ethernet-e1000.xml index 1e64c52c5c..9b356ea797 100644 --- a/tests/vmx2xmldata/vmx2xml-ethernet-e1000.xml +++ b/tests/vmx2xmldata/vmx2xml-ethernet-e1000.xml @@ -16,5 +16,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-ethernet-generated.xml b/tests/vmx2xmldata/vmx2xml-ethernet-generated.xml index ffb203b74f..aead831afb 100644 --- a/tests/vmx2xmldata/vmx2xml-ethernet-generated.xml +++ b/tests/vmx2xmldata/vmx2xml-ethernet-generated.xml @@ -15,5 +15,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-ethernet-other.xml b/tests/vmx2xmldata/vmx2xml-ethernet-other.xml index 4c44fbc6b9..a74611565e 100644 --- a/tests/vmx2xmldata/vmx2xml-ethernet-other.xml +++ b/tests/vmx2xmldata/vmx2xml-ethernet-other.xml @@ -15,5 +15,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-ethernet-static.xml b/tests/vmx2xmldata/vmx2xml-ethernet-static.xml index 7ef2d3ded2..cec329d1f1 100644 --- a/tests/vmx2xmldata/vmx2xml-ethernet-static.xml +++ b/tests/vmx2xmldata/vmx2xml-ethernet-static.xml @@ -15,5 +15,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-ethernet-vmxnet2.xml b/tests/vmx2xmldata/vmx2xml-ethernet-vmxnet2.xml index 090f7ceca9..b7773ad2a7 100644 --- a/tests/vmx2xmldata/vmx2xml-ethernet-vmxnet2.xml +++ b/tests/vmx2xmldata/vmx2xml-ethernet-vmxnet2.xml @@ -16,5 +16,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-ethernet-vpx.xml b/tests/vmx2xmldata/vmx2xml-ethernet-vpx.xml index 1d90f3182b..bdc8d8c128 100644 --- a/tests/vmx2xmldata/vmx2xml-ethernet-vpx.xml +++ b/tests/vmx2xmldata/vmx2xml-ethernet-vpx.xml @@ -15,5 +15,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-floppy-device.xml b/tests/vmx2xmldata/vmx2xml-floppy-device.xml index 4ae16d562b..824849a4c2 100644 --- a/tests/vmx2xmldata/vmx2xml-floppy-device.xml +++ b/tests/vmx2xmldata/vmx2xml-floppy-device.xml @@ -17,5 +17,8 @@
+ diff --git a/tests/vmx2xmldata/vmx2xml-floppy-file.xml b/tests/vmx2xmldata/vmx2xml-floppy-file.xml index 5ab538ed1c..75d0d625ae 100644 --- a/tests/vmx2xmldata/vmx2xml-floppy-file.xml +++ b/tests/vmx2xmldata/vmx2xml-floppy-file.xml @@ -17,5 +17,8 @@
+ diff --git a/tests/vmx2xmldata/vmx2xml-graphics-vnc.xml b/tests/vmx2xmldata/vmx2xml-graphics-vnc.xml index 159324d07e..047e0349d4 100644 --- a/tests/vmx2xmldata/vmx2xml-graphics-vnc.xml +++ b/tests/vmx2xmldata/vmx2xml-graphics-vnc.xml @@ -13,5 +13,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-1.xml b/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-1.xml index 0c308bc530..b572ad1ffe 100644 --- a/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-1.xml +++ b/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-1.xml @@ -23,5 +23,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-2.xml b/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-2.xml index 7b6158f316..180cf6814f 100644 --- a/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-2.xml +++ b/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-2.xml @@ -23,5 +23,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-3.xml b/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-3.xml index b926db57c2..571c83a559 100644 --- a/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-3.xml +++ b/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-3.xml @@ -28,5 +28,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-4.xml b/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-4.xml index 5803f4bded..fc3b9665ad 100644 --- a/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-4.xml +++ b/tests/vmx2xmldata/vmx2xml-gsx-in-the-wild-4.xml @@ -23,5 +23,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-harddisk-ide-file.xml b/tests/vmx2xmldata/vmx2xml-harddisk-ide-file.xml index 7699fbb83b..72a5c1ff71 100644 --- a/tests/vmx2xmldata/vmx2xml-harddisk-ide-file.xml +++ b/tests/vmx2xmldata/vmx2xml-harddisk-ide-file.xml @@ -17,5 +17,8 @@
+ diff --git a/tests/vmx2xmldata/vmx2xml-harddisk-scsi-file.xml b/tests/vmx2xmldata/vmx2xml-harddisk-scsi-file.xml index b04597be38..189e72d918 100644 --- a/tests/vmx2xmldata/vmx2xml-harddisk-scsi-file.xml +++ b/tests/vmx2xmldata/vmx2xml-harddisk-scsi-file.xml @@ -17,5 +17,8 @@
+ diff --git a/tests/vmx2xmldata/vmx2xml-minimal-64bit.xml b/tests/vmx2xmldata/vmx2xml-minimal-64bit.xml index cec8ba09b1..188d31a5b9 100644 --- a/tests/vmx2xmldata/vmx2xml-minimal-64bit.xml +++ b/tests/vmx2xmldata/vmx2xml-minimal-64bit.xml @@ -11,5 +11,8 @@ restart destroy + diff --git a/tests/vmx2xmldata/vmx2xml-minimal.xml b/tests/vmx2xmldata/vmx2xml-minimal.xml index acfd9bd7d5..ce2cfd6583 100644 --- a/tests/vmx2xmldata/vmx2xml-minimal.xml +++ b/tests/vmx2xmldata/vmx2xml-minimal.xml @@ -11,5 +11,8 @@ restart destroy + diff --git a/tests/vmx2xmldata/vmx2xml-parallel-device.xml b/tests/vmx2xmldata/vmx2xml-parallel-device.xml index 28c23028d5..bc288a684c 100644 --- a/tests/vmx2xmldata/vmx2xml-parallel-device.xml +++ b/tests/vmx2xmldata/vmx2xml-parallel-device.xml @@ -15,5 +15,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-parallel-file.xml b/tests/vmx2xmldata/vmx2xml-parallel-file.xml index 340cf4e30a..ad7a65fc25 100644 --- a/tests/vmx2xmldata/vmx2xml-parallel-file.xml +++ b/tests/vmx2xmldata/vmx2xml-parallel-file.xml @@ -15,5 +15,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-scsi-driver.xml b/tests/vmx2xmldata/vmx2xml-scsi-driver.xml index 553783b62e..8fa907b738 100644 --- a/tests/vmx2xmldata/vmx2xml-scsi-driver.xml +++ b/tests/vmx2xmldata/vmx2xml-scsi-driver.xml @@ -35,5 +35,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-scsi-writethrough.xml b/tests/vmx2xmldata/vmx2xml-scsi-writethrough.xml index 66e22ae04d..e5b89344e5 100644 --- a/tests/vmx2xmldata/vmx2xml-scsi-writethrough.xml +++ b/tests/vmx2xmldata/vmx2xml-scsi-writethrough.xml @@ -18,5 +18,8 @@
+ diff --git a/tests/vmx2xmldata/vmx2xml-serial-device.xml b/tests/vmx2xmldata/vmx2xml-serial-device.xml index c9f00ebfd3..51fd06f21b 100644 --- a/tests/vmx2xmldata/vmx2xml-serial-device.xml +++ b/tests/vmx2xmldata/vmx2xml-serial-device.xml @@ -19,5 +19,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-serial-file.xml b/tests/vmx2xmldata/vmx2xml-serial-file.xml index 21b6263984..25ade07264 100644 --- a/tests/vmx2xmldata/vmx2xml-serial-file.xml +++ b/tests/vmx2xmldata/vmx2xml-serial-file.xml @@ -19,5 +19,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-serial-network-client.xml b/tests/vmx2xmldata/vmx2xml-serial-network-client.xml index b0c071549c..7573a11dc7 100644 --- a/tests/vmx2xmldata/vmx2xml-serial-network-client.xml +++ b/tests/vmx2xmldata/vmx2xml-serial-network-client.xml @@ -21,5 +21,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-serial-network-server.xml b/tests/vmx2xmldata/vmx2xml-serial-network-server.xml index e15101714a..ed3849598e 100644 --- a/tests/vmx2xmldata/vmx2xml-serial-network-server.xml +++ b/tests/vmx2xmldata/vmx2xml-serial-network-server.xml @@ -21,5 +21,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-serial-pipe.xml b/tests/vmx2xmldata/vmx2xml-serial-pipe.xml index cf8a797a7e..ca5196c9a1 100644 --- a/tests/vmx2xmldata/vmx2xml-serial-pipe.xml +++ b/tests/vmx2xmldata/vmx2xml-serial-pipe.xml @@ -19,5 +19,8 @@ + diff --git a/tests/vmx2xmldata/vmx2xml-smbios.xml b/tests/vmx2xmldata/vmx2xml-smbios.xml index db130016ee..d78ac6cc0a 100644 --- a/tests/vmx2xmldata/vmx2xml-smbios.xml +++ b/tests/vmx2xmldata/vmx2xml-smbios.xml @@ -12,5 +12,8 @@ restart destroy + diff --git a/tests/vmx2xmldata/vmx2xml-svga.vmx b/tests/vmx2xmldata/vmx2xml-svga.vmx new file mode 100644 index 0000000000..081d6cee0d --- /dev/null +++ b/tests/vmx2xmldata/vmx2xml-svga.vmx @@ -0,0 +1,3 @@ +config.version = "8" +virtualHW.version = "4" +svga.vramSize = "8388608" diff --git a/tests/vmx2xmldata/vmx2xml-svga.xml b/tests/vmx2xmldata/vmx2xml-svga.xml new file mode 100644 index 0000000000..664eba4fa0 --- /dev/null +++ b/tests/vmx2xmldata/vmx2xml-svga.xml @@ -0,0 +1,18 @@ + + 00000000-0000-0000-0000-000000000000 + 32768 + 32768 + 1 + + hvm + + + destroy + restart + destroy + + + + diff --git a/tests/vmx2xmltest.c b/tests/vmx2xmltest.c index 9378db300f..5fed1c4b58 100644 --- a/tests/vmx2xmltest.c +++ b/tests/vmx2xmltest.c @@ -285,6 +285,8 @@ mymain(int argc, char **argv) DO_TEST("smbios", "smbios"); + DO_TEST("svga", "svga"); + virCapabilitiesFree(caps); return result == 0 ? EXIT_SUCCESS : EXIT_FAILURE; diff --git a/tests/xml2vmxdata/xml2vmx-graphics-vnc.vmx b/tests/xml2vmxdata/xml2vmx-graphics-vnc.vmx index caab06a28c..493e0cc16f 100644 --- a/tests/xml2vmxdata/xml2vmx-graphics-vnc.vmx +++ b/tests/xml2vmxdata/xml2vmx-graphics-vnc.vmx @@ -12,3 +12,4 @@ RemoteDisplay.vnc.keymap = "de" RemoteDisplay.vnc.password = "password" floppy0.present = "false" floppy1.present = "false" +svga.vramSize = "4194304" diff --git a/tests/xml2vmxdata/xml2vmx-svga.vmx b/tests/xml2vmxdata/xml2vmx-svga.vmx new file mode 100644 index 0000000000..4bd48706a9 --- /dev/null +++ b/tests/xml2vmxdata/xml2vmx-svga.vmx @@ -0,0 +1,11 @@ +.encoding = "UTF-8" +config.version = "8" +virtualHW.version = "4" +guestOS = "other" +uuid.bios = "56 4d 9b ef ac d9 b4 e0-c8 f0 ae a8 b9 10 35 15" +displayName = "minimal" +memsize = "4" +numvcpus = "1" +floppy0.present = "false" +floppy1.present = "false" +svga.vramSize = "8388608" diff --git a/tests/xml2vmxdata/xml2vmx-svga.xml b/tests/xml2vmxdata/xml2vmx-svga.xml new file mode 100644 index 0000000000..b7db4c8870 --- /dev/null +++ b/tests/xml2vmxdata/xml2vmx-svga.xml @@ -0,0 +1,13 @@ + + minimal + 564d9bef-acd9-b4e0-c8f0-aea8b9103515 + 4096 + + hvm + + + + + diff --git a/tests/xml2vmxtest.c b/tests/xml2vmxtest.c index 6a39582d30..a5fb4f7e62 100644 --- a/tests/xml2vmxtest.c +++ b/tests/xml2vmxtest.c @@ -296,6 +296,8 @@ mymain(int argc, char **argv) DO_TEST("smbios", "smbios", 4); + DO_TEST("svga", "svga", 4); + virCapabilitiesFree(caps); return result == 0 ? EXIT_SUCCESS : EXIT_FAILURE;