mirror of https://gitee.com/openkylin/qemu.git
memory: provide iommu_replay_all()
This is an "global" version of existing memory_region_iommu_replay() - we announce the translations to all the registered notifiers, instead of a specific one. Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: \"Michael S. Tsirkin\" <mst@redhat.com> Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <1491562755-23867-4-git-send-email-peterx@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
512fa40867
commit
de472e4a92
|
@ -712,6 +712,14 @@ void memory_region_register_iommu_notifier(MemoryRegion *mr,
|
|||
void memory_region_iommu_replay(MemoryRegion *mr, IOMMUNotifier *n,
|
||||
bool is_write);
|
||||
|
||||
/**
|
||||
* memory_region_iommu_replay_all: replay existing IOMMU translations
|
||||
* to all the notifiers registered.
|
||||
*
|
||||
* @mr: the memory region to observe
|
||||
*/
|
||||
void memory_region_iommu_replay_all(MemoryRegion *mr);
|
||||
|
||||
/**
|
||||
* memory_region_unregister_iommu_notifier: unregister a notifier for
|
||||
* changes to IOMMU translation entries.
|
||||
|
|
9
memory.c
9
memory.c
|
@ -1642,6 +1642,15 @@ void memory_region_iommu_replay(MemoryRegion *mr, IOMMUNotifier *n,
|
|||
}
|
||||
}
|
||||
|
||||
void memory_region_iommu_replay_all(MemoryRegion *mr)
|
||||
{
|
||||
IOMMUNotifier *notifier;
|
||||
|
||||
IOMMU_NOTIFIER_FOREACH(notifier, mr) {
|
||||
memory_region_iommu_replay(mr, notifier, false);
|
||||
}
|
||||
}
|
||||
|
||||
void memory_region_unregister_iommu_notifier(MemoryRegion *mr,
|
||||
IOMMUNotifier *n)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue