qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Add support for user creatable SMMUv3 device
@ 2025-05-02 10:27 Shameer Kolothum via
  2025-05-02 10:27 ` [PATCH v2 1/6] hw/arm/smmuv3: Add support to associate a PCIe RC Shameer Kolothum via
                   ` (6 more replies)
  0 siblings, 7 replies; 50+ messages in thread
From: Shameer Kolothum via @ 2025-05-02 10:27 UTC (permalink / raw)
  To: qemu-arm, qemu-devel
  Cc: eric.auger, peter.maydell, jgg, nicolinc, ddutile, berrange,
	nathanc, mochs, smostafa, linuxarm, wangzhou1, jiangkunkun,
	jonathan.cameron, zhangfei.gao

Hi All,

Changes from v1:
https://lore.kernel.org/qemu-devel/20250415081104.71708-1-shameerali.kolothum.thodi@huawei.com/

Addressed feedback on v1. Thanks to all.
1. Retained the same name as the legacy SMMUv3(arm-smmuv3) for new
   device type as well (instead of arm-smmuv3-dev type usage in v1).
2. Changes to ACPI IORT to use the same struct SMMUv3Device for both
   legacy SMMUv3 and the new SMMUV3 device
3. Removed the restriction of creating SMMUv3 dev if virt ver > 9.2.

Cover letter from v1:

This patch series introduces support for a user-creatable SMMUv3 device
(-device arm-smmuv3) in QEMU.

The implementation is based on feedback received from the RFCv2[0]:
"hw/arm/virt: Add support for user-creatable accelerated SMMUv3"

Currently, QEMU's SMMUv3 emulation (iommu=smmuv3) is tied to the machine
and does not support instantiating multiple SMMUv3 devices—each associated
with a separate PCIe root complex. In contrast, real-world ARM systems
often include multiple SMMUv3 instances, each bound to a different PCIe
root complex.

This also lays the groundwork for supporting accelerated SMMUv3, as
proposed in the aforementioned RFC. Please note, the accelerated SMMUv3
support is not part of this series and will be sent out as a separate
series later on top of this one.

Summary of changes:

 -Introduces support for multiple -device arm-smmuv3-dev,bus=pcie.x
  instances.

  Example usage:

  -device arm-smmuv3,bus=pcie.0
  -device virtio-net-pci,bus=pcie.0
  -device pxb-pcie,id=pcie.1,bus_nr=2
  -device arm-smmuv3,bus=pcie.1
  -device pcie-root-port,id=pcie.port1,bus=pcie.1
  -device virtio-net-pci,bus=pcie.port1

  -Supports either the legacy iommu=smmuv3 option or the new
  "-device arm-smmuv3" model.

  -Adds device tree bindings for the new SMMUv3 device on the arm/virt
   machine only, and only for the default pcie.0 root complex.
   (Note: pxb-pcie root complexes are currently not supported with the
    device tree due to known limitations[1].)

Please take a look and let me know your feedback.

Thanks,
Shameer
[0]:https://lore.kernel.org/qemu-devel/20250311141045.66620-1-shameerali.kolothum.thodi@huawei.com/
[1]:https://lore.kernel.org/qemu-devel/20230421165037.2506-1-Jonathan.Cameron@huawei.com/

Nicolin Chen (1):
  hw/arm/virt: Add an SMMU_IO_LEN macro

Shameer Kolothum (5):
  hw/arm/smmuv3: Add support to associate a PCIe RC
  hw/arm/virt-acpi-build: Update IORT for multiple smmuv3 devices
  hw/arm/virt: Factor out common SMMUV3 dt bindings code
  hw/arm/virt: Add support for smmuv3 device
  hw/arm/smmuv3: Enable smmuv3 device creation

 hw/arm/smmuv3.c          |  27 +++++++
 hw/arm/virt-acpi-build.c | 162 +++++++++++++++++++++++++++++++--------
 hw/arm/virt.c            | 112 ++++++++++++++++++++-------
 hw/core/sysbus-fdt.c     |   3 +
 include/hw/arm/virt.h    |   1 +
 5 files changed, 244 insertions(+), 61 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2025-05-22  7:40 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-02 10:27 [PATCH v2 0/6] Add support for user creatable SMMUv3 device Shameer Kolothum via
