[PATCH 1/7] cpu: : virCPUx86DataAddItem() to void

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

 



virCPUx86DataAddItem() return value
is invariant, so change it type and remove all dependent
checks.

Functions changed to void:

virCPUx86DataAddItem()

x86DataAdd()
virCPUx86DataAdd()
x86DataAddSignature()
virCPUx86DataSetSignature()
libxlCapsAddCPUID()
cpuidSetLeaf4()
cpuidSetLeaf7()
cpuidSetLeafB()
cpuidSetLeafD()
cpuidSetLeafResID()
cpuidSetLeaf12()
cpuidSetLeaf14()
cpuidSetLeaf17()

In virCPUx86GetHost() still exists this statement

```
    if (cpuidSet(CPUX86_BASIC, cpuData) < 0 ||
        cpuidSet(CPUX86_EXTENDED, cpuData) < 0)
        return -1;
```

Probably should change it as well.

Fixes: 592517636f ("util: alloc: Reimplement VIR_APPEND_ELEMENT_COPY using virAppendElement")

Signed-off-by: Artem Chernyshev <artem.chernyshev@xxxxxxxxxxx>
---
 src/cpu/cpu_x86.c              | 179 +++++++++++++--------------------
 src/cpu/cpu_x86.h              |   4 +-
 src/libxl/libxl_capabilities.c |  13 +--
 src/qemu/qemu_capabilities.c   |   3 +-
 src/qemu/qemu_monitor_json.c   |   7 +-
 5 files changed, 77 insertions(+), 129 deletions(-)

diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 8d0e3947ce..6b2531b360 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -531,7 +531,7 @@ x86DataCopy(virCPUx86Data *dst, const virCPUx86Data *src)
 }
 
 
-static int
+static void
 virCPUx86DataAddItem(virCPUx86Data *data,
                      const virCPUx86DataItem *item)
 {
@@ -547,12 +547,10 @@ virCPUx86DataAddItem(virCPUx86Data *data,
                           sizeof(virCPUx86DataItem),
                           virCPUx86DataSorter, NULL);
     }
-
-    return 0;
 }
 
 
-static int
+static void
 x86DataAdd(virCPUx86Data *data1,
            const virCPUx86Data *data2)
 {
@@ -560,12 +558,8 @@ x86DataAdd(virCPUx86Data *data1,
     virCPUx86DataItem *item;
 
     virCPUx86DataIteratorInit(&iter, data2);
-    while ((item = virCPUx86DataNext(&iter))) {
-        if (virCPUx86DataAddItem(data1, item) < 0)
-            return -1;
-    }
-
-    return 0;
+    while ((item = virCPUx86DataNext(&iter)))
+        virCPUx86DataAddItem(data1, item);
 }
 
 
@@ -814,13 +808,13 @@ x86DataToSignature(const virCPUx86Data *data)
 }
 
 
-static int
+static void
 x86DataAddSignature(virCPUx86Data *data,
                     uint32_t signature)
 {
     virCPUx86DataItem leaf1 = CPUID(.eax_in = 0x1, .eax = signature);
 
-    return virCPUx86DataAddItem(data, &leaf1);
+    virCPUx86DataAddItem(data, &leaf1);
 }
 
 
@@ -885,8 +879,7 @@ x86DataToCPU(const virCPUx86Data *data,
         for (blocker = hvModel->blockers; *blocker; blocker++) {
             if ((feature = x86FeatureFind(map, *blocker)) &&
                 !x86DataIsSubset(&copy, &feature->data))
-                if (x86DataAdd(&modelData, &feature->data) < 0)
-                    return NULL;
+                x86DataAdd(&modelData, &feature->data);
         }
     }
 
@@ -1125,8 +1118,7 @@ x86ParseDataItemList(virCPUx86Data *cpudata,
             }
         }
 
-        if (virCPUx86DataAddItem(cpudata, &item) < 0)
-            return -1;
+        virCPUx86DataAddItem(cpudata, &item);
         ++i;
 
         node = xmlNextElementSibling(node);
