Re: [Qemu-devel] [PATCH v7 0/3] Introduce IOMMUNotifier struct
On Fri, Sep 23, 2016 at 01:02:25PM +0800, Peter Xu wrote: > V7: > - add comments to memory_region_notify_iommu() to better clarify the > interface [David] > - vfio_iommu_map_notify(): remove pointless "IOMMUTLBEntry *iotlb = > data" [David] > - typo fix on English [David] > > V6: > - use IOMMUTLBEntry directly for IOMMUNotifier.notify() [David] > - add explicit comment for patch 1 that CHANGE should be treated as a > MAP then an UNMAP [David] > - add a-b for David on patch 2 > > 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 > > 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, I think we're ready to go with this. I still think 3/3 is premature, but I don't care that much. Peter, thanks for your patience with my nitpicking of the interface. -- David Gibson| I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson signature.asc Description: PGP signature
Re: [Qemu-devel] [PATCH v7 0/3] Introduce IOMMUNotifier struct
On Fri, Sep 23, 2016 at 05:22:03PM +1000, David Gibson wrote: > I think we're ready to go with this. I still think 3/3 is premature, > but I don't care that much. > > Peter, thanks for your patience with my nitpicking of the interface. My pleasure to have discussion with you on this. And (always) thank you for helping review this work (apart from the heavy POWER tree maintainance :). -- peterx
[Qemu-devel] [PATCH v7 0/3] Introduce IOMMUNotifier struct
V7: - add comments to memory_region_notify_iommu() to better clarify the interface [David] - vfio_iommu_map_notify(): remove pointless "IOMMUTLBEntry *iotlb = data" [David] - typo fix on English [David] V6: - use IOMMUTLBEntry directly for IOMMUNotifier.notify() [David] - add explicit comment for patch 1 that CHANGE should be treated as a MAP then an UNMAP [David] - add a-b for David on patch 2 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 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 | 4 +-- include/exec/memory.h | 56 include/hw/vfio/vfio-common.h | 2 +- memory.c | 60 +-- 6 files changed, 116 insertions(+), 42 deletions(-) -- 2.7.4