mirror of https://gitee.com/openkylin/libvirt.git
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: John Ferlan <jferlan@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
ba0d05c085
commit
b985d1a774
|
@ -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'/>
|
||||
|
|
Loading…
Reference in New Issue