[PATCH 4/6] qemu: Add capability for PCI high memory MMIO size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add QEMU capability for PCI high memory MMIO size configuration:
- Add QEMU_CAPS_MACHINE_VIRT_HIGHMEM_MMIO_SIZE capability
- Add capability to virt machine properties
- Add highmem-mmio-size virt machine property to aarch64 qemu
  10.0.0 capabilities

This allows detecting support for the highmem-mmio-size virt machine
property in QEMU.

Signed-off-by: Matthew R. Ochs <mochs@xxxxxxxxxx>
---
 src/qemu/qemu_capabilities.c                           |  2 ++
 src/qemu/qemu_capabilities.h                           |  1 +
 tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies | 10 ++++++++++
 tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml     |  1 +
 4 files changed, 14 insertions(+)

diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 23b466c36ef1..2a9797c295c7 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -728,6 +728,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
               "machine.virt.aia", /* QEMU_CAPS_MACHINE_VIRT_AIA */
               "virtio-mem-ccw", /* QEMU_CAPS_DEVICE_VIRTIO_MEM_CCW */
               "blockdev-set-active", /* QEMU_CAPS_BLOCKDEV_SET_ACTIVE */
+              "machine.virt.highmem-mmio-size", /* QEMU_CAPS_MACHINE_VIRT_HIGHMEM_MMIO_SIZE */
     );
 
 
@@ -1770,6 +1771,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsVirt[] = {
     { "iommu", QEMU_CAPS_MACHINE_VIRT_IOMMU },
     { "ras", QEMU_CAPS_MACHINE_VIRT_RAS },
     { "aia", QEMU_CAPS_MACHINE_VIRT_AIA },
+    { "highmem-mmio-size", QEMU_CAPS_MACHINE_VIRT_HIGHMEM_MMIO_SIZE },
 };
 
 static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsGeneric[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index ee71331a09d8..3f48705bbad0 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -707,6 +707,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
     QEMU_CAPS_MACHINE_VIRT_AIA, /* -machine virt,aia=(none|aplic|aplic-imsic), RISC-V only */
     QEMU_CAPS_DEVICE_VIRTIO_MEM_CCW, /* -device virtio-mem-ccw */
     QEMU_CAPS_BLOCKDEV_SET_ACTIVE, /* blockdev-set-active QMP command supported */
+    QEMU_CAPS_MACHINE_VIRT_HIGHMEM_MMIO_SIZE, /* -machine virt,highmem-mmio-size=<size> */
 
     QEMU_CAPS_LAST /* this must always be the last item */
 } virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies
index 5ef02f7ae41d..65b77e8baafb 100644
--- a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.replies
@@ -33843,6 +33843,11 @@
       "description": "Set on/off to enable/disable high memory region for PCI ECAM",
       "type": "bool"
     },
+    {
+      "name": "highmem-mmio-size",
+      "description": "Set the high memory region size for PCI MMIO",
+      "type": "size"
+    },
     {
       "name": "highmem",
       "description": "Set on/off to enable/disable using physical address space above 32 bits",
@@ -34469,6 +34474,11 @@
           "help": "Set on/off to enable/disable high memory region for PCI ECAM",
           "type": "boolean"
         },
+        {
+          "name": "highmem-mmio-size",
+          "help": "Set the high memory region size for PCI MMIO",
+          "type": "size"
+        },
         {
           "name": "highmem",
           "help": "Set on/off to enable/disable using physical address space above 32 bits",
diff --git a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml
index 3f46ab55d84f..ea7862c459ef 100644
--- a/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml
+++ b/tests/qemucapabilitiesdata/caps_10.0.0_aarch64.xml
@@ -172,6 +172,7 @@
   <flag name='netdev-stream-reconnect-miliseconds'/>
   <flag name='migrate-incoming.exit-on-error'/>
   <flag name='blockdev-set-active'/>
+  <flag name='machine.virt.highmem-mmio-size'/>
   <version>9002050</version>
   <microcodeVersion>61700285</microcodeVersion>
   <package>v9.2.0-1967-gb69801dd6b</package>
-- 
2.46.0




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux