qemu_capabilities: Introduce QEMU_CAPS_INTEL_IOMMU_DMA_TRANSLATION

This capability tracks whether intel-iommu device has
dma-translation attribute.

Signed-off-by: Sandesh Patel <sandesh.patel@nutanix.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Sandesh Patel 2024-08-09 09:30:55 +02:00 committed by Michal Privoznik
parent 11f6773f19
commit b2cc19e5fd
10 changed files with 11 additions and 0 deletions

View File

@ -713,6 +713,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
"sev-snp-guest", /* QEMU_CAPS_SEV_SNP_GUEST */ "sev-snp-guest", /* QEMU_CAPS_SEV_SNP_GUEST */
"netdev.user", /* QEMU_CAPS_NETDEV_USER */ "netdev.user", /* QEMU_CAPS_NETDEV_USER */
"acpi-erst", /* QEMU_CAPS_DEVICE_ACPI_ERST */ "acpi-erst", /* QEMU_CAPS_DEVICE_ACPI_ERST */
"intel-iommu.dma-translation", /* QEMU_CAPS_INTEL_IOMMU_DMA_TRANSLATION */
); );
@ -1516,6 +1517,7 @@ static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsIntelIOMMU[] = {
{ "eim", QEMU_CAPS_INTEL_IOMMU_EIM, NULL }, { "eim", QEMU_CAPS_INTEL_IOMMU_EIM, NULL },
{ "device-iotlb", QEMU_CAPS_INTEL_IOMMU_DEVICE_IOTLB, NULL }, { "device-iotlb", QEMU_CAPS_INTEL_IOMMU_DEVICE_IOTLB, NULL },
{ "aw-bits", QEMU_CAPS_INTEL_IOMMU_AW_BITS, NULL }, { "aw-bits", QEMU_CAPS_INTEL_IOMMU_AW_BITS, NULL },
{ "dma-translation", QEMU_CAPS_INTEL_IOMMU_DMA_TRANSLATION, NULL },
}; };
static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsMCH[] = { static struct virQEMUCapsDevicePropsFlags virQEMUCapsDevicePropsMCH[] = {

View File

@ -692,6 +692,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
QEMU_CAPS_SEV_SNP_GUEST, /* -object sev-snp-guest */ QEMU_CAPS_SEV_SNP_GUEST, /* -object sev-snp-guest */
QEMU_CAPS_NETDEV_USER, /* -netdev user */ QEMU_CAPS_NETDEV_USER, /* -netdev user */
QEMU_CAPS_DEVICE_ACPI_ERST, /* -device acpi-erst */ QEMU_CAPS_DEVICE_ACPI_ERST, /* -device acpi-erst */
QEMU_CAPS_INTEL_IOMMU_DMA_TRANSLATION, /* intel-iommu.dma-translation */
QEMU_CAPS_LAST /* this must always be the last item */ QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags; } virQEMUCapsFlags;

View File

@ -192,6 +192,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/>
<version>7001000</version> <version>7001000</version>
<microcodeVersion>43100244</microcodeVersion> <microcodeVersion>43100244</microcodeVersion>
<package>v7.1.0</package> <package>v7.1.0</package>

View File

@ -196,6 +196,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/>
<version>7002000</version> <version>7002000</version>
<microcodeVersion>43100245</microcodeVersion> <microcodeVersion>43100245</microcodeVersion>
<package>v7.2.0</package> <package>v7.2.0</package>

View File

@ -196,6 +196,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/>
<version>7002000</version> <version>7002000</version>
<microcodeVersion>43100245</microcodeVersion> <microcodeVersion>43100245</microcodeVersion>
<package>v7.2.0</package> <package>v7.2.0</package>

View File

@ -200,6 +200,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/>
<version>8000000</version> <version>8000000</version>
<microcodeVersion>43100244</microcodeVersion> <microcodeVersion>43100244</microcodeVersion>
<package>v8.0.0</package> <package>v8.0.0</package>

View File

@ -202,6 +202,7 @@
<flag name='usb-mtp'/> <flag name='usb-mtp'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/>
<version>8001000</version> <version>8001000</version>
<microcodeVersion>43100245</microcodeVersion> <microcodeVersion>43100245</microcodeVersion>
<package>v8.1.0</package> <package>v8.1.0</package>

View File

@ -205,6 +205,7 @@
<flag name='virtio-sound'/> <flag name='virtio-sound'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/>
<version>8002000</version> <version>8002000</version>
<microcodeVersion>43100246</microcodeVersion> <microcodeVersion>43100246</microcodeVersion>
<package>v8.2.0</package> <package>v8.2.0</package>

View File

@ -207,6 +207,7 @@
<flag name='virtio-sound'/> <flag name='virtio-sound'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/>
<version>9000000</version> <version>9000000</version>
<microcodeVersion>43100245</microcodeVersion> <microcodeVersion>43100245</microcodeVersion>
<package>v9.0.0</package> <package>v9.0.0</package>

View File

@ -205,6 +205,7 @@
<flag name='virtio-sound'/> <flag name='virtio-sound'/>
<flag name='netdev.user'/> <flag name='netdev.user'/>
<flag name='acpi-erst'/> <flag name='acpi-erst'/>
<flag name='intel-iommu.dma-translation'/>
<version>9000050</version> <version>9000050</version>
<microcodeVersion>43100246</microcodeVersion> <microcodeVersion>43100246</microcodeVersion>
<package>v9.0.0-1388-g80e8f06021-dirty</package> <package>v9.0.0-1388-g80e8f06021-dirty</package>