@@ -1381,8 +1373,7 @@ x86ModelFromCPU(const virCPUDef *cpu,
             switch (fpol) {
             case VIR_CPU_FEATURE_FORCE:
             case VIR_CPU_FEATURE_REQUIRE:
-                if (x86DataAdd(&model->data, &feature->data) < 0)
-                    return NULL;
+                x86DataAdd(&model->data, &feature->data);
                 break;
 
             case VIR_CPU_FEATURE_DISABLE:
@@ -1394,8 +1385,8 @@ x86ModelFromCPU(const virCPUDef *cpu,
             case VIR_CPU_FEATURE_LAST:
                 break;
             }
-        } else if (x86DataAdd(&model->data, &feature->data) < 0) {
-            return NULL;
+        } else {
+            x86DataAdd(&model->data, &feature->data);
         }
     }
 
@@ -1641,8 +1632,7 @@ x86ModelParseFeatures(virCPUx86Model *model,
             continue;
         }
 
-        if (x86DataAdd(&model->data, &feature->data))
-            return -1;
+        x86DataAdd(&model->data, &feature->data);
     }
 
     model->removedFeatures = g_renew(char *, model->removedFeatures, nremoved + 1);
@@ -2384,8 +2374,8 @@ x86Encode(virArch arch,
         if (!(data_vendor = virCPUDataNew(arch)))
             return -1;
 
-        if (v && virCPUx86DataAdd(data_vendor, &v->data) < 0)
-            return -1;
+        if (v)
+            virCPUx86DataAdd(data_vendor, &v->data);
     }
 
     if (forced)
@@ -2452,23 +2442,20 @@ cpuidCall(virCPUx86CPUID *cpuid)
  *
  * Sub leaf n+1 is invalid if eax[4:0] in sub leaf n equals 0.
  */
-static int
+static void
 cpuidSetLeaf4(virCPUData *data,
               virCPUx86DataItem *subLeaf0)
 {
     virCPUx86DataItem item = *subLeaf0;
     virCPUx86CPUID *cpuid = &item.data.cpuid;
 
-    if (virCPUx86DataAdd(data, subLeaf0) < 0)
-        return -1;
+    virCPUx86DataAdd(data, subLeaf0);
 
     while (cpuid->eax & 0x1f) {
         cpuid->ecx_in++;
         cpuidCall(cpuid);
-        if (virCPUx86DataAdd(data, &item) < 0)
-            return -1;
+        virCPUx86DataAdd(data, &item);
     }
-    return 0;
 }
 
 
