Re: [PATCH RFCv2 00/13] iommu: Add MSI mapping support with nested SMMU

From: Thomas Gleixner
Date: Fri Feb 07 2025 - 09:43:14 EST


On Fri, Feb 07 2025 at 10:34, Jason Gunthorpe wrote:
> On Fri, Jan 10, 2025 at 07:32:16PM -0800, Nicolin Chen wrote:
>> Though these two approaches feel very different on the surface, they can
>> share some underlying common infrastructure. Currently, only one pair of
>> sw_msi functions (prepare/compose) are provided by dma-iommu for irqchip
>> drivers to directly use. There could be different versions of functions
>> from different domain owners: for existing VFIO passthrough cases and in-
>> kernel DMA domain cases, reuse the existing dma-iommu's version of sw_msi
>> functions; for nested translation use cases, there can be another version
>> of sw_msi functions to handle mapping and msi_msg(s) differently.
>>
>> To support both approaches, in this series
>> - Get rid of the duplication in the "compose" function
>> - Introduce a function pointer for the previously "prepare" function
>> - Allow different domain owners to set their own "sw_msi" implementations
>> - Implement an iommufd_sw_msi function to additionally support a nested
>> translation use case using the approach (2), i.e. the RMR solution
>> - Add a pair of IOMMUFD options for a SW_MSI window for kernel and VMM to
>> agree on (for approach 1)
>> - Add a new VFIO ioctl to set the MSI(x) vector(s) for iommufd_sw_msi()
>> to update the msi_desc structure accordingly (for approach 2)
>
> Thomas/Marc/Robin, are we comfortable with this general approach?
> Nicolin can send something non-RFC for a proper review.
>
> I like it, it solves many of the problems iommufd had here and it
> seems logical from the irq side.

I haven't seen anything horrible. My main concern of having a proper
cached and writeable message is addressed.

Thanks,

tglx