[libvirt] [PATCH RFC 05/11] qemu: Query max-arm-cpu properties

Andrea Bolognani abologna at redhat.com
Thu Jul 25 14:06:19 UTC 2019


Signed-off-by: Andrea Bolognani <abologna at redhat.com>
---
 src/qemu/qemu_capabilities.c                  |   3 +
 .../caps_2.12.0.aarch64.replies               | 159 ++++++++++--
 .../caps_4.0.0.aarch64.replies                | 159 ++++++++++--
 .../caps_4.1.0.aarch64.replies                | 235 ++++++++++++++++--
 4 files changed, 500 insertions(+), 56 deletions(-)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 7642639d1e..b3fbc76d07 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1420,6 +1420,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
     { "max-x86_64-cpu", virQEMUCapsObjectPropsMaxCPU,
       ARRAY_CARDINALITY(virQEMUCapsObjectPropsMaxCPU),
       QEMU_CAPS_X86_MAX_CPU },
+    { "max-arm-cpu", virQEMUCapsObjectPropsMaxCPU,
+      ARRAY_CARDINALITY(virQEMUCapsObjectPropsMaxCPU),
+      QEMU_CAPS_ARM_MAX_CPU },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsPSeries[] = {
diff --git a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
index c4d9c42d72..2e1d8d345d 100644
--- a/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_2.12.0.aarch64.replies
@@ -5376,10 +5376,133 @@
 }
 
 {
-  "execute": "query-machines",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "max-arm-cpu"
+  },
   "id": "libvirt-31"
 }
 
