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

Andrea Bolognani abologna at redhat.com
Wed Nov 6 15:47:04 UTC 2019


Signed-off-by: Andrea Bolognani <abologna at redhat.com>
Tested-by: Andrew Jones <drjones at redhat.com>
---
This patch is heavily snipped.

 src/qemu/qemu_capabilities.c                  |   3 +
 .../caps_2.12.0.aarch64.replies               | 159 ++++++++++--
 .../caps_4.0.0.aarch64.replies                | 159 ++++++++++--
 .../caps_4.2.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 6c8e119e56..363fb0e197 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -1439,6 +1439,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
     { "max-x86_64-cpu", virQEMUCapsObjectPropsMaxCPU,
       G_N_ELEMENTS(virQEMUCapsObjectPropsMaxCPU),
       QEMU_CAPS_X86_MAX_CPU },
+    { "max-arm-cpu", virQEMUCapsObjectPropsMaxCPU,
+      G_N_ELEMENTS(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": [
     {
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": [
     {
diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies
index a51a3a42bd..efd193d90d 100644
--- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.replies
@@ -6236,10 +6236,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": "sve512",
+      "type": "bool"
+    },
+    {
+      "name": "unnamed-gpio-out[0]",
+      "type": "link<irq>"
+    },
+    {
+      "name": "parent_bus",
+      "type": "link<bus>"
+    },
+    {
+      "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": [
     {
-- 
2.21.0




More information about the libvir-list mailing list