提交 b985d1a7 编写于 作者: D Daniel P. Berrangé

qemu: record the QEMU default machine in capabilities

We don't honour the QEMU default machine type anymore, always using the
libvirt chosen default instead. The QEMU argv parser, however, will need
to know the exacty QEMU default, so we must record that info.
Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
上级 ba0d05c0
......@@ -516,6 +516,7 @@ struct virQEMUCapsMachineType {
char *alias;
unsigned int maxCpus;
bool hotplugCpus;
bool qemuDefault;
};
typedef struct _virQEMUCapsHostCPUData virQEMUCapsHostCPUData;
......@@ -1644,6 +1645,8 @@ virQEMUCapsPtr virQEMUCapsNewCopy(virQEMUCapsPtr qemuCaps)
goto error;
ret->machineTypes[i].maxCpus = qemuCaps->machineTypes[i].maxCpus;
ret->machineTypes[i].hotplugCpus = qemuCaps->machineTypes[i].hotplugCpus;
ret->machineTypes[i].qemuDefault = qemuCaps->machineTypes[i].qemuDefault;
}
if (VIR_ALLOC_N(ret->gicCapabilities, qemuCaps->ngicCapabilities) < 0)
......@@ -2339,8 +2342,10 @@ virQEMUCapsProbeQMPMachineTypes(virQEMUCapsPtr qemuCaps,
preferredIdx = qemuCaps->nmachineTypes - 1;
}
if (machines[i]->isDefault)
if (machines[i]->isDefault) {
mach->qemuDefault = true;
defIdx = qemuCaps->nmachineTypes - 1;
}
}
/*
......@@ -3424,7 +3429,7 @@ virQEMUCapsParseSEVInfo(virQEMUCapsPtr qemuCaps, xmlXPathContextPtr ctxt)
* ...
* <cpu name="pentium3"/>
* ...
* <machine name="pc-1.0" alias="pc" hotplugCpus='yes' maxCpus="4"/>
* <machine name="pc-1.0" alias="pc" hotplugCpus='yes' maxCpus="4" default="yes"/>
* ...
* </qemuCaps>
*/
......@@ -3589,6 +3594,11 @@ virQEMUCapsLoadCache(virArch hostArch,
if (STREQ_NULLABLE(str, "yes"))
qemuCaps->machineTypes[i].hotplugCpus = true;
VIR_FREE(str);
str = virXMLPropString(nodes[i], "default");
if (STREQ_NULLABLE(str, "yes"))
qemuCaps->machineTypes[i].qemuDefault = true;
VIR_FREE(str);
}
}
VIR_FREE(nodes);
......@@ -3858,8 +3868,11 @@ virQEMUCapsFormatCache(virQEMUCapsPtr qemuCaps)
qemuCaps->machineTypes[i].alias);
if (qemuCaps->machineTypes[i].hotplugCpus)
virBufferAddLit(&buf, " hotplugCpus='yes'");
virBufferAsprintf(&buf, " maxCpus='%u'/>\n",
virBufferAsprintf(&buf, " maxCpus='%u'",
qemuCaps->machineTypes[i].maxCpus);
if (qemuCaps->machineTypes[i].qemuDefault)
virBufferAddLit(&buf, " default='yes'");
virBufferAddLit(&buf, "/>\n");
}
for (i = 0; i < qemuCaps->ngicCapabilities; i++) {
......
......@@ -159,7 +159,7 @@
<cpu type='tcg' name='core2duo'/>
<cpu type='tcg' name='phenom'/>
<cpu type='tcg' name='qemu64'/>
<machine name='pc-i440fx-1.5' alias='pc' maxCpus='255'/>
<machine name='pc-i440fx-1.5' alias='pc' maxCpus='255' default='yes'/>
<machine name='pc-q35-1.4' maxCpus='255'/>
<machine name='pc-q35-1.5' alias='q35' maxCpus='255'/>
<machine name='isapc' maxCpus='1'/>
......
......@@ -164,7 +164,7 @@
<cpu type='tcg' name='core2duo'/>
<cpu type='tcg' name='phenom'/>
<cpu type='tcg' name='qemu64'/>
<machine name='pc-i440fx-1.6' alias='pc' maxCpus='255'/>
<machine name='pc-i440fx-1.6' alias='pc' maxCpus='255' default='yes'/>
<machine name='pc-q35-1.4' maxCpus='255'/>
<machine name='pc-q35-1.5' maxCpus='255'/>
<machine name='pc-q35-1.6' alias='q35' maxCpus='255'/>
......
......@@ -166,7 +166,7 @@
<cpu type='tcg' name='core2duo'/>
<cpu type='tcg' name='phenom'/>
<cpu type='tcg' name='qemu64'/>
<machine name='pc-i440fx-1.7' alias='pc' maxCpus='255'/>
<machine name='pc-i440fx-1.7' alias='pc' maxCpus='255' default='yes'/>
<machine name='pc-q35-1.4' maxCpus='255'/>
<machine name='pc-q35-1.5' maxCpus='255'/>
<machine name='pc-q35-1.6' maxCpus='255'/>
......
......@@ -184,7 +184,7 @@
<cpu type='tcg' name='core2duo'/>
<cpu type='tcg' name='phenom'/>
<cpu type='tcg' name='qemu64'/>
<machine name='pc-i440fx-2.1' alias='pc' maxCpus='255'/>
<machine name='pc-i440fx-2.1' alias='pc' maxCpus='255' default='yes'/>
<machine name='pc-1.3' maxCpus='255'/>
<machine name='pc-0.12' maxCpus='255'/>
<machine name='pc-q35-1.6' maxCpus='255'/>
......
......@@ -1029,7 +1029,7 @@
<cpu type='tcg' name='MPC8544E_v11'/>
<cpu type='tcg' name='405GPb'/>
<cpu type='tcg' name='MPC8541E_v11'/>
<machine name='pseries-2.10' alias='pseries' hotplugCpus='yes' maxCpus='1024'/>
<machine name='pseries-2.10' alias='pseries' hotplugCpus='yes' maxCpus='1024' default='yes'/>
<machine name='ref405ep' maxCpus='1'/>
<machine name='virtex-ml507' maxCpus='1'/>
<machine name='powernv' maxCpus='2048'/>
......
......@@ -1264,7 +1264,7 @@
<blocker name='msa'/>
<blocker name='type'/>
</cpu>
<machine name='s390-ccw-virtio-2.10' alias='s390-ccw-virtio' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.10' alias='s390-ccw-virtio' maxCpus='248' default='yes'/>
<machine name='s390-ccw-virtio-2.7' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.6' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.5' maxCpus='248'/>
......
......@@ -931,7 +931,7 @@
<blocker name='3dnowprefetch'/>
</cpu>
<cpu type='tcg' name='486' usable='yes'/>
<machine name='pc-i440fx-2.10' alias='pc' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.10' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/>
<machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-1.3' hotplugCpus='yes' maxCpus='255'/>
......
......@@ -2609,7 +2609,7 @@
<blocker name='hfpm'/>
<blocker name='type'/>
</cpu>
<machine name='s390-ccw-virtio-2.11' alias='s390-ccw-virtio' hotplugCpus='yes' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.11' alias='s390-ccw-virtio' hotplugCpus='yes' maxCpus='248' default='yes'/>
<machine name='s390-ccw-virtio-2.7' hotplugCpus='yes' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.6' hotplugCpus='yes' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.10' hotplugCpus='yes' maxCpus='248'/>
......
......@@ -922,7 +922,7 @@
<blocker name='3dnowprefetch'/>
</cpu>
<cpu type='tcg' name='486' usable='yes'/>
<machine name='pc-i440fx-2.11' alias='pc' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.11' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/>
<machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-1.3' hotplugCpus='yes' maxCpus='255'/>
......
......@@ -1047,7 +1047,7 @@
<cpu type='tcg' name='750_v3.1'/>
<cpu type='tcg' name='power8e_v2.1'/>
<cpu type='tcg' name='mpc8568e'/>
<machine name='pseries-2.12' alias='pseries' hotplugCpus='yes' maxCpus='1024'/>
<machine name='pseries-2.12' alias='pseries' hotplugCpus='yes' maxCpus='1024' default='yes'/>
<machine name='ref405ep' maxCpus='1'/>
<machine name='sam460ex' maxCpus='1'/>
<machine name='virtex-ml507' maxCpus='1'/>
......
......@@ -2474,7 +2474,7 @@
<blocker name='kmac-dea'/>
<blocker name='hfpm'/>
</cpu>
<machine name='s390-ccw-virtio-2.12' alias='s390-ccw-virtio' hotplugCpus='yes' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.12' alias='s390-ccw-virtio' hotplugCpus='yes' maxCpus='248' default='yes'/>
<machine name='s390-ccw-virtio-2.7' hotplugCpus='yes' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.6' hotplugCpus='yes' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.11' hotplugCpus='yes' maxCpus='248'/>
......
......@@ -1215,7 +1215,7 @@
<blocker name='3dnowprefetch'/>
</cpu>
<cpu type='tcg' name='486' usable='yes'/>
<machine name='pc-i440fx-2.12' alias='pc' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.12' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/>
<machine name='isapc' hotplugCpus='yes' maxCpus='1'/>
<machine name='pc-1.1' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-1.2' hotplugCpus='yes' maxCpus='255'/>
......
......@@ -216,7 +216,7 @@
<cpu type='tcg' name='core2duo'/>
<cpu type='tcg' name='phenom'/>
<cpu type='tcg' name='qemu64'/>
<machine name='pc-i440fx-2.4' alias='pc' maxCpus='255'/>
<machine name='pc-i440fx-2.4' alias='pc' maxCpus='255' default='yes'/>
<machine name='pc-1.3' maxCpus='255'/>
<machine name='pc-0.12' maxCpus='255'/>
<machine name='pc-q35-1.6' maxCpus='255'/>
......
......@@ -222,7 +222,7 @@
<cpu type='tcg' name='core2duo'/>
<cpu type='tcg' name='phenom'/>
<cpu type='tcg' name='qemu64'/>
<machine name='pc-i440fx-2.5' alias='pc' maxCpus='255'/>
<machine name='pc-i440fx-2.5' alias='pc' maxCpus='255' default='yes'/>
<machine name='pc-i440fx-2.4' maxCpus='255'/>
<machine name='pc-1.3' maxCpus='255'/>
<machine name='pc-0.12' maxCpus='255'/>
......
......@@ -1004,7 +1004,7 @@
<cpu type='tcg' name='MPC8544E_v11'/>
<cpu type='tcg' name='405GPb'/>
<cpu type='tcg' name='MPC8541E_v11'/>
<machine name='pseries-2.6' alias='pseries' maxCpus='255'/>
<machine name='pseries-2.6' alias='pseries' maxCpus='255' default='yes'/>
<machine name='ref405ep' maxCpus='1'/>
<machine name='virtex-ml507' maxCpus='1'/>
<machine name='ppce500' maxCpus='32'/>
......
......@@ -234,7 +234,7 @@
<cpu type='tcg' name='core2duo'/>
<cpu type='tcg' name='phenom'/>
<cpu type='tcg' name='qemu64'/>
<machine name='pc-i440fx-2.6' alias='pc' maxCpus='255'/>
<machine name='pc-i440fx-2.6' alias='pc' maxCpus='255' default='yes'/>
<machine name='pc-0.12' maxCpus='255'/>
<machine name='pc-i440fx-2.4' maxCpus='255'/>
<machine name='pc-1.3' maxCpus='255'/>
......
......@@ -112,7 +112,7 @@
<arch>s390x</arch>
<cpu type='kvm' name='host'/>
<cpu type='tcg' name='host'/>
<machine name='s390-ccw-virtio-2.7' alias='s390-ccw-virtio' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.7' alias='s390-ccw-virtio' maxCpus='248' default='yes'/>
<machine name='s390-ccw-virtio-2.5' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.4' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.6' maxCpus='248'/>
......
......@@ -241,7 +241,7 @@
<cpu type='tcg' name='core2duo'/>
<cpu type='tcg' name='phenom'/>
<cpu type='tcg' name='qemu64'/>
<machine name='pc-i440fx-2.7' alias='pc' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.7' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/>
<machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-1.3' hotplugCpus='yes' maxCpus='255'/>
......
......@@ -258,7 +258,7 @@
<cpu type='tcg' name='z196-base'/>
<cpu type='tcg' name='z13-base'/>
<cpu type='tcg' name='z890'/>
<machine name='s390-ccw-virtio-2.8' alias='s390-ccw-virtio' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.8' alias='s390-ccw-virtio' maxCpus='248' default='yes'/>
<machine name='s390-ccw-virtio-2.7' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.6' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.5' maxCpus='248'/>
......
......@@ -366,7 +366,7 @@
<blocker name='3dnowprefetch'/>
</cpu>
<cpu type='tcg' name='486' usable='yes'/>
<machine name='pc-i440fx-2.8' alias='pc' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.8' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/>
<machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-1.3' hotplugCpus='yes' maxCpus='255'/>
......
......@@ -1020,7 +1020,7 @@
<cpu type='tcg' name='MPC8544E_v11'/>
<cpu type='tcg' name='405GPb'/>
<cpu type='tcg' name='MPC8541E_v11'/>
<machine name='pseries-2.9' alias='pseries' hotplugCpus='yes' maxCpus='1024'/>
<machine name='pseries-2.9' alias='pseries' hotplugCpus='yes' maxCpus='1024' default='yes'/>
<machine name='ref405ep' maxCpus='1'/>
<machine name='virtex-ml507' maxCpus='1'/>
<machine name='powernv' maxCpus='2048'/>
......
......@@ -263,7 +263,7 @@
<cpu type='tcg' name='z196-base'/>
<cpu type='tcg' name='z13-base'/>
<cpu type='tcg' name='z890'/>
<machine name='s390-ccw-virtio-2.9' alias='s390-ccw-virtio' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.9' alias='s390-ccw-virtio' maxCpus='248' default='yes'/>
<machine name='s390-ccw-virtio-2.7' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.6' maxCpus='248'/>
<machine name='s390-ccw-virtio-2.5' maxCpus='248'/>
......
......@@ -849,7 +849,7 @@
<blocker name='3dnowprefetch'/>
</cpu>
<cpu type='tcg' name='486' usable='yes'/>
<machine name='pc-i440fx-2.9' alias='pc' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.9' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/>
<machine name='pc-0.12' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-2.4' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-1.3' hotplugCpus='yes' maxCpus='255'/>
......
......@@ -1047,7 +1047,7 @@
<cpu type='tcg' name='750_v3.1'/>
<cpu type='tcg' name='power5+_v2.1'/>
<cpu type='tcg' name='mpc8568e'/>
<machine name='pseries-3.0' alias='pseries' hotplugCpus='yes' maxCpus='1024'/>
<machine name='pseries-3.0' alias='pseries' hotplugCpus='yes' maxCpus='1024' default='yes'/>
<machine name='ref405ep' maxCpus='1'/>
<machine name='sam460ex' maxCpus='1'/>
<machine name='virtex-ml507' maxCpus='1'/>
......
......@@ -109,7 +109,7 @@
<microcodeVersion>0</microcodeVersion>
<package></package>
<arch>riscv32</arch>
<machine name='spike_v1.10' maxCpus='1'/>
<machine name='spike_v1.10' maxCpus='1' default='yes'/>
<machine name='spike_v1.9.1' maxCpus='1'/>
<machine name='sifive_e' maxCpus='1'/>
<machine name='virt' maxCpus='8'/>
......
......@@ -109,7 +109,7 @@
<microcodeVersion>0</microcodeVersion>
<package></package>
<arch>riscv64</arch>
<machine name='spike_v1.10' maxCpus='1'/>
<machine name='spike_v1.10' maxCpus='1' default='yes'/>
<machine name='spike_v1.9.1' maxCpus='1'/>
<machine name='sifive_e' maxCpus='1'/>
<machine name='virt' maxCpus='8'/>
......
......@@ -1156,7 +1156,7 @@
<blocker name='3dnowprefetch'/>
</cpu>
<cpu type='tcg' name='486' usable='yes'/>
<machine name='pc-i440fx-3.0' alias='pc' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-i440fx-3.0' alias='pc' hotplugCpus='yes' maxCpus='255' default='yes'/>
<machine name='isapc' hotplugCpus='yes' maxCpus='1'/>
<machine name='pc-1.1' hotplugCpus='yes' maxCpus='255'/>
<machine name='pc-1.2' hotplugCpus='yes' maxCpus='255'/>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册