On Wed, Oct 02, 2019 at 12:42:42PM -0700, Jacob Pan wrote:
> IOASID allocation may rely on platform specific methods. One use case is
> that when running in the guest, in order to obtain system wide global
> IOASIDs, emulated allocation interface is needed to communicate with the
> host. Here we call these platform specific allocators custom allocators.
> 
> Custom IOASID allocators can be registered at runtime and take precedence
> over the default XArray allocator. They have these attributes:
> 
> - provides platform specific alloc()/free() functions with private data.
> - allocation results lookup are not provided by the allocator, lookup
>   request must be done by the IOASID framework by its own XArray.
> - allocators can be unregistered at runtime, either fallback to the next
>   custom allocator or to the default allocator.
> - custom allocators can share the same set of alloc()/free() helpers, in
>   this case they also share the same IOASID space, thus the same XArray.
> - switching between allocators requires all outstanding IOASIDs to be
>   freed unless the two allocators share the same alloc()/free() helpers.
> 
> Signed-off-by: Jean-Philippe Brucker <jean-phili...@linaro.com>
> Signed-off-by: Jacob Pan <jacob.jun....@linux.intel.com>
> Link: https://lkml.org/lkml/2019/4/26/462

Reviewed-by: Jean-Philippe Brucker <jean-phili...@linaro.org>

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to