99cbc7
From 9c6ce78ae4da48e98abfcc50b8d5056d54503c14 Mon Sep 17 00:00:00 2001
99cbc7
Message-Id: <9c6ce78ae4da48e98abfcc50b8d5056d54503c14@dist-git>
99cbc7
From: Jiri Denemark <jdenemar@redhat.com>
99cbc7
Date: Mon, 4 Mar 2019 16:18:42 +0100
99cbc7
Subject: [PATCH] cpu_x86: Add x86ModelCopySignatures helper
99cbc7
MIME-Version: 1.0
99cbc7
Content-Type: text/plain; charset=UTF-8
99cbc7
Content-Transfer-Encoding: 8bit
99cbc7
99cbc7
Introduce a helper for copying CPU signature between two CPU models.
99cbc7
99cbc7
It's not very useful until the way we store signatures is changed in the
99cbc7
next patch.
99cbc7
99cbc7
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
99cbc7
Reviewed-by: Ján Tomko <jtomko@redhat.com>
99cbc7
(cherry picked from commit 2254c1cfb854dfc52f3b4bfdfca2bd995b0a163c)
99cbc7
99cbc7
https://bugzilla.redhat.com/show_bug.cgi?id=1558558
99cbc7
https://bugzilla.redhat.com/show_bug.cgi?id=1687515
99cbc7
99cbc7
Conflicts:
99cbc7
	src/cpu/cpu_x86.c
99cbc7
            - other patches separating parts of x86ModelParse into
99cbc7
              smaller functions were not backported due to conflicts
99cbc7
              with older refactoring which is missing in RHEL-7
99cbc7
99cbc7
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
99cbc7
Reviewed-by: Ján Tomko <jtomko@redhat.com>
99cbc7
---
99cbc7
 src/cpu/cpu_x86.c | 16 +++++++++++++---
99cbc7
 1 file changed, 13 insertions(+), 3 deletions(-)
99cbc7
99cbc7
diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
99cbc7
index 668e8aa3f0..e54a3986a1 100644
99cbc7
--- a/src/cpu/cpu_x86.c
99cbc7
+++ b/src/cpu/cpu_x86.c
99cbc7
@@ -1013,6 +1013,16 @@ x86ModelFree(virCPUx86ModelPtr model)
99cbc7
 }
99cbc7
 
99cbc7
 
99cbc7
+static int
99cbc7
+x86ModelCopySignatures(virCPUx86ModelPtr dst,
99cbc7
+                       virCPUx86ModelPtr src)
99cbc7
+{
99cbc7
+    dst->signature = src->signature;
99cbc7
+
99cbc7
+    return 0;
99cbc7
+}
99cbc7
+
99cbc7
+
99cbc7
 static virCPUx86ModelPtr
99cbc7
 x86ModelCopy(virCPUx86ModelPtr model)
99cbc7
 {
99cbc7
@@ -1020,13 +1030,13 @@ x86ModelCopy(virCPUx86ModelPtr model)
99cbc7
 
99cbc7
     if (VIR_ALLOC(copy) < 0 ||
99cbc7
         VIR_STRDUP(copy->name, model->name) < 0 ||
99cbc7
+        x86ModelCopySignatures(copy, model) < 0 ||
99cbc7
         x86DataCopy(&copy->data, &model->data) < 0) {
99cbc7
         x86ModelFree(copy);
99cbc7
         return NULL;
99cbc7
     }
99cbc7
 
99cbc7
     copy->vendor = model->vendor;
99cbc7
-    copy->signature = model->signature;
99cbc7
 
99cbc7
     return copy;
99cbc7
 }
99cbc7
@@ -1260,8 +1270,8 @@ x86ModelParse(xmlXPathContextPtr ctxt,
99cbc7
         VIR_FREE(name);
99cbc7
 
99cbc7
         model->vendor = ancestor->vendor;
99cbc7
-        model->signature = ancestor->signature;
99cbc7
-        if (x86DataCopy(&model->data, &ancestor->data) < 0)
99cbc7
+        if (x86ModelCopySignatures(model, ancestor) < 0 ||
99cbc7
+            x86DataCopy(&model->data, &ancestor->data) < 0)
99cbc7
             goto error;
99cbc7
     }
99cbc7
 
99cbc7
-- 
99cbc7
2.21.0
99cbc7