+{
+  "return": [
+    {
+      "name": "pmu",
+      "type": "bool"
+    },
+    {
+      "name": "midr",
+      "type": "uint32"
+    },
+    {
+      "name": "mp-affinity",
+      "type": "uint64"
+    },
+    {
+      "name": "hotpluggable",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-in[0]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "cfgend",
+      "type": "bool"
+    },
+    {
+      "name": "psci-conduit",
+      "type": "uint32"
+    },
+    {
+      "name": "reset-hivecs",
+      "type": "bool"
+    },
+    {
+      "name": "memory",
+      "type": "link<qemu:memory-region>"
+    },
+    {
+      "name": "unnamed-gpio-out[2]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "hotplugged",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-out[3]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "parent_bus",
+      "type": "link<bus>"
+    },
+    {
+      "name": "node-id",
+      "type": "int32"
+    },
+    {
+      "name": "start-powered-off",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-out[1]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "core-count",
+      "type": "int32"
+    },
+    {
+      "name": "unnamed-gpio-out[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "gicv3-maintenance-interrupt[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "rvbar",
+      "type": "uint64"
+    },
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "pmu-interrupt[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "aarch64",
+      "description": "Set on/off to enable/disable aarch64 execution state ",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-in[2]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "unnamed-gpio-in[3]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "realized",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-in[1]",
+      "type": "child<irq>"
+    }
+  ],
+  "id": "libvirt-31"
+}
+
+{
+  "execute": "query-machines",
+  "id": "libvirt-32"
+}
+
 {
   "return": [
     {
@@ -5674,7 +5797,7 @@
       "cpu-max": 1
     }
   ],
-  "id": "libvirt-31"
+  "id": "libvirt-32"
 }
 
 {
@@ -5682,7 +5805,7 @@
   "arguments": {
     "typename": "virt-2.12-machine"
   },
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -5812,12 +5935,12 @@
       "type": "bool"
     }
   ],
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -5993,35 +6116,35 @@
       "static": false
     }
   ],
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
   "return": [
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
   "return": [
     "emulator"
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
@@ -7186,12 +7309,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -7253,12 +7376,12 @@
       "capability": "dirty-bitmaps"
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
   "execute": "query-qmp-schema",
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -18626,12 +18749,12 @@
       "meta-type": "object"
     }
   ],
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
@@ -18647,7 +18770,7 @@
       "kernel": false
     }
   ],
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.replies
index 91943860b1..3a9b1b8dc7 100644
--- a/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_4.0.0.aarch64.replies
@@ -5864,10 +5864,133 @@
 }
 
 {
-  "execute": "query-machines",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "max-arm-cpu"
+  },
   "id": "libvirt-32"
 }
 
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "pmu",
+      "type": "bool"
+    },
+    {
+      "name": "midr",
+      "type": "uint32"
+    },
+    {
+      "name": "mp-affinity",
+      "type": "uint64"
+    },
+    {
+      "name": "hotpluggable",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-in[0]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "psci-conduit",
+      "type": "uint32"
+    },
+    {
+      "name": "reset-hivecs",
+      "type": "bool"
+    },
+    {
+      "name": "memory",
+      "type": "link<qemu:memory-region>"
+    },
+    {
+      "name": "unnamed-gpio-out[2]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "hotplugged",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-out[3]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "parent_bus",
+      "type": "link<bus>"
+    },
+    {
+      "name": "node-id",
+      "type": "int32"
+    },
+    {
+      "name": "start-powered-off",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-out[1]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "core-count",
+      "type": "int32"
+    },
+    {
+      "name": "unnamed-gpio-out[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "gicv3-maintenance-interrupt[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "rvbar",
+      "type": "uint64"
+    },
+    {
+      "name": "cfgend",
+      "type": "bool"
+    },
+    {
+      "name": "pmu-interrupt[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "aarch64",
+      "description": "Set on/off to enable/disable aarch64 execution state ",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-in[2]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "unnamed-gpio-in[3]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "realized",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-in[1]",
+      "type": "child<irq>"
+    }
+  ],
+  "id": "libvirt-32"
+}
+
+{
+  "execute": "query-machines",
+  "id": "libvirt-33"
+}
+
 {
   "return": [
     {
@@ -6207,7 +6330,7 @@
       "cpu-max": 1
     }
   ],
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -6215,7 +6338,7 @@
   "arguments": {
     "typename": "virt-4.0-machine"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -6350,12 +6473,12 @@
       "type": "string"
     }
   ],
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -6546,34 +6669,34 @@
       "static": false
     }
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
   "return": [
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "return": [
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -7721,12 +7844,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -7800,12 +7923,12 @@
       "capability": "x-ignore-shared"
     }
   ],
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
   "execute": "query-qmp-schema",
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
@@ -19892,12 +20015,12 @@
       ]
     }
   ],
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
@@ -19913,7 +20036,7 @@
       "kernel": false
     }
   ],
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
diff --git a/tests/qemucapabilitiesdata/caps_4.1.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_4.1.0.aarch64.replies
index 7262ce6b11..4dd40ecee6 100644
--- a/tests/qemucapabilitiesdata/caps_4.1.0.aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_4.1.0.aarch64.replies
@@ -5924,10 +5924,205 @@
 }
 
 {
-  "execute": "query-machines",
+  "execute": "qom-list-properties",
+  "arguments": {
+    "typename": "max-arm-cpu"
+  },
+  "id": "libvirt-32"
+}
+
+{
+  "return": [
+    {
+      "name": "type",
+      "type": "string"
+    },
+    {
+      "name": "sve640",
+      "type": "bool"
+    },
+    {
+      "name": "psci-conduit",
+      "type": "uint32"
+    },
+    {
+      "name": "sve128",
+      "type": "bool"
+    },
+    {
+      "name": "sve1152",
+      "type": "bool"
+    },
+    {
+      "name": "node-id",
+      "type": "int32"
+    },
+    {
+      "name": "sve1408",
+      "type": "bool"
+    },
+    {
+      "name": "memory",
+      "type": "link<qemu:memory-region>"
+    },
+    {
+      "name": "unnamed-gpio-in[3]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "core-count",
+      "type": "int32"
+    },
+    {
+      "name": "sve2048",
+      "type": "bool"
+    },
+    {
+      "name": "aarch64",
+      "description": "Set on/off to enable/disable aarch64 execution state ",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-in[1]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "sve1664",
+      "type": "bool"
+    },
+    {
+      "name": "realized",
+      "type": "bool"
+    },
+    {
+      "name": "rvbar",
+      "type": "uint64"
+    },
+    {
+      "name": "sve384",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-out[2]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "mp-affinity",
+      "type": "uint64"
+    },
+    {
+      "name": "parent_bus",
+      "type": "link<bus>"
+    },
+    {
+      "name": "unnamed-gpio-out[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "sve512",
+      "type": "bool"
+    },
+    {
+      "name": "hotplugged",
+      "type": "bool"
+    },
+    {
+      "name": "gicv3-maintenance-interrupt[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "sve896",
+      "type": "bool"
+    },
+    {
+      "name": "sve1024",
+      "type": "bool"
+    },
+    {
+      "name": "pmu-interrupt[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "sve1280",
+      "type": "bool"
+    },
+    {
+      "name": "sve1536",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-in[2]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "sve-max-vq",
+      "type": "uint32"
+    },
+    {
+      "name": "sve",
+      "type": "bool"
+    },
+    {
+      "name": "start-powered-off",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-in[0]",
+      "type": "child<irq>"
+    },
+    {
+      "name": "sve256",
+      "type": "bool"
+    },
+    {
+      "name": "sve1792",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-out[3]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "cfgend",
+      "type": "bool"
+    },
+    {
+      "name": "midr",
+      "type": "uint32"
+    },
+    {
+      "name": "hotpluggable",
+      "type": "bool"
+    },
+    {
+      "name": "pmu",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-out[1]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "sve1920",
+      "type": "bool"
+    },
+    {
+      "name": "reset-hivecs",
+      "type": "bool"
+    },
+    {
+      "name": "sve768",
+      "type": "bool"
+    }
+  ],
   "id": "libvirt-32"
 }
 
