All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/20] Add SMMUv3 Stage 1 Support for XEN guests
@ 2025-08-07 16:55 Milan Djokic
  2025-08-07 16:57 ` [PATCH 01/20] xen/arm: smmuv3: Maintain a SID->device structure Milan Djokic
                   ` (20 more replies)
  0 siblings, 21 replies; 40+ messages in thread
From: Milan Djokic @ 2025-08-07 16:55 UTC (permalink / raw)
  To: xen-devel@lists.xenproject.org
  Cc: Milan Djokic, Bertrand Marquis, Rahul Singh, Stefano Stabellini,
	Julien Grall, Michal Orzel, Volodymyr Babchuk, Jan Beulich,
	Roger Pau Monné, Anthony PERARD, Nick Rosbrook,
	George Dunlap, Juergen Gross, Andrew Cooper

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.singh@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.

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

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

end of thread, other threads:[~2026-02-13  3:19 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-07 16:55 [PATCH 00/20] Add SMMUv3 Stage 1 Support for XEN guests Milan Djokic
2025-08-07 16:57 ` [PATCH 01/20] xen/arm: smmuv3: Maintain a SID->device structure Milan Djokic
2025-08-07 16:59 ` [PATCH 02/20] xen/arm: smmuv3: Add support for stage-1 and nested stage translation Milan Djokic
2025-08-07 16:59 ` [PATCH 03/20] xen/arm: smmuv3: Alloc io_domain for each device Milan Djokic
2025-08-07 16:59 ` [PATCH 04/20] xen/arm: vIOMMU: add generic vIOMMU framework Milan Djokic
2025-08-08  6:16   ` Jan Beulich
2025-08-07 16:59 ` [PATCH 05/20] xen/arm: vsmmuv3: Add dummy support for virtual SMMUv3 for guests Milan Djokic
2025-08-07 16:59 ` [PATCH 06/20] xen/domctl: Add XEN_DOMCTL_CONFIG_VIOMMU_* and viommu config param Milan Djokic
2025-08-07 16:59 ` [PATCH 07/20] xen/arm: vIOMMU: Add cmdline boot option "viommu = <boolean>" Milan Djokic
2025-08-08  6:20   ` Jan Beulich
2025-08-13 10:30     ` Milan Djokic
2025-08-07 16:59 ` [PATCH 08/20] xen/arm: vsmmuv3: Add support for registers emulation Milan Djokic
2025-08-07 16:59 ` [PATCH 09/20] xen/arm: vsmmuv3: Add support for cmdqueue handling Milan Djokic
2025-08-07 16:59 ` [PATCH 10/20] xen/arm: vsmmuv3: Add support for command CMD_CFGI_STE Milan Djokic
2025-08-07 16:59 ` [PATCH 11/20] xen/arm: vsmmuv3: Attach Stage-1 configuration to SMMUv3 hardware Milan Djokic
2025-08-08  6:22   ` Jan Beulich
2025-08-07 16:59 ` [PATCH 12/20] xen/arm: vsmmuv3: Add support for event queue and global error Milan Djokic
2025-08-07 16:59 ` [PATCH 13/20] xen/arm: vsmmuv3: Add "iommus" property node for dom0 devices Milan Djokic
2025-08-07 16:59 ` [PATCH 14/20] xen/arm: vIOMMU: IOMMU device tree node for dom0 Milan Djokic
2025-08-07 16:59 ` [PATCH 15/20] xen/arm: vsmmuv3: Emulated SMMUv3 device tree node for dom0less Milan Djokic
2025-08-07 16:59 ` [PATCH 16/20] arm/libxl: vsmmuv3: Emulated SMMUv3 device tree node in libxl Milan Djokic
2025-08-07 16:59 ` [PATCH 17/20] xen/arm: vsmmuv3: Alloc virq for virtual SMMUv3 Milan Djokic
2025-08-07 16:59 ` [PATCH 18/20] xen/arm: vsmmuv3: Add support to send stage-1 event to guest Milan Djokic
2025-08-07 16:59 ` [PATCH 19/20] libxl/arm: vIOMMU: Modify the partial device tree for iommus Milan Djokic
2025-08-07 16:59 ` [PATCH 20/20] xen/arm: vIOMMU: Modify the partial device tree for dom0less Milan Djokic
2025-08-07 17:58 ` [PATCH 00/20] Add SMMUv3 Stage 1 Support for XEN guests Julien Grall
2025-08-13 10:04   ` Milan Djokic
2025-08-13 12:11     ` Julien Grall
2025-08-14 16:26       ` Milan Djokic
2025-08-26 23:28         ` Volodymyr Babchuk
2025-08-28 11:59           ` Milan Djokic
2025-08-29 16:27             ` Volodymyr Babchuk
2025-09-01 11:06               ` Milan Djokic
2025-11-03 13:16                 ` Milan Djokic
2025-11-27  2:31                   ` Volodymyr Babchuk
2025-11-27 10:22                   ` Julien Grall
2025-12-02 22:08                     ` Milan Djokic
2025-12-03 10:32                       ` Julien Grall
2025-12-03 15:47                         ` Milan Djokic
2026-02-13  3:18                           ` Milan Djokic

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.