2025-05-02 10:27 ` [PATCH v2 1/6] hw/arm/smmuv3: Add support to associate a PCIe RC Shameer Kolothum via
2025-05-02 17:22   ` Nicolin Chen
2025-05-06  8:14     ` Shameerali Kolothum Thodi via
2025-05-02 18:16   ` Donald Dutile
2025-05-05  8:19     ` Eric Auger
2025-05-06  9:07       ` Shameerali Kolothum Thodi via
2025-05-06  9:35         ` Eric Auger
2025-05-06  8:42     ` Shameerali Kolothum Thodi via
2025-05-06 11:47   ` Markus Armbruster
2025-05-06 12:20     ` Shameerali Kolothum Thodi via
2025-05-06 20:48     ` Donald Dutile
2025-05-07  7:17       ` Markus Armbruster
2025-05-07  8:50         ` Shameerali Kolothum Thodi via
2025-05-08 13:45           ` Donald Dutile
2025-05-08 13:57             ` Peter Maydell
2025-05-09  7:57               ` Markus Armbruster
2025-05-09  8:00               ` Shameerali Kolothum Thodi via
2025-05-09 10:37                 ` Peter Maydell
2025-05-09 10:46                   ` Daniel P. Berrangé
2025-05-09 11:43                     ` Peter Maydell
2025-05-22  7:39                       ` Shameerali Kolothum Thodi via
2025-05-16 20:53               ` Donald Dutile
2025-05-09  7:29             ` Shameerali Kolothum Thodi via
2025-05-09  8:14               ` Daniel P. Berrangé
2025-05-09  8:18                 ` Shameerali Kolothum Thodi via
2025-05-09  8:44                   ` Eric Auger
2025-05-02 10:27 ` [PATCH v2 2/6] hw/arm/virt-acpi-build: Update IORT for multiple smmuv3 devices Shameer Kolothum via
2025-05-02 17:13   ` Nicolin Chen
2025-05-02 18:18     ` Donald Dutile
2025-05-06  8:43       ` Shameerali Kolothum Thodi via
2025-05-06  8:00     ` Shameerali Kolothum Thodi via
2025-05-05  8:39   ` Eric Auger
2025-05-06  9:12     ` Shameerali Kolothum Thodi via
2025-05-02 10:27 ` [PATCH v2 3/6] hw/arm/virt: Factor out common SMMUV3 dt bindings code Shameer Kolothum via
2025-05-02 17:15   ` Nicolin Chen
2025-05-05  9:01   ` Eric Auger
2025-05-06  9:19     ` Shameerali Kolothum Thodi via
2025-05-02 10:27 ` [PATCH v2 4/6] hw/arm/virt: Add an SMMU_IO_LEN macro Shameer Kolothum via
2025-05-02 18:20   ` Donald Dutile
2025-05-05  9:03   ` Eric Auger
2025-05-02 10:27 ` [PATCH v2 5/6] hw/arm/virt: Add support for smmuv3 device Shameer Kolothum via
2025-05-02 17:54   ` Nicolin Chen
2025-05-06  8:36     ` Shameerali Kolothum Thodi via
2025-05-05 10:12   ` Eric Auger
2025-05-06  9:29     ` Shameerali Kolothum Thodi via
2025-05-02 10:27 ` [PATCH v2 6/6] hw/arm/smmuv3: Enable smmuv3 device creation Shameer Kolothum via
2025-05-02 18:00   ` Nicolin Chen
2025-05-05 10:13   ` Eric Auger
2025-05-02 18:11 ` [PATCH v2 0/6] Add support for user creatable SMMUv3 device Donald Dutile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).