Hi all,
I am wondering if Xen implements deferred/asynchronous queued
invalidation in order to flush the stale entries from IOTLB.
I know that the synchronous version is implemented in
xen\drivers\passthrough\vtd\qinval.c ,
int invalidate_sync(struct iommu *iommu)
{
int ret = -1;
struct qi_ctrl *qi_ctrl = iommu_qi_ctrl(iommu);
if ( qi_ctrl->qinval_maddr != 0 )
{
ret = queue_invalidate_wait(iommu, 0, 1, 1);
return ret;
}
return 0;
}
but I could not find anything in the source code about the
deferred/asynchronous version.
Thank you!
-gabor