Rather than storing the video type as an integer, use the proper enum
type within the struct.
Signed-off-by: Jonathon Jongsma <jjongsma(a)redhat.com>
---
src/conf/domain_conf.c | 4 +---
src/conf/domain_conf.h | 2 +-
src/libxl/libxl_conf.c | 10 ++++++++++
src/libxl/libxl_domain.c | 11 +++++++++++
src/qemu/qemu_monitor_json.c | 16 +++++++++++++++-
src/qemu/qemu_process.c | 7 +++++++
6 files changed, 45 insertions(+), 5 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index e725d71e15..60c27ddd34 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -14114,7 +14114,6 @@ virDomainVideoModelDefParseXML(virDomainVideoDef *def,
{
xmlNodePtr accel_node;
xmlNodePtr res_node;
- virDomainVideoType type;
virTristateBool primary;
int rc = 0;
@@ -14134,10 +14133,9 @@ virDomainVideoModelDefParseXML(virDomainVideoDef *def,
if (virXMLPropEnumDefault(node, "type",
virDomainVideoTypeFromString,
- VIR_XML_PROP_NONE, &type,
+ VIR_XML_PROP_NONE, &def->type,
VIR_DOMAIN_VIDEO_TYPE_DEFAULT) < 0)
return -1;
- def->type = type;
if (virXMLPropUInt(node, "ram", 10, VIR_XML_PROP_NONE, &def->ram)
< 0)
return -1;
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 8a48646160..acd0588e9b 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1754,7 +1754,7 @@ struct _virDomainVideoDriverDef {
struct _virDomainVideoDef {
virObject *privateData;
- int type; /* enum virDomainVideoType */
+ virDomainVideoType type;
unsigned int ram; /* kibibytes (multiples of 1024) */
unsigned int vram; /* kibibytes (multiples of 1024) */
unsigned int vram64; /* kibibytes (multiples of 1024) */
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index e5fe209718..85aaea7df3 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -2363,6 +2363,16 @@ libxlMakeVideo(virDomainDef *def, libxl_domain_config *d_config)
}
break;
+ case VIR_DOMAIN_VIDEO_TYPE_DEFAULT:
+ case VIR_DOMAIN_VIDEO_TYPE_VMVGA:
+ case VIR_DOMAIN_VIDEO_TYPE_VBOX:
+ case VIR_DOMAIN_VIDEO_TYPE_PARALLELS:
+ case VIR_DOMAIN_VIDEO_TYPE_VIRTIO:
+ case VIR_DOMAIN_VIDEO_TYPE_GOP:
+ case VIR_DOMAIN_VIDEO_TYPE_NONE:
+ case VIR_DOMAIN_VIDEO_TYPE_BOCHS:
+ case VIR_DOMAIN_VIDEO_TYPE_RAMFB:
+ case VIR_DOMAIN_VIDEO_TYPE_LAST:
default:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("video type %s is not supported by libxl"),
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index dbe44f4ffc..82e1f1748f 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -324,6 +324,17 @@ libxlDomainDeviceDefPostParse(virDomainDeviceDef *dev,
if (dev->data.video->vram == 0)
dev->data.video->vram = 128 * 1024;
break;
+ case VIR_DOMAIN_VIDEO_TYPE_DEFAULT:
+ case VIR_DOMAIN_VIDEO_TYPE_VMVGA:
+ case VIR_DOMAIN_VIDEO_TYPE_VBOX:
+ case VIR_DOMAIN_VIDEO_TYPE_PARALLELS:
+ case VIR_DOMAIN_VIDEO_TYPE_VIRTIO:
+ case VIR_DOMAIN_VIDEO_TYPE_GOP:
+ case VIR_DOMAIN_VIDEO_TYPE_NONE:
+ case VIR_DOMAIN_VIDEO_TYPE_BOCHS:
+ case VIR_DOMAIN_VIDEO_TYPE_RAMFB:
+ case VIR_DOMAIN_VIDEO_TYPE_LAST:
+ break;
}
}
}
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index d9f93bd2fa..7e752a1762 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -1898,9 +1898,16 @@ qemuMonitorJSONUpdateVideoMemorySize(qemuMonitor *mon,
}
video->vram = prop.val.ul * 1024;
break;
+ case VIR_DOMAIN_VIDEO_TYPE_DEFAULT:
case VIR_DOMAIN_VIDEO_TYPE_CIRRUS:
case VIR_DOMAIN_VIDEO_TYPE_XEN:
case VIR_DOMAIN_VIDEO_TYPE_VBOX:
+ case VIR_DOMAIN_VIDEO_TYPE_PARALLELS:
+ case VIR_DOMAIN_VIDEO_TYPE_VIRTIO:
+ case VIR_DOMAIN_VIDEO_TYPE_GOP:
+ case VIR_DOMAIN_VIDEO_TYPE_NONE:
+ case VIR_DOMAIN_VIDEO_TYPE_BOCHS:
+ case VIR_DOMAIN_VIDEO_TYPE_RAMFB:
case VIR_DOMAIN_VIDEO_TYPE_LAST:
break;
}
@@ -1938,11 +1945,18 @@ qemuMonitorJSONUpdateVideoVram64Size(qemuMonitor *mon,
video->vram64 = prop.val.ul * 1024;
}
break;
+ case VIR_DOMAIN_VIDEO_TYPE_DEFAULT:
case VIR_DOMAIN_VIDEO_TYPE_VGA:
- case VIR_DOMAIN_VIDEO_TYPE_VMVGA:
case VIR_DOMAIN_VIDEO_TYPE_CIRRUS:
+ case VIR_DOMAIN_VIDEO_TYPE_VMVGA:
case VIR_DOMAIN_VIDEO_TYPE_XEN:
case VIR_DOMAIN_VIDEO_TYPE_VBOX:
+ case VIR_DOMAIN_VIDEO_TYPE_PARALLELS:
+ case VIR_DOMAIN_VIDEO_TYPE_VIRTIO:
+ case VIR_DOMAIN_VIDEO_TYPE_GOP:
+ case VIR_DOMAIN_VIDEO_TYPE_NONE:
+ case VIR_DOMAIN_VIDEO_TYPE_BOCHS:
+ case VIR_DOMAIN_VIDEO_TYPE_RAMFB:
case VIR_DOMAIN_VIDEO_TYPE_LAST:
break;
}
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 2b16298942..be8340f24c 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -3094,9 +3094,16 @@ qemuProcessUpdateVideoRamSize(virQEMUDriver *driver,
goto error;
}
break;
+ case VIR_DOMAIN_VIDEO_TYPE_DEFAULT:
case VIR_DOMAIN_VIDEO_TYPE_CIRRUS:
case VIR_DOMAIN_VIDEO_TYPE_XEN:
case VIR_DOMAIN_VIDEO_TYPE_VBOX:
+ case VIR_DOMAIN_VIDEO_TYPE_PARALLELS:
+ case VIR_DOMAIN_VIDEO_TYPE_VIRTIO:
+ case VIR_DOMAIN_VIDEO_TYPE_GOP:
+ case VIR_DOMAIN_VIDEO_TYPE_NONE:
+ case VIR_DOMAIN_VIDEO_TYPE_BOCHS:
+ case VIR_DOMAIN_VIDEO_TYPE_RAMFB:
case VIR_DOMAIN_VIDEO_TYPE_LAST:
break;
}
--
2.35.1