[PATCH 0 of 2] #2 Add GraphicsRASD - update related associations

Not all of the associations that take a RASD were updated because there's currently no resource pool for DisplayController devices.

# HG changeset patch # User Kaitlin Rupert <karupert@us.ibm.com> # Date 1224705263 25200 # Node ID bd2efefa96d84a831af0a2b4fc87f4ae2374b37d # Parent 0d457a0fb221a91662cdbd90ccd803941a07db48 (#2) Add support for graphics device to Virt_RASD.c Also add field for a hostname / IP address to the graphics struct. This field is for storing the console's listen address. This will allow the user to set a specific address to listen on, in addition to a specific port. Updates: -Rebased patch on recent sources Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com> diff -r 0d457a0fb221 -r bd2efefa96d8 libxkutil/device_parsing.c --- a/libxkutil/device_parsing.c Wed Oct 29 15:17:11 2008 -0700 +++ b/libxkutil/device_parsing.c Wed Oct 22 12:54:23 2008 -0700 @@ -75,6 +75,7 @@ { free(dev->type); free(dev->port); + free(dev->host); } void cleanup_virt_device(struct virt_device *dev) @@ -438,9 +439,13 @@ gdev->type = get_attr_value(node, "type"); gdev->port = get_attr_value(node, "port"); + gdev->host = get_attr_value(node, "listen"); if ((gdev->type == NULL) || (gdev->port == NULL)) goto err; + + if (gdev->host == NULL) + gdev->host = strdup("127.0.0.1"); vdev->type = CIM_RES_TYPE_GRAPHICS; vdev->id = strdup("graphics"); @@ -622,6 +627,7 @@ } else if (dev->type == CIM_RES_TYPE_GRAPHICS) { DUP_FIELD(dev, _dev, dev.graphics.type); DUP_FIELD(dev, _dev, dev.graphics.port); + DUP_FIELD(dev, _dev, dev.graphics.host); } return dev; diff -r 0d457a0fb221 -r bd2efefa96d8 libxkutil/device_parsing.h --- a/libxkutil/device_parsing.h Wed Oct 29 15:17:11 2008 -0700 +++ b/libxkutil/device_parsing.h Wed Oct 22 12:54:23 2008 -0700 @@ -62,6 +62,7 @@ struct graphics_device { char *type; char *port; + char *host; }; struct virt_device { diff -r 0d457a0fb221 -r bd2efefa96d8 schema/ResourceAllocationSettingData.mof --- a/schema/ResourceAllocationSettingData.mof Wed Oct 29 15:17:11 2008 -0700 +++ b/schema/ResourceAllocationSettingData.mof Wed Oct 22 12:54:23 2008 -0700 @@ -115,3 +115,25 @@ class LXC_MemResourceAllocationSettingData : LXC_ResourceAllocationSettingData { }; + +[Description ("Xen virtual graphics device"), + Provider("cmpi::Virt_RASD") +] +class Xen_GraphicsResourceAllocationSettingData : Xen_ResourceAllocationSettingData +{ +}; + +[Description ("KVM virtual graphics device"), + Provider("cmpi::Virt_RASD") +] +class KVM_GraphicsResourceAllocationSettingData : KVM_ResourceAllocationSettingData +{ +}; + +[Description ("LXC virtual graphics device"), + Provider("cmpi::Virt_RASD") +] +class LXC_GraphicsResourceAllocationSettingData : LXC_ResourceAllocationSettingData +{ +}; + diff -r 0d457a0fb221 -r bd2efefa96d8 schema/ResourceAllocationSettingData.registration --- a/schema/ResourceAllocationSettingData.registration Wed Oct 29 15:17:11 2008 -0700 +++ b/schema/ResourceAllocationSettingData.registration Wed Oct 22 12:54:23 2008 -0700 @@ -4,10 +4,13 @@ Xen_NetResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance Xen_ProcResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance Xen_MemResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance +Xen_GraphicsResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance KVM_DiskResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance KVM_NetResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance KVM_ProcResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance KVM_MemResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance +KVM_GraphicsResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance LXC_MemResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance LXC_DiskResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance LXC_ProcResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance +LXC_GraphicsResourceAllocationSettingData root/virt Virt_RASD Virt_RASD instance diff -r 0d457a0fb221 -r bd2efefa96d8 src/Virt_RASD.c --- a/src/Virt_RASD.c Wed Oct 29 15:17:11 2008 -0700 +++ b/src/Virt_RASD.c Wed Oct 22 12:54:23 2008 -0700 @@ -247,6 +247,29 @@ return s; } +static CMPIStatus set_graphics_rasd_params(const struct virt_device *dev, + CMPIInstance *inst) +{ + int rc; + char *addr_str = NULL; + CMPIStatus s = {CMPI_RC_OK, NULL}; + + rc = asprintf(&addr_str, + "%s:%s", + dev->dev.graphics.host, + dev->dev.graphics.port); + if (rc == -1) { + goto out; + } + + CMSetProperty(inst, "Address", (CMPIValue *)addr_str, CMPI_chars); + + out: + free(addr_str); + + return s; +} + static CMPIInstance *rasd_from_vdev(const CMPIBroker *broker, struct virt_device *dev, const char *host, @@ -272,6 +295,9 @@ } else if (dev->type == CIM_RES_TYPE_MEM) { type = CIM_RES_TYPE_MEM; base = "MemResourceAllocationSettingData"; + } else if (dev->type == CIM_RES_TYPE_GRAPHICS) { + type = CIM_RES_TYPE_GRAPHICS; + base = "GraphicsResourceAllocationSettingData"; } else { return NULL; } @@ -320,6 +346,8 @@ (CMPIValue *)&dev->dev.mem.maxsize, CMPI_uint64); } else if (dev->type == CIM_RES_TYPE_PROC) { set_proc_rasd_params(broker, ref, dev, host, inst); + } else if (dev->type == CIM_RES_TYPE_GRAPHICS) { + s = set_graphics_rasd_params(dev, inst); } /* FIXME: Put the HostResource in place */ @@ -441,6 +469,8 @@ *type = CIM_RES_TYPE_PROC; else if (STREQ(base, "MemResourceAllocationSettingData")) *type = CIM_RES_TYPE_MEM; + else if (STREQ(base, "GraphicsResourceAllocationSettingData")) + *type = CIM_RES_TYPE_GRAPHICS; else goto out; @@ -468,6 +498,9 @@ break; case CIM_RES_TYPE_DISK: *classname = "DiskResourceAllocationSettingData"; + break; + case CIM_RES_TYPE_GRAPHICS: + *classname = "GraphicsResourceAllocationSettingData"; break; default: rc = CMPI_RC_ERR_FAILED;

