
On Thu, Oct 03, 2019 at 16:00:34 +0200, Jiri Denemark wrote:
We need to create a mapping between CPU model names and their corresponding QOM types.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_capabilities.c | 4 + src/qemu/qemu_monitor.c | 2 + src/qemu/qemu_monitor.h | 1 + src/qemu/qemu_monitor_json.c | 4 + .../caps_2.10.0.aarch64.xml | 126 +- .../caps_2.10.0.ppc64.xml | 1734 ++++++++-------- .../caps_2.10.0.s390x.xml | 264 +-- .../caps_2.10.0.x86_64.xml | 132 +- .../caps_2.11.0.s390x.xml | 264 +-- .../caps_2.11.0.x86_64.xml | 136 +- .../caps_2.12.0.aarch64.xml | 136 +- .../caps_2.12.0.ppc64.xml | 1750 ++++++++--------- .../caps_2.12.0.s390x.xml | 264 +-- .../caps_2.12.0.x86_64.xml | 180 +- .../qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 1734 ++++++++-------- .../qemucapabilitiesdata/caps_2.9.0.s390x.xml | 256 +-- .../caps_2.9.0.x86_64.xml | 128 +- .../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 1750 ++++++++--------- .../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 272 +-- .../caps_3.0.0.x86_64.xml | 184 +- .../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 1750 ++++++++--------- .../caps_3.1.0.x86_64.xml | 196 +- .../caps_4.0.0.aarch64.xml | 148 +- .../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 1750 ++++++++--------- .../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 284 +-- .../caps_4.0.0.x86_64.xml | 196 +- .../caps_4.1.0.x86_64.xml | 400 ++-- .../caps_4.2.0.x86_64.xml | 400 ++-- 28 files changed, 7228 insertions(+), 7217 deletions(-)
[...]
diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index c2a2f6eee6..c0cd195496 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -5571,6 +5571,10 @@ qemuMonitorJSONGetCPUDefinitions(qemuMonitorPtr mon, if (VIR_STRDUP(cpu->name, tmp) < 0) return -1;
+ if ((tmp = virJSONValueObjectGetString(child, "typename")) &&
Should we copy the string only if it's not an empty string?
+ VIR_STRDUP(cpu->type, tmp) < 0) + return -1; + if (virJSONValueObjectHasKey(child, "unavailable-features")) { virJSONValuePtr blockers; size_t j;
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml index 162fb1f035..523b8abd11 100644 --- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml @@ -143,873 +143,873 @@ <microcodeVersion>42900805</microcodeVersion> <package> (v2.10.0)</package> <arch>ppc64</arch> - <cpu type='kvm' name='default'/>
[...]
+ <cpu type='kvm' name='405' typename='405D4-powerpc64-cpu'/> + <cpu type='kvm' name='403' typename='403GC-powerpc64-cpu'/> + <cpu type='kvm' name='7457A_v1.2' typename=''/> + <cpu type='kvm' name='750cl_v1.0' typename=''/>
So that these are also not emtpy? I can't imagine this being useful information.
+ <cpu type='kvm' name='750cxe_v2.1' typename=''/> + <cpu type='kvm' name='755_v2.7' typename=''/> + <cpu type='kvm' name='MPC8347ET' typename=''/> + <cpu type='kvm' name='MPC8545E_v20' typename=''/> + <cpu type='kvm' name='750_v2.1' typename=''/>