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(a)nvidia.com>
---
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 a804335c85b8..80eeb39d2088 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -732,6 +732,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
/* 475 */
"virtio-scsi.iothread-mapping", /*
QEMU_CAPS_VIRTIO_SCSI_IOTHREAD_MAPPING */
+ "machine.virt.highmem-mmio-size", /*
QEMU_CAPS_MACHINE_VIRT_HIGHMEM_MMIO_SIZE */
);
@@ -1767,6 +1768,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 ea7c14daa9a6..6560bc3cad48 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -713,6 +713,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check
*/
/* 475 */
QEMU_CAPS_VIRTIO_SCSI_IOTHREAD_MAPPING, /* virtio-scsi supports per-virtqueue
iothread mapping */
+ 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