+{
+  "execute": "query-machines",
+  "id": "libvirt-33"
+}
+
 {
   "return": [
     {
@@ -6272,7 +6467,7 @@
       "cpu-max": 1
     }
   ],
-  "id": "libvirt-32"
+  "id": "libvirt-33"
 }
 
 {
@@ -6280,7 +6475,7 @@
   "arguments": {
     "typename": "virt-4.1-machine"
   },
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
@@ -6433,12 +6628,12 @@
       "type": "child<cfi.pflash01>"
     }
   ],
-  "id": "libvirt-33"
+  "id": "libvirt-34"
 }
 
 {
   "execute": "query-cpu-definitions",
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
@@ -6629,34 +6824,34 @@
       "static": false
     }
   ],
-  "id": "libvirt-34"
+  "id": "libvirt-35"
 }
 
 {
   "execute": "query-tpm-models",
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
   "return": [
   ],
-  "id": "libvirt-35"
+  "id": "libvirt-36"
 }
 
 {
   "execute": "query-tpm-types",
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "return": [
   ],
-  "id": "libvirt-36"
+  "id": "libvirt-37"
 }
 
 {
   "execute": "query-command-line-options",
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
@@ -7808,12 +8003,12 @@
       "option": "drive"
     }
   ],
-  "id": "libvirt-37"
+  "id": "libvirt-38"
 }
 
 {
   "execute": "query-migrate-capabilities",
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
@@ -7887,12 +8082,12 @@
       "capability": "x-ignore-shared"
     }
   ],
-  "id": "libvirt-38"
+  "id": "libvirt-39"
 }
 
 {
   "execute": "query-qmp-schema",
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
@@ -20058,12 +20253,12 @@
       ]
     }
   ],
-  "id": "libvirt-39"
+  "id": "libvirt-40"
 }
 
 {
   "execute": "query-gic-capabilities",
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
@@ -20079,7 +20274,7 @@
       "kernel": false
     }
   ],
-  "id": "libvirt-40"
+  "id": "libvirt-41"
 }
 
 {
@@ -20090,11 +20285,11 @@
       "name": "host"
     }
   },
-  "id": "libvirt-41"
+  "id": "libvirt-42"
 }
 
 {
-  "id": "libvirt-41",
+  "id": "libvirt-42",
   "error": {
     "class": "GenericError",
     "desc": "The requested expansion type is not supported."
-- 
2.21.0




More information about the libvir-list mailing list