From ffcb39cbc1de03beefc3b342d0384d75d161ce37 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Tue, 24 Sep 2019 17:12:34 +0200 Subject: [PATCH] qemu: Add qemuMonitorCPUDefsCopy MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jiri Denemark Reviewed-by: Ján Tomko --- src/qemu/qemu_monitor.c | 23 +++++++++++++++++++++++ src/qemu/qemu_monitor.h | 1 + 2 files changed, 24 insertions(+) diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index 77b40638e8..4606429868 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -3591,6 +3591,29 @@ qemuMonitorCPUDefsNew(size_t count) } +qemuMonitorCPUDefsPtr +qemuMonitorCPUDefsCopy(qemuMonitorCPUDefsPtr src) +{ + g_autoptr(qemuMonitorCPUDefs) defs = NULL; + size_t i; + + if (!src) + return NULL; + + defs = qemuMonitorCPUDefsNew(src->ncpus); + for (i = 0; i < src->ncpus; i++) { + qemuMonitorCPUDefInfoPtr cpuDst = defs->cpus + i; + qemuMonitorCPUDefInfoPtr cpuSrc = src->cpus + i; + + cpuDst->usable = cpuSrc->usable; + cpuDst->name = g_strdup(cpuSrc->name); + cpuDst->blockers = g_strdupv(cpuSrc->blockers); + } + + return g_steal_pointer(&defs); +} + + int qemuMonitorGetCPUModelExpansion(qemuMonitorPtr mon, qemuMonitorCPUModelExpansionType type, diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 588ee80260..cd8e850ed2 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -1103,6 +1103,7 @@ struct _qemuMonitorCPUDefs { int qemuMonitorGetCPUDefinitions(qemuMonitorPtr mon, qemuMonitorCPUDefsPtr *cpuDefs); qemuMonitorCPUDefsPtr qemuMonitorCPUDefsNew(size_t count); +qemuMonitorCPUDefsPtr qemuMonitorCPUDefsCopy(qemuMonitorCPUDefsPtr src); void qemuMonitorCPUDefsFree(qemuMonitorCPUDefsPtr defs); G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuMonitorCPUDefs, qemuMonitorCPUDefsFree); -- 2.39.5