# HG changeset patch # User Kaitlin Rupert <karupert@us.ibm.com> # Date 1225483570 25200 # Node ID 1e1954312a8adb776cc62703d3363fe7f82c0069 # Parent bd2efefa96d84a831af0a2b4fc87f4ae2374b37d Update associations to support GraphicsRASD & DisplayController. Signed-off-by: Kaitlin Rupert <karupert@us.ibm.com> diff -r bd2efefa96d8 -r 1e1954312a8a src/Virt_ElementSettingData.c --- a/src/Virt_ElementSettingData.c Wed Oct 22 12:54:23 2008 -0700 +++ b/src/Virt_ElementSettingData.c Fri Oct 31 13:06:10 2008 -0700 @@ -127,14 +127,17 @@ "Xen_MemResourceAllocationSettingData", "Xen_NetResourceAllocationSettingData", "Xen_ProcResourceAllocationSettingData", + "Xen_GraphicsResourceAllocationSettingData", "KVM_DiskResourceAllocationSettingData", "KVM_MemResourceAllocationSettingData", "KVM_NetResourceAllocationSettingData", "KVM_ProcResourceAllocationSettingData", + "KVM_GraphicsResourceAllocationSettingData", "LXC_DiskResourceAllocationSettingData", "LXC_MemResourceAllocationSettingData", "LXC_NetResourceAllocationSettingData", "LXC_ProcResourceAllocationSettingData", + "LXC_GraphicsResourceAllocationSettingData", NULL }; diff -r bd2efefa96d8 -r 1e1954312a8a src/Virt_SettingsDefineState.c --- a/src/Virt_SettingsDefineState.c Wed Oct 22 12:54:23 2008 -0700 +++ b/src/Virt_SettingsDefineState.c Fri Oct 31 13:06:10 2008 -0700 @@ -326,14 +326,17 @@ "Xen_Memory", "Xen_NetworkPort", "Xen_LogicalDisk", + "Xen_DisplayController", "KVM_Processor", "KVM_Memory", "KVM_NetworkPort", "KVM_LogicalDisk", + "KVM_DisplayController", "LXC_Processor", "LXC_Memory", "LXC_NetworkPort", "LXC_LogicalDisk", + "LXC_DisplayController", NULL }; @@ -342,14 +345,17 @@ "Xen_MemResourceAllocationSettingData", "Xen_NetResourceAllocationSettingData", "Xen_ProcResourceAllocationSettingData", + "Xen_GraphicsResourceAllocationSettingData", "KVM_DiskResourceAllocationSettingData", "KVM_MemResourceAllocationSettingData", "KVM_NetResourceAllocationSettingData", "KVM_ProcResourceAllocationSettingData", + "KVM_GraphicsResourceAllocationSettingData", "LXC_DiskResourceAllocationSettingData", "LXC_MemResourceAllocationSettingData", "LXC_NetResourceAllocationSettingData", "LXC_ProcResourceAllocationSettingData", + "LXC_GraphicsResourceAllocationSettingData", NULL }; diff -r bd2efefa96d8 -r 1e1954312a8a src/Virt_SystemDevice.c --- a/src/Virt_SystemDevice.c Wed Oct 22 12:54:23 2008 -0700 +++ b/src/Virt_SystemDevice.c Fri Oct 31 13:06:10 2008 -0700 @@ -134,14 +134,17 @@ "Xen_Memory", "Xen_NetworkPort", "Xen_LogicalDisk", + "Xen_DisplayController", "KVM_Processor", "KVM_Memory", "KVM_NetworkPort", "KVM_LogicalDisk", + "KVM_DisplayController", "LXC_Processor", "LXC_Memory", "LXC_NetworkPort", "LXC_LogicalDisk", + "LXC_DisplayController", NULL }; diff -r bd2efefa96d8 -r 1e1954312a8a src/Virt_VSSDComponent.c --- a/src/Virt_VSSDComponent.c Wed Oct 22 12:54:23 2008 -0700 +++ b/src/Virt_VSSDComponent.c Fri Oct 31 13:06:10 2008 -0700 @@ -131,14 +131,17 @@ "Xen_MemResourceAllocationSettingData", "Xen_NetResourceAllocationSettingData", "Xen_ProcResourceAllocationSettingData", + "Xen_GraphicsResourceAllocationSettingData", "KVM_DiskResourceAllocationSettingData", "KVM_MemResourceAllocationSettingData", "KVM_NetResourceAllocationSettingData", "KVM_ProcResourceAllocationSettingData", + "KVM_GraphicsResourceAllocationSettingData", "LXC_DiskResourceAllocationSettingData", "LXC_MemResourceAllocationSettingData", "LXC_NetResourceAllocationSettingData", "LXC_ProcResourceAllocationSettingData", + "LXC_GraphicsResourceAllocationSettingData", NULL };
participants (1)
-
Kaitlin Rupert