[libvirt PATCH v2 12/20] cpu_x86: Implement virCPUDataNewCopy for x86

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Tim Wiederhake <twiederh@xxxxxxxxxx>
---
 src/cpu/cpu_x86.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 5ce193e693..0dc9a7d9fb 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -481,6 +481,23 @@ virCPUx86DataClear(virCPUx86Data *data)
 G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC(virCPUx86Data, virCPUx86DataClear);
 
 
+static virCPUData *
+virCPUx86DataCopyNew(virCPUData *data)
+{
+    virCPUData *copy;
+
+    if (!data)
+        return NULL;
+
+    copy = virCPUDataNew(data->arch);
+    copy->data.x86.len = data->data.x86.len;
+    copy->data.x86.items = g_new0(virCPUx86DataItem, data->data.x86.len);
+    memcpy(copy->data.x86.items, data->data.x86.items,
+           data->data.x86.len * sizeof(*data->data.x86.items));
+
+    return copy;
+}
+
 static void
 virCPUx86DataFree(virCPUData *data)
 {
@@ -3466,6 +3483,7 @@ struct cpuArchDriver cpuDriverX86 = {
     .compare    = virCPUx86Compare,
     .decode     = x86DecodeCPUData,
     .encode     = x86Encode,
+    .dataCopyNew = virCPUx86DataCopyNew,
     .dataFree   = virCPUx86DataFree,
 #if defined(__i386__) || defined(__x86_64__)
     .getHost    = virCPUx86GetHost,
-- 
2.31.1




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux