On 14/09/2016 10:25, Peter Xu wrote:
> (Note: we still have pending discussions on how IOMMU notifier
> interface should be, assuming that is not a blocker for posting v5 of
> this one)
>
> V5:
> - squash spapr_tce_notify_{started|stopped} into
> spapr_tce_notify_flag_changed [David]
> - in spapr_tce_notify_flag_changed: check flags against "!=
> IOMMU_NOTIFIER_NONE", but not "== IOMMU_NOTIFIER_ALL" [David]
> - add r-b for David on patch 3
Looks good, thanks.
If David doesn't reply further I'll merge this.
Paolo
> V4:
> - change "notifier_caps" into "notifier_flags" [David]
> - rename IOMMU_NOTIFIER_{CHANGE|INVALIDATION} with MAP/UNMAP [David]
> - introduce IOMMUOps.notify_flag_changed, to replace notify_started
> and notify_stopped [David, Paolo]
>
> V3:
> - use QLIST instead of embedding Notifier into IOMMUNotifier [Paolo]
> - fix a build error for ppc64-softmmu
>
> The idea originates from one of Alex's reply:
>
> https://lists.gnu.org/archive/html/qemu-devel/2016-09/msg00254.html
>
> But after further discussions, it seems that only adding a simple type
> for notifier is not enough. This series introduced IOMMUNotifier
> struct to replace the old Notifier interface. Along with it, we can
> provide registration for one (or multiple) of the IOMMU notifications:
>
> - cache invalidations
> - entry changes
>
> This is a support material for Jason's vhost dmar patchset.
>
> Please read commit messages for detailed information. Thanks,
>
> Peter Xu (3):
> memory: introduce IOMMUNotifier and its caps
> memory: introduce IOMMUOps.notify_flag_changed
> intel_iommu: allow UNMAP notifiers
>
> hw/i386/intel_iommu.c | 18 ++++++++-----
> hw/ppc/spapr_iommu.c | 18 +++++++------
> hw/vfio/common.c | 3 ++-
> include/exec/memory.h | 47 +++++++++++++++++++++++++--------
> include/hw/vfio/vfio-common.h | 2 +-
> memory.c | 60
> +++++++++++++++++++++++++++++++++----------
> 6 files changed, 107 insertions(+), 41 deletions(-)
>