On Wed, 2012-07-11 at 09:55 +1000, Alexey Kardashevskiy wrote: > On 11/07/12 08:26, Scott Wood wrote: > > On 07/10/2012 12:51 AM, Alexey Kardashevskiy wrote: > >> The patch enables VFIO on POWER. > >> > >> It literally does the following: > >> > >> 1. POWERPC IOMMU support (the kernel counterpart is required) > > [snip] > >> +/* -------- API for POWERPC IOMMU -------- */ > >> + > >> +#define POWERPC_IOMMU 2 > >> + > >> +struct tce_iommu_info { > >> + __u32 argsz; > >> + __u32 dma32_window_start; > >> + __u32 dma32_window_size; > >> +}; > >> + > >> +#define POWERPC_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) > > > > Is there a more specific name that could be used for this? Not all > > PowerPC chips have the same kind of IOMMU.
> > Ben, is is SPAPR? BOOK3S? So we have varieties of different iommus in the kernel indeed, we probably want the info ioctl to reflect that. I would call this one spapr_tce. Also we will want a few other things, dunno if that's reflected here, or whether the ioctl is easily extendable, but in the long run we will need: - Ways to tell KVM about association between a liobn (logical bus number as used in H_PUT_TCE) and an iommu so we can implement the real mode H_PUT_TCE properly. - We will need some conduit to implement the "DDW" APIs (part of PAPR allowing the guest to control the DMA windows, ie, by creating new windows in 64-bit DMA space, with different page sizes etc....). So you may want to make it clear that the above provides information about the "base window" specifically. Cheers, Ben.