Currently replay() callback is declared to be exactly same semantics as memory_region_iommu_replay().
Customed replay() may provide some extent of optimization depending on notifier's type. E.g. intel_iommu, IOMMU_NOTIFIER_MAP is optimized to provide only changed entries. Clarify the semantics of replay() and provide more flexibility. Signed-off-by: Zhenzhong Duan <zhenzhong.d...@intel.com> --- include/exec/memory.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/exec/memory.h b/include/exec/memory.h index eecc3eec6702..9a523ef62a94 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -441,9 +441,9 @@ struct IOMMUMemoryRegionClass { * call the IOMMU translate method for every page in the address space * with flag == IOMMU_NONE and then call the notifier if translate * returns a valid mapping. If this method is implemented then it - * overrides the default behaviour, and must provide the full semantics - * of memory_region_iommu_replay(), by calling @notifier for every - * translation present in the IOMMU. + * overrides the default behavior, and must provide corresponding + * semantics depending on notifier's type, e.g. IOMMU_NOTIFIER_MAP, + * notify changed entries; IOMMU_NOTIFIER_FULL_MAP, notify full entries. * * Optional method -- an IOMMU only needs to provide this method * if the default is inefficient or produces undesirable side effects. -- 2.34.1