diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index c258053834a5b7bd8a73ce553203f8f177e0e306..828f0ee7ca2719f8e77032a370108de5e5310df4 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -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)
* ...
*
* ...
- *
+ *
* ...
*
*/
@@ -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++) {
diff --git a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
index 2a98e8a3c6719caaccb1afe0c911f5c907a53217..243f3dcdef725365d7b8934f78637d164ffa31c5 100644
--- a/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml
@@ -159,7 +159,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
index 67bb5c597189b5505bc812087a2e6d898a166d3f..68c1384cf929bfc5d6aa62305ac31ece951ce484 100644
--- a/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml
@@ -164,7 +164,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
index 2df50c71c736b71e6ba7ddc88547df8dba169dc4..d29ee50719324b37b9834b010c510ea8ee1a03b7 100644
--- a/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml
@@ -166,7 +166,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
index bc1c5d553f5db88b5dcbf4e687397a121bc0e0b5..f48f78005bafcccf144d84502f3c2f8adbba011f 100644
--- a/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml
@@ -184,7 +184,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
index 91583a5659aaea008dc0a6604550f6d7775ffc28..1add2b6e4b388819abc25aa53204c0cdd22a3ab3 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml
@@ -1029,7 +1029,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
index aa61a331b86ba935af718265f41526ead8f2e9ad..e9ccc63402167492d232ea2613ec85a03122379d 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml
@@ -1264,7 +1264,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
index 647c0ce4ba6afaf1d4e15674ec3938cf7fe97c72..0896de4a06fa95db990acb7e1ea73b0e01bbbdf6 100644
--- a/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml
@@ -931,7 +931,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
index 2bb4a767e46dc061cb1a7e918ce1e70de1457ce3..ec8330211c17aec19b237d8cadc9df1f2126f707 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml
@@ -2609,7 +2609,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
index f07ea7e7964877d36a07937be23b8079758df6fe..f6bcc597445e6fcaef41b9679016e85ae24f1c07 100644
--- a/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.11.0.x86_64.xml
@@ -922,7 +922,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
index 3f4ef8fc41c7e3df80dc15706b0cd1b78d185039..877362eaef2d1291f81cb421e19d15277ebc28ed 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
@@ -1047,7 +1047,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
index d1d9353f357ce22506da7815ca4b560d362e8fbd..b8e46a970a6509491c1f0ae8e7694b5d28d6b12a 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml
@@ -2474,7 +2474,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
index b3d78f9ccbaa948c01443540ac1aefb352f1cebe..edf944bc35c30742906636207bc5f69c2eea0bd4 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
@@ -1215,7 +1215,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
index 5dc67aa2aea7fa738f7aa36322d06ddf414ceb25..41c2f27f634be6b4233fa7542a4f66ab5b7a6174 100644
--- a/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml
@@ -216,7 +216,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
index 23cf05b9d6fe16125010044ac72a51db749792d5..62dbcec155e663d5ed6fbdc075c02977b318d79c 100644
--- a/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml
@@ -222,7 +222,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
index 0a4f62996c0db330a995308a16a9112821cda952..8d43234514ee0fc2b3d4e7d87672daf741a17796 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml
@@ -1004,7 +1004,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
index f8643335f1acb2c7a07e9b94131e0504a8c55e3c..e7a283d45e6bf7e84996560d0cf66911d367499d 100644
--- a/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml
@@ -234,7 +234,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
index 945afab5c40d62d04ad03e82607c8cc0287fc26c..e8939667b34fd5335020561e3ba8326554da8c6d 100644
--- a/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml
@@ -112,7 +112,7 @@
s390x
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
index 5e1c942bbe36b226b82cf2c537a18111a86f6ec2..8d43092c864f82cff4cd759142b3bc720a3f46f9 100644
--- a/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml
@@ -241,7 +241,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
index 00549630c1232a99368274703394d4678dd0840b..d91182ee84a3ab94115eae23015b6b4b0d54dd4e 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml
@@ -258,7 +258,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
index db87895552fc49bf48c09dfa22f8125bf290dc53..6f0403ba482359f140ffca99782d5bae227ac83a 100644
--- a/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml
@@ -366,7 +366,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
index 149666e0936a34977b9d1fc4422aad1d0493b209..f3e7d238f73937331349b4948f1784add4831d7b 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml
@@ -1020,7 +1020,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
index 789279e24d3e809d60f83d0a8975e2447fb3e28b..e336cb19506fe7af383025ff99046fda09c3d952 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml
@@ -263,7 +263,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
index 8be3d77fefd759cdfea32087e055d3baa0043ecc..37ddad077c944ddb237320671766c2d853e8ec82 100644
--- a/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml
@@ -849,7 +849,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
index 7e3890e26ee2d7901ce9f4d373733c6f13217041..6892c9bd6400e71094816c1690d0ab6f2981c20e 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml
@@ -1047,7 +1047,7 @@
-
+
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
index 839dd951810da5369670109f113b35087b5af726..39cc480dd2c3152717b71b7ab9389d960f2b7a40 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv32.xml
@@ -109,7 +109,7 @@
0
riscv32
-
+
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
index 764d0d51faf28c9cd769d7921cf5e7c573f9b6db..344740879e57af4e410ede140e60b7860fc8fad5 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.riscv64.xml
@@ -109,7 +109,7 @@
0
riscv64
-
+
diff --git a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
index 9e3f5629860db5d85de85ca8a43262708d5eeb98..747f51b7998bfd3a9fee69781ea2feb31e31f48e 100644
--- a/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_3.0.0.x86_64.xml
@@ -1156,7 +1156,7 @@
-
+