[PATCH v2 1/6] qemu: introduce QEMU_CAPS_DEVICE_PANIC_PCI

Kristina Hanicova khanicov at redhat.com
Mon Feb 20 16:12:54 UTC 2023


This capability detects the availability of the pvpanic-pci
device that is required in order to use pvpanic on Arm (original
pvpanic is an emulated ISA device, for which Arm does not have
support).
---
 src/qemu/qemu_capabilities.c                      | 2 ++
 src/qemu/qemu_capabilities.h                      | 1 +
 tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml | 1 +
 tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml  | 1 +
 tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml  | 1 +
 tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 +
 tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml   | 1 +
 tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml  | 1 +
 tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml | 1 +
 tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml   | 1 +
 tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml  | 1 +
 tests/qemucapabilitiesdata/caps_7.1.0.ppc64.xml   | 1 +
 tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml  | 1 +
 tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml  | 1 +
 tests/qemucapabilitiesdata/caps_8.0.0.riscv64.xml | 1 +
 tests/qemucapabilitiesdata/caps_8.0.0.x86_64.xml  | 1 +
 16 files changed, 17 insertions(+)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 9c3650e022..d92d5a62dd 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -686,6 +686,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
               "netdev.stream", /* QEMU_CAPS_NETDEV_STREAM */
               "virtio-crypto", /* QEMU_CAPS_DEVICE_VIRTIO_CRYPTO */
               "cryptodev-backend-lkcf", /* QEMU_CAPS_OBJECT_CRYPTO_LKCF */
+              "pvpanic-pci", /* QEMU_CAPS_DEVICE_PANIC_PCI */
     );
 
 
@@ -1398,6 +1399,7 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
     { "virtio-crypto-pci", QEMU_CAPS_DEVICE_VIRTIO_CRYPTO },
     { "virtio-crypto-device", QEMU_CAPS_DEVICE_VIRTIO_CRYPTO },
     { "cryptodev-backend-lkcf", QEMU_CAPS_OBJECT_CRYPTO_LKCF },
+    { "pvpanic-pci", QEMU_CAPS_DEVICE_PANIC_PCI },
 };
 
 
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 5bf87c2f8d..b72348cf88 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -665,6 +665,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
     QEMU_CAPS_NETDEV_STREAM, /* -netdev stream */
     QEMU_CAPS_DEVICE_VIRTIO_CRYPTO, /* virtio-crypto device */
     QEMU_CAPS_OBJECT_CRYPTO_LKCF, /* -object cryptodev-backend-lkcf */
+    QEMU_CAPS_DEVICE_PANIC_PCI, /* -device pvpanic-pci */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
index f09c286054..8238fb5d16 100644
--- a/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_6.0.0.aarch64.xml
@@ -144,6 +144,7 @@
   <flag name='usb-host.guest-resets-all'/>
   <flag name='migration.blocked-reasons'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>6000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
index 4a6b88aa10..7a592ff6aa 100644
--- a/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_6.0.0.x86_64.xml
@@ -184,6 +184,7 @@
   <flag name='usb-host.guest-resets-all'/>
   <flag name='migration.blocked-reasons'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>6000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100242</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
index f303f439d6..4da1d42276 100644
--- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml
@@ -189,6 +189,7 @@
   <flag name='usb-host.guest-resets-all'/>
   <flag name='migration.blocked-reasons'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>6001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
index a573d465fb..33c9982bd1 100644
--- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml
@@ -156,6 +156,7 @@
   <flag name='usb-host.guest-resets-all'/>
   <flag name='migration.blocked-reasons'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>6001050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
index 56269483c0..c485733d83 100644
--- a/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_6.2.0.ppc64.xml
@@ -150,6 +150,7 @@
   <flag name='virtio-net.rss'/>
   <flag name='migration.blocked-reasons'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>6002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
index e9f65434ee..1f6f16bd4f 100644
--- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml
@@ -191,6 +191,7 @@
   <flag name='usb-host.guest-resets-all'/>
   <flag name='migration.blocked-reasons'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>6002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml
index 16c4df09c2..6517cd71f6 100644
--- a/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.0.0.aarch64.xml
@@ -164,6 +164,7 @@
   <flag name='usb-host.guest-resets-all'/>
   <flag name='migration.blocked-reasons'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>6002092</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>61700243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml
index 302ab8dacb..8dae2495e4 100644
--- a/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.0.0.ppc64.xml
@@ -168,6 +168,7 @@
   <flag name='usb-host.guest-resets-all'/>
   <flag name='migration.blocked-reasons'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>7000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
index 893b5670e5..90b83f2995 100644
--- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml
@@ -197,6 +197,7 @@
   <flag name='migration.blocked-reasons'/>
   <flag name='sgx-epc'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>7000000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100243</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.ppc64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.ppc64.xml
index 5ffc2213c1..e0e9a4693f 100644
--- a/tests/qemucapabilitiesdata/caps_7.1.0.ppc64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.1.0.ppc64.xml
@@ -168,6 +168,7 @@
   <flag name='query-stats-schemas'/>
   <flag name='screenshot-format-png'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>7001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>42900244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
index 5d7d98bb56..1f05dd4ae3 100644
--- a/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml
@@ -200,6 +200,7 @@
   <flag name='query-stats-schemas'/>
   <flag name='screenshot-format-png'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>7001000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100244</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
index fccf9b7923..13f7b66b69 100644
--- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml
@@ -204,6 +204,7 @@
   <flag name='netdev.stream'/>
   <flag name='virtio-crypto'/>
   <flag name='cryptodev-backend-lkcf'/>
+  <flag name='pvpanic-pci'/>
   <version>7002000</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100245</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_8.0.0.riscv64.xml b/tests/qemucapabilitiesdata/caps_8.0.0.riscv64.xml
index 0e273f168a..751320433a 100644
--- a/tests/qemucapabilitiesdata/caps_8.0.0.riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_8.0.0.riscv64.xml
@@ -143,6 +143,7 @@
   <flag name='screenshot-format-png'/>
   <flag name='netdev.stream'/>
   <flag name='virtio-crypto'/>
+  <flag name='pvpanic-pci'/>
   <version>7002050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>0</microcodeVersion>
diff --git a/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.xml
index c8b7f95c4a..56be34799c 100644
--- a/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.xml
+++ b/tests/qemucapabilitiesdata/caps_8.0.0.x86_64.xml
@@ -204,6 +204,7 @@
   <flag name='netdev.stream'/>
   <flag name='virtio-crypto'/>
   <flag name='cryptodev-backend-lkcf'/>
+  <flag name='pvpanic-pci'/>
   <version>7002050</version>
   <kvmVersion>0</kvmVersion>
   <microcodeVersion>43100244</microcodeVersion>
-- 
2.39.1



More information about the libvir-list mailing list