[PATCH 2/7] cpu_x86.c: remove 'guest' param from x86Compute()

Daniel Henrique Barboza posted 7 patches 4 years, 2 months ago
There is a newer version of this series
[PATCH 2/7] cpu_x86.c: remove 'guest' param from x86Compute()
Posted by Daniel Henrique Barboza 4 years, 2 months ago
x86Compute() is a static function called only by virCPUx86Compare()
which passes NULL to the 'guest' parameter of x86Compute().

The last caller of x86Compute() that used it with 'guest' != NULL
was an API called 'cpuGuestData'. This API was dropped by commit
03fa904c0c0cb2 a few years ago. Since then all callers of x86Compute()
uses it with 'guest' = NULL.

Removing the 'guest' parameter allow us to remove a good chunk of
logic that isn't being used for awhile.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
 src/cpu/cpu_x86.c | 38 +-------------------------------------
 1 file changed, 1 insertion(+), 37 deletions(-)

diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
index 54cfed3fe6..e396bbb4e4 100644
--- a/src/cpu/cpu_x86.c
+++ b/src/cpu/cpu_x86.c
@@ -1833,7 +1833,6 @@ virCPUx86DataParse(xmlNodePtr node)
 static virCPUCompareResult
 x86Compute(virCPUDef *host,
            virCPUDef *cpu,
-           virCPUData **guest,
            char **message)
 {
     virCPUx86Map *map = NULL;
@@ -1848,7 +1847,6 @@ x86Compute(virCPUDef *host,
     g_autoptr(virCPUData) guestData = NULL;
     virCPUCompareResult ret;
     virCPUx86CompareResult result;
-    virArch arch;
     size_t i;
 
     if (cpu->arch != VIR_ARCH_NONE) {
@@ -1870,9 +1868,6 @@ x86Compute(virCPUDef *host,
             }
             return VIR_CPU_COMPARE_INCOMPATIBLE;
         }
-        arch = cpu->arch;
-    } else {
-        arch = host->arch;
     }
 
     if (cpu->vendor &&
@@ -1939,37 +1934,6 @@ x86Compute(virCPUDef *host,
         return VIR_CPU_COMPARE_INCOMPATIBLE;
     }
 
-    if (guest) {
-        guest_model = x86ModelCopy(host_model);
-
-        if (cpu->vendor && host_model->vendor &&
-            virCPUx86DataAddItem(&guest_model->data,
-                                 &host_model->vendor->data) < 0)
-            return VIR_CPU_COMPARE_ERROR;
-
-        if (host_model->signatures && host_model->signatures->count > 0) {
-            virCPUx86Signature *sig = &host_model->signatures->items[0];
-            if (x86DataAddSignature(&guest_model->data,
-                                    virCPUx86SignatureToCPUID(sig)) < 0)
-                return VIR_CPU_COMPARE_ERROR;
-        }
-
-        if (cpu->type == VIR_CPU_TYPE_GUEST
-            && cpu->match == VIR_CPU_MATCH_EXACT)
-            x86DataSubtract(&guest_model->data, &diff->data);
-
-        if (x86DataAdd(&guest_model->data, &cpu_force->data))
-            return VIR_CPU_COMPARE_ERROR;
-
-        x86DataSubtract(&guest_model->data, &cpu_disable->data);
-
-        if (!(guestData = virCPUDataNew(arch)))
-            return VIR_CPU_COMPARE_ERROR;
-        x86DataCopy(&guestData->data.x86, &guest_model->data);
-
-        *guest = g_steal_pointer(&guestData);
-    }
-
     return ret;
 }
 #undef virX86CpuIncompatible
@@ -1994,7 +1958,7 @@ virCPUx86Compare(virCPUDef *host,
         return VIR_CPU_COMPARE_INCOMPATIBLE;
     }
 
-    ret = x86Compute(host, cpu, NULL, &message);
+    ret = x86Compute(host, cpu, &message);
 
     if (ret == VIR_CPU_COMPARE_INCOMPATIBLE && failIncompatible) {
         if (message)
-- 
2.31.1

Re: [PATCH 2/7] cpu_x86.c: remove 'guest' param from x86Compute()
Posted by Ján Tomko 4 years, 2 months ago
On a Thursday in 2021, Daniel Henrique Barboza wrote:
>x86Compute() is a static function called only by virCPUx86Compare()
>which passes NULL to the 'guest' parameter of x86Compute().
>
>The last caller of x86Compute() that used it with 'guest' != NULL
>was an API called 'cpuGuestData'. This API was dropped by commit
>03fa904c0c0cb2 a few years ago. Since then all callers of x86Compute()
>uses it with 'guest' = NULL.
>
>Removing the 'guest' parameter allow us to remove a good chunk of
>logic that isn't being used for awhile.
>
>Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
>---
> src/cpu/cpu_x86.c | 38 +-------------------------------------
> 1 file changed, 1 insertion(+), 37 deletions(-)
>
>diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
>index 54cfed3fe6..e396bbb4e4 100644
>--- a/src/cpu/cpu_x86.c
>+++ b/src/cpu/cpu_x86.c
>@@ -1833,7 +1833,6 @@ virCPUx86DataParse(xmlNodePtr node)
> static virCPUCompareResult
> x86Compute(virCPUDef *host,
>            virCPUDef *cpu,
>-           virCPUData **guest,
>            char **message)
> {
>     virCPUx86Map *map = NULL;
>@@ -1848,7 +1847,6 @@ x86Compute(virCPUDef *host,
>     g_autoptr(virCPUData) guestData = NULL;
>     virCPUCompareResult ret;
>     virCPUx86CompareResult result;
>-    virArch arch;
>     size_t i;

../../work/libvirt/src/cpu/cpu_x86.c:1846:31: error: unused variable 'guest_model' [-Werror,-Wunused-variable]
     g_autoptr(virCPUx86Model) guest_model = NULL;
                               ^
../../work/libvirt/src/cpu/cpu_x86.c:1847:27: error: unused variable 'guestData' [-Werror,-Wunused-variable]
     g_autoptr(virCPUData) guestData = NULL;

>
>     if (cpu->arch != VIR_ARCH_NONE) {

Reviewed-by: Ján Tomko <jtomko@redhat.com>

Jano