From: Jiri Denemark <jdenemar@redhat.com>
The function translates a list of CPU feature names retrieved from QEMU
and adds them to virCPUData.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
---
src/qemu/qemu_monitor_json.c | 43 ++++++++++++++++++++----------------
1 file changed, 24 insertions(+), 19 deletions(-)
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
index 8c70279f6d..a831e9e26c 100644
--- a/src/qemu/qemu_monitor_json.c
+++ b/src/qemu/qemu_monitor_json.c
@@ -6704,18 +6704,12 @@ qemuMonitorJSONGetCPUProperties(qemuMonitor *mon,
static int
-qemuMonitorJSONGetCPUData(qemuMonitor *mon,
- bool qomListGet,
- const char *cpuQOMPath,
- qemuMonitorCPUFeatureTranslationCallback translate,
- virCPUData *data)
+qemuMonitorJSONCPUDataAddFeatures(virCPUData *data,
+ GStrv props,
+ qemuMonitorCPUFeatureTranslationCallback translate)
{
- g_auto(GStrv) props = NULL;
char **p;
- if (qemuMonitorJSONGetCPUProperties(mon, qomListGet, cpuQOMPath, &props) < 0)
- return -1;
-
for (p = props; p && *p; p++) {
const char *name = *p;
@@ -6730,6 +6724,25 @@ qemuMonitorJSONGetCPUData(qemuMonitor *mon,
}
+static int
+qemuMonitorJSONGetCPUData(qemuMonitor *mon,
+ bool qomListGet,
+ const char *cpuQOMPath,
+ qemuMonitorCPUFeatureTranslationCallback translate,
+ virCPUData *data)
+{
+ g_auto(GStrv) props = NULL;
+
+ if (qemuMonitorJSONGetCPUProperties(mon, qomListGet, cpuQOMPath, &props) < 0)
+ return -1;
+
+ if (qemuMonitorJSONCPUDataAddFeatures(data, props, translate) < 0)
+ return -1;
+
+ return 0;
+}
+
+
static int
qemuMonitorJSONGetCPUDataDisabled(qemuMonitor *mon,
const char *cpuQOMPath,
@@ -6737,21 +6750,13 @@ qemuMonitorJSONGetCPUDataDisabled(qemuMonitor *mon,
virCPUData *data)
{
g_auto(GStrv) props = NULL;
- char **p;
if (qemuMonitorJSONGetStringListProperty(mon, cpuQOMPath,
"unavailable-features", &props) < 0)
return -1;
- for (p = props; p && *p; p++) {
- const char *name = *p;
-
- if (translate)
- name = translate(data->arch, name);
-
- if (virCPUDataAddFeature(data, name) < 0)
- return -1;
- }
+ if (qemuMonitorJSONCPUDataAddFeatures(data, props, translate) < 0)
+ return -1;
return 0;
}
--
2.51.0