Cc: Paolo Bonzini <[email protected]>
Signed-off-by: Jason Wang <[email protected]>
---
memory.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/memory.c b/memory.c
index 0eb6895..ca0a698 100644
--- a/memory.c
+++ b/memory.c
@@ -1515,6 +1515,11 @@ bool memory_region_is_logging(MemoryRegion *mr, uint8_t
client)
void memory_region_register_iommu_notifier(MemoryRegion *mr, Notifier *n)
{
+ if (mr->alias) {
+ memory_region_register_iommu_notifier(mr->alias, n);
+ return;
+ }
+
if (mr->iommu_ops->notify_started &&
QLIST_EMPTY(&mr->iommu_notify.notifiers)) {
mr->iommu_ops->notify_started(mr);
@@ -1554,6 +1559,10 @@ void memory_region_iommu_replay(MemoryRegion *mr,
Notifier *n, bool is_write)
void memory_region_unregister_iommu_notifier(MemoryRegion *mr, Notifier *n)
{
+ if (mr->alias) {
+ memory_region_unregister_iommu_notifier(mr->alias, n);
+ return;
+ }
notifier_remove(n);
if (mr->iommu_ops->notify_stopped &&
QLIST_EMPTY(&mr->iommu_notify.notifiers)) {
--
2.7.4