[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Proposal for virtual IOMMU binding b/w vIOMMU and passthrough devices



On Wed, Nov 02, 2022 at 08:50:58AM +0000, Bertrand Marquis wrote:
> 
> > On 1 Nov 2022, at 20:25, Elliott Mitchell <ehem+xen@xxxxxxx> wrote:
> > 
> > Allocate a domain Id to each IOMMU domain and this very much seems quite
> > similar to Xen's grant tables.  I'm unsure the two can be unified, but
> > they appear to have many common aspects.
> 
> >From an high level point of view it might but from the guest point of view 
> >the
> IOMMU is something used with or without Xen where grant tables are very
> specific to Xen. I do not see anything that could be unified there.
> 
> Maybe I am missing something here that other could see though :-)

Imagine a SoC design which has a bunch of cores, memory and 48 IOMMUs.
On a particular board, the designer finds they only need 16 of the IOMMUs
for devices.

Since nothing needs to be done, the designer leaves IOMMUs 16-47 wired
together as loopback.  ie a write to IOMMU 16 will show up as a DMA write
on IOMMU 17 and vice versa, similar situation with 18/19 and all the
remaining IOMMUs.

Imagine running Xen on such a hypothetical board.  If there were less
than 16 DomUs and all I/O went through Dom0, the loopback pairs could do
a job very similar to the grant tables.  Adjustments would be needed to
make use of this, but it seems an interesting thought experiment.

This requires hardware support with the hardware setup in a particular
way, but doesn't really seem like that much of a stretch.  Virtualization
support has been increasing, so perhaps something akin to a
next-generation IOMMU would include the needed functionality.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@xxxxxxx  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.