qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 0/3] Introduce IOMMUNotifier struct
@ 2016-09-21  4:58 Peter Xu
  2016-09-21  4:58 ` [Qemu-devel] [PATCH v6 1/3] memory: introduce IOMMUNotifier and its caps Peter Xu
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Peter Xu @ 2016-09-21  4:58 UTC (permalink / raw)
  To: qemu-devel
  Cc: dgibson, jasowang, mst, pbonzini, cornelia.huck, wexu, vkaplans,
	alex.williamson, peterx

Hi, Paolo,

If this is to be merged, please take either patch 1-2 or the whole
series (1-3). Both work for me. Thanks!

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              |  3 ++-
 include/exec/memory.h         | 47 +++++++++++++++++++++++++--------
 include/hw/vfio/vfio-common.h |  2 +-
 memory.c                      | 60 +++++++++++++++++++++++++++++++++----------
 6 files changed, 107 insertions(+), 41 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-09-23  2:49 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-21  4:58 [Qemu-devel] [PATCH v6 0/3] Introduce IOMMUNotifier struct Peter Xu
2016-09-21  4:58 ` [Qemu-devel] [PATCH v6 1/3] memory: introduce IOMMUNotifier and its caps Peter Xu
2016-09-22  5:20   ` David Gibson
2016-09-22  7:17     ` Peter Xu
2016-09-23  0:36       ` David Gibson
2016-09-21  4:58 ` [Qemu-devel] [PATCH v6 2/3] memory: introduce IOMMUOps.notify_flag_changed Peter Xu
2016-09-21  4:58 ` [Qemu-devel] [PATCH v6 3/3] intel_iommu: allow UNMAP notifiers Peter Xu
2016-09-22  5:24   ` David Gibson
2016-09-22  5:55     ` Peter Xu
2016-09-22  7:44       ` Paolo Bonzini
2016-09-23  0:35         ` David Gibson
2016-09-23  0:35       ` David Gibson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).