]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: add capability for RISC-V AIA feature
authorDaniel Henrique Barboza <dbarboza@ventanamicro.com>
Wed, 23 Oct 2024 17:54:33 +0000 (14:54 -0300)
committerDaniel Henrique Barboza <dbarboza@ventanamicro.com>
Fri, 24 Jan 2025 10:30:34 +0000 (07:30 -0300)
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@ventanamicro.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml
tests/qemucapabilitiesdata/caps_9.1.0_riscv64.xml

index 53aa64a0098279b1bf1f211d0400d90eb354a474..490f5b28fd2bb34f185876a858421a7638d20337 100644 (file)
@@ -725,6 +725,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
 
               /* 470 */
               "migrate-incoming.exit-on-error", /* QEMU_CAPS_MIGRATE_INCOMING_EXIT_ON_ERROR */
+              "machine.virt.aia", /* QEMU_CAPS_MACHINE_VIRT_AIA */
     );
 
 
@@ -1764,6 +1765,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[] = {
index 398749a136a7c21f372eb24a8b8da0870610f0f5..07746f644c06c82b56a506c72a680b818d237a7b 100644 (file)
@@ -704,6 +704,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
 
     /* 470 */
     QEMU_CAPS_MIGRATE_INCOMING_EXIT_ON_ERROR, /* exit-on-error argument of migrate-incoming command */
+    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;
index 7959d49c02c0bf1e34df0a01a914f9bb70114698..0207637ebc8ee228632c07e3e5806f641eba4933 100644 (file)
   <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>
index 77f4deca0365b999387d5b3120a5fcd6b364d997..ccc7673ba9c9f7f66a07ed43b33085f40c24a50a 100644 (file)
   <flag name='acpi-erst'/>
   <flag name='snapshot-internal-qmp'/>
   <flag name='migrate-incoming.exit-on-error'/>
+  <flag name='machine.virt.aia'/>
   <version>9001000</version>
   <microcodeVersion>0</microcodeVersion>
   <package>v9.1.0</package>