On 26/04/2017 12:06, Liu, Yi L wrote: > +void memory_region_notify_iommu_svm_bind(MemoryRegion *mr, > + void *data) > +{ > + IOMMUNotifier *iommu_notifier; > + IOMMUNotifierFlag request_flags; > + > + assert(memory_region_is_iommu(mr)); > + > + /*TODO: support other bind requests with smaller gran, > + * e.g. bind signle pasid entry > + */ > + request_flags = IOMMU_NOTIFIER_SVM_PASIDT_BIND; > + > + QLIST_FOREACH(iommu_notifier, &mr->iommu_notify, node) { > + if (iommu_notifier->notifier_flags & request_flags) { > + iommu_notifier->notify(iommu_notifier, data); > + break; > + } > + } Peter, should this reuse ->notify, or should it be different function pointer in IOMMUNotifier? Paolo