On Wed, Aug 05, 2026 at 03:12:58PM -0700, Nathan Chen via Devel wrote:
> From: Nathan Chen <[email protected]>
> 
> The arm-smmuv3 QOM type appears in qom-list-types on ARM QEMU as far
> back as 8.2 because the type is used for machine-integrated IOMMU
> (-machine virt,iommu=smmuv3). That reply does not indicate support
> for a user-pluggable -device arm-smmuv3.
> 
> User-pluggable SMMUv3 with the smmu_per_bus property was added in QEMU
> 10.2.0. Probe that property via device-list-properties, gated on
> QEMU_CAPS_DEVICE_SMMUV3, so the capability tracks pluggable device
> support rather than mere QOM visibility.
> 
> In qemu_validate.c, an IOMMU with pci_bus set requires
> QEMU_CAPS_ARM_SMMUV3_SMMU_PER_BUS; machine-integrated SMMUv3 without
> pci_bus keeps using QEMU_CAPS_MACHINE_VIRT_IOMMU.
> 
> Update caps_8.2.0_aarch64, caps_9.2.0_aarch64, caps_10.0.0_aarch64,
> caps_10.2.0_aarch64, caps_11.0.0_aarch64, caps_8.2.0_armv7l, and
> caps_11.1.0_aarch64 .replies with the arm-smmuv3 device-list-properties
> exchange.
> 
> Signed-off-by: Nathan Chen <[email protected]>
> ---
>  src/qemu/qemu_capabilities.c                  |   8 +
>  src/qemu/qemu_capabilities.h                  |   1 +
>  src/qemu/qemu_validate.c                      |   8 +
>  .../caps_10.0.0_aarch64.replies               |  79 ++++++----
>  .../caps_10.2.0_aarch64.replies               |  89 +++++++----
>  .../caps_10.2.0_aarch64.xml                   |   1 +
>  .../caps_11.0.0_aarch64.replies               | 132 ++++++++++++----
>  .../caps_11.0.0_aarch64.xml                   |   1 +
>  .../caps_11.1.0_aarch64.replies               | 143 ++++++++++++++----
>  .../caps_11.1.0_aarch64.xml                   |   1 +
>  .../caps_8.2.0_aarch64.replies                |  79 ++++++----
>  .../caps_8.2.0_armv7l.replies                 |  79 ++++++----
>  .../caps_9.2.0_aarch64+hvf.replies            |  75 ++++++---
>  13 files changed, 510 insertions(+), 186 deletions(-)

Reviewed-by: Pavel Hrdina <[email protected]>

Reply via email to