AIA (Advanced Interrupt Architecture) support was introduced in QEMU 7.0
for the 'virt' machine type. It allows the guest to choose from a more
modern interrupt model than the default (CLINT - Core Logical Interrupt
Controller).
Signed-off-by: Daniel Henrique Barboza <dbarboza(a)ventanamicro.com>
---
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml | 1 +
tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml | 1 +
4 files changed, 5 insertions(+)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 9322ae9ae6..7b6d881c39 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -719,6 +719,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
/* 465 */
"snapshot-internal-qmp", /* QEMU_CAPS_SNAPSHOT_INTERNAL_QMP */
"chardev-reconnect-miliseconds", /*
QEMU_CAPS_CHARDEV_RECONNECT_MILISECONDS */
+ "machine.virt.aia", /* QEMU_CAPS_MACHINE_VIRT_AIA */
);
@@ -1748,6 +1749,7 @@ static struct virQEMUCapsStringFlags
virQEMUCapsMachinePropsPSeries[] = {
static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsVirt[] = {
{ "iommu", QEMU_CAPS_MACHINE_VIRT_IOMMU },
{ "ras", QEMU_CAPS_MACHINE_VIRT_RAS },
+ { "aia", QEMU_CAPS_MACHINE_VIRT_AIA },
};
static struct virQEMUCapsStringFlags virQEMUCapsMachinePropsGeneric[] = {
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
index 54c7e30903..d38ab4df28 100644
--- a/src/qemu/qemu_capabilities.h
+++ b/src/qemu/qemu_capabilities.h
@@ -698,6 +698,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check
*/
/* 465 */
QEMU_CAPS_SNAPSHOT_INTERNAL_QMP, /* internal snapshot support via QMP commands
'snapshot-save'/'snapshot-delete' */
QEMU_CAPS_CHARDEV_RECONNECT_MILISECONDS, /* 'reconnect-ms' option for
chardevs supported */
+ QEMU_CAPS_MACHINE_VIRT_AIA, /* -machine virt,aia=(none|aplic|aplic-imsic), RISC-V
only */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
diff --git a/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml
b/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml
index 7959d49c02..0207637ebc 100644
--- a/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml
@@ -142,6 +142,7 @@
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<flag name='snapshot-internal-qmp'/>
+ <flag name='machine.virt.aia'/>
<version>7002050</version>
<microcodeVersion>0</microcodeVersion>
<package>v7.2.0-333-g222059a0fc</package>
diff --git a/tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml
b/tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml
index 1e7b1e622b..bb6fbbe098 100644
--- a/tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml
+++ b/tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml
@@ -168,6 +168,7 @@
<flag name='netdev.user'/>
<flag name='acpi-erst'/>
<flag name='snapshot-internal-qmp'/>
+ <flag name='machine.virt.aia'/>
<version>9001000</version>
<microcodeVersion>0</microcodeVersion>
<package>v9.1.0</package>
--
2.45.2