@@ -2476,7 +2463,7 @@ cpuidSetLeaf4(virCPUData *data,
  *
  * Sub leaf n is invalid if n > eax in sub leaf 0.
  */
-static int
+static void
 cpuidSetLeaf7(virCPUData *data,
               virCPUx86DataItem *subLeaf0)
 {
@@ -2484,16 +2471,13 @@ cpuidSetLeaf7(virCPUData *data,
     virCPUx86CPUID *cpuid = &item.data.cpuid;
     uint32_t sub;
 
-    if (virCPUx86DataAdd(data, subLeaf0) < 0)
-        return -1;
+    virCPUx86DataAdd(data, subLeaf0);
 
     for (sub = 1; sub <= subLeaf0->data.cpuid.eax; sub++) {
         cpuid->ecx_in = sub;
         cpuidCall(cpuid);
-        if (virCPUx86DataAdd(data, &item) < 0)
-            return -1;
+        virCPUx86DataAdd(data, &item);
     }
-    return 0;
 }
 
 
@@ -2504,7 +2488,7 @@ cpuidSetLeaf7(virCPUData *data,
  * Some output values do not depend on ecx, thus sub leaf 0 provides
  * meaningful data even if it was (theoretically) considered invalid.
  */
-static int
+static void
 cpuidSetLeafB(virCPUData *data,
               virCPUx86DataItem *subLeaf0)
 {
@@ -2512,12 +2496,10 @@ cpuidSetLeafB(virCPUData *data,
     virCPUx86CPUID *cpuid = &item.data.cpuid;
 
     while (cpuid->ecx & 0xff00) {
-        if (virCPUx86DataAdd(data, &item) < 0)
-            return -1;
+        virCPUx86DataAdd(data, &item);
         cpuid->ecx_in++;
         cpuidCall(cpuid);
     }
-    return 0;
 }
 
 
@@ -2529,7 +2511,7 @@ cpuidSetLeafB(virCPUData *data,
  * Sub leaf n (32 <= n < 64) is invalid if edx[n-32] from sub leaf 0 is not set
  * and edx[n-32] from sub leaf 1 is not set.
  */
-static int
+static void
 cpuidSetLeafD(virCPUData *data,
               virCPUx86DataItem *subLeaf0)
 {
@@ -2539,13 +2521,11 @@ cpuidSetLeafD(virCPUData *data,
     virCPUx86CPUID sub1;
     uint32_t sub;
 
-    if (virCPUx86DataAdd(data, subLeaf0) < 0)
-        return -1;
+    virCPUx86DataAdd(data, subLeaf0);
 
     cpuid->ecx_in = 1;
     cpuidCall(cpuid);
-    if (virCPUx86DataAdd(data, &item) < 0)
-        return -1;
+    virCPUx86DataAdd(data, &item);
 
     sub0 = subLeaf0->data.cpuid;
     sub1 = *cpuid;
@@ -2561,10 +2541,8 @@ cpuidSetLeafD(virCPUData *data,
 
         cpuid->ecx_in = sub;
         cpuidCall(cpuid);
-        if (virCPUx86DataAdd(data, &item) < 0)
-            return -1;
+        virCPUx86DataAdd(data, &item);
     }
-    return 0;
 }
 
 
@@ -2577,7 +2555,7 @@ cpuidSetLeafD(virCPUData *data,
  * 0x0f: Sub leaf n is valid if edx[n] (= res[ResID]) from sub leaf 0 is set.
  * 0x10: Sub leaf n is valid if ebx[n] (= res[ResID]) from sub leaf 0 is set.
  */
-static int
+static void
 cpuidSetLeafResID(virCPUData *data,
                   virCPUx86DataItem *subLeaf0,
                   uint32_t res)
@@ -2586,18 +2564,15 @@ cpuidSetLeafResID(virCPUData *data,
     virCPUx86CPUID *cpuid = &item.data.cpuid;
     uint32_t sub;
 
-    if (virCPUx86DataAdd(data, subLeaf0) < 0)
-        return -1;
+    virCPUx86DataAdd(data, subLeaf0);
 
     for (sub = 1; sub < 32; sub++) {
         if (!(res & (1U << sub)))
             continue;
         cpuid->ecx_in = sub;
         cpuidCall(cpuid);
-        if (virCPUx86DataAdd(data, &item) < 0)
-            return -1;
+        virCPUx86DataAdd(data, &item);
     }
-    return 0;
 }
 
 
@@ -2606,7 +2581,7 @@ cpuidSetLeafResID(virCPUData *data,
  * Sub leaves 0 and 1 is supported if ebx[2] from leaf 0x7 (SGX) is set.
  * Sub leaves n >= 2 are valid as long as eax[3:0] != 0.
  */
-static int
+static void
 cpuidSetLeaf12(virCPUData *data,
                virCPUx86DataItem *subLeaf0)
 {
@@ -2616,26 +2591,22 @@ cpuidSetLeaf12(virCPUData *data,
 
     if (!(leaf7 = virCPUx86DataGet(&data->data.x86, &item)) ||
         !(leaf7->data.cpuid.ebx & (1 << 2)))
-        return 0;
+        return;
 
-    if (virCPUx86DataAdd(data, subLeaf0) < 0)
-        return -1;
+    virCPUx86DataAdd(data, subLeaf0);
 
     cpuid->eax_in = 0x12;
     cpuid->ecx_in = 1;
     cpuidCall(cpuid);
-    if (virCPUx86DataAdd(data, &item) < 0)
-        return -1;
+    virCPUx86DataAdd(data, &item);
 
     cpuid->ecx_in = 2;
     cpuidCall(cpuid);
     while (cpuid->eax & 0xf) {
-        if (virCPUx86DataAdd(data, &item) < 0)
-            return -1;
+        virCPUx86DataAdd(data, &item);
         cpuid->ecx_in++;
         cpuidCall(cpuid);
     }
-    return 0;
 }
 
 
@@ -2643,7 +2614,7 @@ cpuidSetLeaf12(virCPUData *data,
  *
  * Sub leaf 0 reports the maximum supported sub leaf in eax.
  */
-static int
+static void
 cpuidSetLeaf14(virCPUData *data,
                virCPUx86DataItem *subLeaf0)
 {
@@ -2651,16 +2622,13 @@ cpuidSetLeaf14(virCPUData *data,
     virCPUx86CPUID *cpuid = &item.data.cpuid;
     uint32_t sub;
 
-    if (virCPUx86DataAdd(data, subLeaf0) < 0)
-        return -1;
+    virCPUx86DataAdd(data, subLeaf0);
 
     for (sub = 1; sub <= subLeaf0->data.cpuid.eax; sub++) {
         cpuid->ecx_in = sub;
         cpuidCall(cpuid);
-        if (virCPUx86DataAdd(data, &item) < 0)
-            return -1;
+        virCPUx86DataAdd(data, &item);
     }
-    return 0;
 }
 
 
@@ -2669,7 +2637,7 @@ cpuidSetLeaf14(virCPUData *data,
  * Sub leaf 0 is valid if eax >= 3.
  * Sub leaf 0 reports the maximum supported sub leaf in eax.
  */
-static int
+static void
 cpuidSetLeaf17(virCPUData *data,
                virCPUx86DataItem *subLeaf0)
 {
@@ -2678,25 +2646,21 @@ cpuidSetLeaf17(virCPUData *data,
     uint32_t sub;
 
     if (subLeaf0->data.cpuid.eax < 3)
-        return 0;
+        return;
 
-    if (virCPUx86DataAdd(data, subLeaf0) < 0)
-        return -1;
+    virCPUx86DataAdd(data, subLeaf0);
 
     for (sub = 1; sub <= subLeaf0->data.cpuid.eax; sub++) {
         cpuid->ecx_in = sub;
         cpuidCall(cpuid);
-        if (virCPUx86DataAdd(data, &item) < 0)
-            return -1;
+        virCPUx86DataAdd(data, &item);
     }
-    return 0;
 }
 
 
 static int
 cpuidSet(uint32_t base, virCPUData *data)
 {
-    int rc;
     uint32_t max;
     uint32_t leaf;
     virCPUx86DataItem item = CPUID(.eax_in = base);
@@ -2714,28 +2678,25 @@ cpuidSet(uint32_t base, virCPUData *data)
          * which provide additional sub leaves for ecx_in > 0
          */
         if (leaf == 0x4)
-            rc = cpuidSetLeaf4(data, &item);
+            cpuidSetLeaf4(data, &item);
         else if (leaf == 0x7)
-            rc = cpuidSetLeaf7(data, &item);
+            cpuidSetLeaf7(data, &item);
         else if (leaf == 0xb)
-            rc = cpuidSetLeafB(data, &item);
+            cpuidSetLeafB(data, &item);
         else if (leaf == 0xd)
-            rc = cpuidSetLeafD(data, &item);
+            cpuidSetLeafD(data, &item);
         else if (leaf == 0xf)
-            rc = cpuidSetLeafResID(data, &item, cpuid->edx);
+            cpuidSetLeafResID(data, &item, cpuid->edx);
         else if (leaf == 0x10)
-            rc = cpuidSetLeafResID(data, &item, cpuid->ebx);
+            cpuidSetLeafResID(data, &item, cpuid->ebx);
         else if (leaf == 0x12)
-            rc = cpuidSetLeaf12(data, &item);
+            cpuidSetLeaf12(data, &item);
         else if (leaf == 0x14)
-            rc = cpuidSetLeaf14(data, &item);
+            cpuidSetLeaf14(data, &item);
         else if (leaf == 0x17)
-            rc = cpuidSetLeaf17(data, &item);
+            cpuidSetLeaf17(data, &item);
         else
-            rc = virCPUx86DataAdd(data, &item);
-
-        if (rc < 0)
-            return -1;
+            virCPUx86DataAdd(data, &item);
     }
 
     return 0;
@@ -2777,8 +2738,7 @@ virCPUx86GetHost(virCPUDef *cpu,
                 },
             };
 
-            if (virCPUx86DataAdd(cpuData, &item) < 0)
-                return -1;
+            virCPUx86DataAdd(cpuData, &item);
         }
     }
 
@@ -2897,9 +2857,8 @@ virCPUx86Baseline(virCPUDef **cpus,
             return NULL;
 
         for (i = 0; features[i]; i++) {
-            if ((feat = x86FeatureFind(map, features[i])) &&
-                x86DataAdd(&featData->data.x86, &feat->data) < 0)
-                return NULL;
+            if ((feat = x86FeatureFind(map, features[i])))
+                x86DataAdd(&featData->data.x86, &feat->data);
         }
 
         x86DataIntersect(&base_model->data, &featData->data.x86);
@@ -2911,9 +2870,8 @@ virCPUx86Baseline(virCPUDef **cpus,
         return NULL;
     }
 
-    if (vendor &&
-        virCPUx86DataAddItem(&base_model->data, &vendor->data) < 0)
-        return NULL;
+    if (vendor)
+        virCPUx86DataAddItem(&base_model->data, &vendor->data);
 
     if (x86Decode(cpu, &base_model->data, models,
                   (const char **) modelNames, migratable) < 0)
@@ -3172,15 +3130,13 @@ virCPUx86Translate(virCPUDef *cpu,
     if (!(model = x86ModelFromCPU(cpu, map, -1)))
         return -1;
 
-    if (model->vendor &&
-        virCPUx86DataAddItem(&model->data, &model->vendor->data) < 0)
-        return -1;
+    if (model->vendor)
+        virCPUx86DataAddItem(&model->data, &model->vendor->data);
 
     if (model->signatures && model->signatures->count > 0) {
         virCPUx86Signature *sig = &model->signatures->items[0];
-        if (x86DataAddSignature(&model->data,
-                                virCPUx86SignatureToCPUID(sig)) < 0)
-            return -1;
+        x86DataAddSignature(&model->data,
+                                virCPUx86SignatureToCPUID(sig));
     }
 
     if (x86Decode(translated, &model->data, models, NULL, false) < 0)
@@ -3298,15 +3254,15 @@ virCPUx86ValidateFeatures(virCPUDef *cpu)
 }
 
 
-int
+void
 virCPUx86DataAdd(virCPUData *cpuData,
                  const virCPUx86DataItem *item)
 {
-    return virCPUx86DataAddItem(&cpuData->data.x86, item);
+    virCPUx86DataAddItem(&cpuData->data.x86, item);
 }
 
 
-int
+void
 virCPUx86DataSetSignature(virCPUData *cpuData,
                           unsigned int family,
                           unsigned int model,
@@ -3314,7 +3270,7 @@ virCPUx86DataSetSignature(virCPUData *cpuData,
 {
     uint32_t signature = x86MakeSignature(family, model, stepping);
 
-    return x86DataAddSignature(&cpuData->data.x86, signature);
+    x86DataAddSignature(&cpuData->data.x86, signature);
 }
 
 
@@ -3339,7 +3295,9 @@ virCPUx86DataSetVendor(virCPUData *cpuData,
     if (virCPUx86VendorToData(vendor, &item) < 0)
         return -1;
 
-    return virCPUx86DataAdd(cpuData, &item);
+    virCPUx86DataAdd(cpuData, &item);
+
+    return 0;
 }
 
 
@@ -3358,8 +3316,7 @@ virCPUx86DataAddFeature(virCPUData *cpuData,
         !(feature = x86FeatureFindInternal(name)))
         return 0;
 
-    if (x86DataAdd(&cpuData->data.x86, &feature->data) < 0)
-        return -1;
+    x86DataAdd(&cpuData->data.x86, &feature->data);
 
     return 0;
 }
diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h
index 416d052776..96fb8b7502 100644
--- a/src/cpu/cpu_x86.h
+++ b/src/cpu/cpu_x86.h
@@ -25,10 +25,10 @@
 
 extern struct cpuArchDriver cpuDriverX86;
 
-int virCPUx86DataAdd(virCPUData *cpuData,
+void virCPUx86DataAdd(virCPUData *cpuData,
                      const virCPUx86DataItem *cpuid);
 
-int virCPUx86DataSetSignature(virCPUData *cpuData,
+void virCPUx86DataSetSignature(virCPUData *cpuData,
                               unsigned int family,
                               unsigned int model,
                               unsigned int stepping);
diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c
index 177e8b988e..fc502f8ccf 100644
--- a/src/libxl/libxl_capabilities.c
+++ b/src/libxl/libxl_capabilities.c
@@ -55,7 +55,7 @@ struct guest_arch {
 
 #define XEN_CAP_REGEX "(xen|hvm)-[[:digit:]]+\\.[[:digit:]]+-(aarch64|armv7l|x86_32|x86_64|ia64|powerpc64)(p|be)?"
 
-static int
+static void
 libxlCapsAddCPUID(virCPUData *data, virCPUx86CPUID *cpuid, ssize_t ncaps)
 {
     virCPUx86DataItem item = { 0 };
@@ -65,14 +65,8 @@ libxlCapsAddCPUID(virCPUData *data, virCPUx86CPUID *cpuid, ssize_t ncaps)
     for (i = 0; i < ncaps; i++) {
         item.data.cpuid = cpuid[i];
 
-        if (virCPUx86DataAdd(data, &item) < 0) {
-            VIR_DEBUG("Failed to add CPUID(%x,%x)",
-                      cpuid[i].eax_in, cpuid[i].ecx_in);
-            return -1;
-        }
+        virCPUx86DataAdd(data, &item);
     }
-
-    return 0;
 }
 
 /*
@@ -119,8 +113,7 @@ libxlCapsNodeData(virCPUDef *cpu, libxl_hwcap hwcap)
         return NULL;
 
     ncaps = G_N_ELEMENTS(cpuid);
-    if (libxlCapsAddCPUID(cpudata, cpuid, ncaps) < 0)
-        return NULL;
+    libxlCapsAddCPUID(cpudata, cpuid, ncaps);
 
     return g_steal_pointer(&cpudata);
 }
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 83119e871a..eb6b345906 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -3679,8 +3679,7 @@ virQEMUCapsGetCPUModelX86Data(virQEMUCaps *qemuCaps,
         }
     }
 
-    if (virCPUx86DataSetSignature(data, sigFamily, sigModel, sigStepping) < 0)
-        return NULL;
+    virCPUx86DataSetSignature(data, sigFamily, sigModel, sigStepping);
 
     return g_steal_pointer(&data);
 }
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 1574723624..622e977298 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -6701,10 +6701,9 @@ qemuMonitorJSONParseCPUx86Features(virJSONValue *data)
 
     item.type = VIR_CPU_X86_DATA_CPUID;
     for (i = 0; i < virJSONValueArraySize(data); i++) {
-        if (qemuMonitorJSONParseCPUx86FeatureWord(virJSONValueArrayGet(data, i),
-                                                  &item.data.cpuid) < 0 ||
-            virCPUx86DataAdd(cpudata, &item) < 0)
-            return NULL;
+        if (!qemuMonitorJSONParseCPUx86FeatureWord(virJSONValueArrayGet(data, i),
+                                                  &item.data.cpuid))
+            virCPUx86DataAdd(cpudata, &item);
     }
 
     return g_steal_pointer(&cpudata);
-- 
2.43.0
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[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