Hi Milan, On Thu, 7 Aug 2025 at 17:55, Milan Djokic <milan_djo...@epam.com> wrote:
> This patch series represents a rebase of an older patch series implemented > and > sumbitted by Rahul Singh as an RFC: > https://patchwork.kernel.org/project/xen-devel/cover/cover.1669888522.git.rahul.si...@arm.com/ > . > Original patch series content is aligned with the latest xen structure in > terms of common/arch-specific code structuring. > Some minor bugfixes are also applied: > - Sanity checks / error handling > - Non-pci devices support for emulated iommu > > Overall description of stage-1 support is available in the original > patch series cover letter. Original commits structure with detailed > explanation for each commit > functionality is maintained. I am a bit surprised not much has changed. Last time we asked a document to explain the overall design of the vSMMU including some details on the security posture. I can’t remember if this was ever posted. If not, then you need to start with that. Otherwise, if is going to be pretty difficult to review this series. Cheers, > > Patch series testing is performed in qemu arm environment. Additionally, > stage-1 translation for non-pci devices is verified on a Renesas platform. > > Jean-Philippe Brucker (1): > xen/arm: smmuv3: Maintain a SID->device structure > > Rahul Singh (19): > xen/arm: smmuv3: Add support for stage-1 and nested stage translation > xen/arm: smmuv3: Alloc io_domain for each device > xen/arm: vIOMMU: add generic vIOMMU framework > xen/arm: vsmmuv3: Add dummy support for virtual SMMUv3 for guests > xen/domctl: Add XEN_DOMCTL_CONFIG_VIOMMU_* and viommu config param > xen/arm: vIOMMU: Add cmdline boot option "viommu = <boolean>" > xen/arm: vsmmuv3: Add support for registers emulation > xen/arm: vsmmuv3: Add support for cmdqueue handling > xen/arm: vsmmuv3: Add support for command CMD_CFGI_STE > xen/arm: vsmmuv3: Attach Stage-1 configuration to SMMUv3 hardware > xen/arm: vsmmuv3: Add support for event queue and global error > xen/arm: vsmmuv3: Add "iommus" property node for dom0 devices > xen/arm: vIOMMU: IOMMU device tree node for dom0 > xen/arm: vsmmuv3: Emulated SMMUv3 device tree node for dom0less > arm/libxl: vsmmuv3: Emulated SMMUv3 device tree node in libxl > xen/arm: vsmmuv3: Alloc virq for virtual SMMUv3 > xen/arm: vsmmuv3: Add support to send stage-1 event to guest > libxl/arm: vIOMMU: Modify the partial device tree for iommus > xen/arm: vIOMMU: Modify the partial device tree for dom0less > > docs/man/xl.cfg.5.pod.in | 13 + > docs/misc/xen-command-line.pandoc | 7 + > tools/golang/xenlight/helpers.gen.go | 2 + > tools/golang/xenlight/types.gen.go | 1 + > tools/include/libxl.h | 5 + > tools/libs/light/libxl_arm.c | 123 +++- > tools/libs/light/libxl_types.idl | 6 + > tools/xl/xl_parse.c | 10 + > xen/arch/arm/dom0less-build.c | 72 ++ > xen/arch/arm/domain.c | 26 + > xen/arch/arm/domain_build.c | 103 ++- > xen/arch/arm/include/asm/domain.h | 4 + > xen/arch/arm/include/asm/viommu.h | 102 +++ > xen/common/device-tree/dom0less-build.c | 31 +- > xen/drivers/passthrough/Kconfig | 14 + > xen/drivers/passthrough/arm/Makefile | 2 + > xen/drivers/passthrough/arm/smmu-v3.c | 369 +++++++++- > xen/drivers/passthrough/arm/smmu-v3.h | 49 +- > xen/drivers/passthrough/arm/viommu.c | 87 +++ > xen/drivers/passthrough/arm/vsmmu-v3.c | 895 ++++++++++++++++++++++++ > xen/drivers/passthrough/arm/vsmmu-v3.h | 32 + > xen/include/public/arch-arm.h | 14 +- > xen/include/public/device_tree_defs.h | 1 + > xen/include/xen/iommu.h | 14 + > 24 files changed, 1935 insertions(+), 47 deletions(-) > create mode 100644 xen/arch/arm/include/asm/viommu.h > create mode 100644 xen/drivers/passthrough/arm/viommu.c > create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.c > create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.h > > -- > 2.43.0 >