]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
cpu_ppc64: Implement virCPUDataNewCopy for ppc64
authorTim Wiederhake <twiederh@redhat.com>
Mon, 11 Oct 2021 10:34:23 +0000 (12:34 +0200)
committerTim Wiederhake <twiederh@redhat.com>
Fri, 5 Nov 2021 16:12:25 +0000 (17:12 +0100)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/cpu/cpu_ppc64.c

index fcd68c8a7cf4db97cf8e07bb559d545385c68383..c7caaa960864e41b7660c780cad47cd9f825f98c 100644 (file)
@@ -603,6 +603,23 @@ virCPUppc64DataIsIdentical(const virCPUData *a,
     return VIR_CPU_COMPARE_IDENTICAL;
 }
 
+static virCPUData *
+virCPUppc64DataCopyNew(virCPUData *data)
+{
+    virCPUData *copy;
+    size_t i;
+
+    if (!data)
+        return NULL;
+
+    copy = virCPUDataNew(data->arch);
+    copy->data.ppc64.len = data->data.ppc64.len;
+    for (i = 0; i < copy->data.ppc64.len; ++i)
+        copy->data.ppc64.pvr[i] = data->data.ppc64.pvr[i];
+
+    return copy;
+}
+
 static void
 virCPUppc64DataFree(virCPUData *data)
 {
@@ -768,6 +785,7 @@ struct cpuArchDriver cpuDriverPPC64 = {
     .compare    = virCPUppc64Compare,
     .decode     = ppc64DriverDecode,
     .encode     = NULL,
+    .dataCopyNew = virCPUppc64DataCopyNew,
     .dataFree   = virCPUppc64DataFree,
     .getHost    = virCPUppc64GetHost,
     .baseline   = virCPUppc64Baseline,