1. 19 1月, 2017 1 次提交
    • J
      vhost_net: device IOTLB support · c471ad0e
      Jason Wang 提交于
      This patches implements Device IOTLB support for vhost kernel. This is
      done through:
      
      1) switch to use dma helpers when map/unmap vrings from vhost codes
      2) introduce a set of VhostOps to:
         - setting up device IOTLB request callback
         - processing device IOTLB request
         - processing device IOTLB invalidation
      2) kernel support for Device IOTLB API:
      
      - allow vhost-net to query the IOMMU IOTLB entry through eventfd
      - enable the ability for qemu to update a specified mapping of vhost
      - through ioctl.
      - enable the ability to invalidate a specified range of iova for the
        device IOTLB of vhost through ioctl. In x86/intel_iommu case this is
        triggered through iommu memory region notifier from device IOTLB
        invalidation descriptor processing routine.
      
      With all the above, kernel vhost_net can co-operate with userspace
      IOMMU. For vhost-user, the support could be easily done on top by
      implementing the VhostOps.
      
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      c471ad0e
  2. 10 1月, 2017 1 次提交
  3. 10 8月, 2016 1 次提交
  4. 29 7月, 2016 7 次提交
  5. 20 7月, 2016 1 次提交
    • E
      qapi: Change Netdev into a flat union · f394b2e2
      Eric Blake 提交于
      This is a mostly-mechanical conversion that creates a new flat
      union 'Netdev' QAPI type that covers all the branches of the
      former 'NetClientOptions' simple union, where the branches are
      now listed in a new 'NetClientDriver' enum rather than generated
      from the simple union.  The existence of a flat union has no
      change to the command line syntax accepted for new code, and
      will make it possible for a future patch to switch the QMP
      command to parse a boxed union for no change to valid QMP; but
      it does have some ripple effect on the C code when dealing with
      the new types.
      
      While making the conversion, note that the 'NetLegacy' type
      remains unchanged: it applies only to legacy command line options,
      and will not be ported to QMP, so it should remain a wrapper
      around a simple union; to avoid confusion, the type named
      'NetClientOptions' is now gone, and we introduce 'NetLegacyOptions'
      in its place.  Then, in the C code, we convert from NetLegacy to
      Netdev as soon as possible, so that the bulk of the net stack
      only has to deal with one QAPI type, not two.  Note that since
      the old legacy code always rejected 'hubport', we can just omit
      that branch from the new 'NetLegacyOptions' simple union.
      
      Based on an idea originally by Zoltán Kővágó <DirtY.iCE.hu@gmail.com>:
      Message-Id: <01a527fbf1a5de880091f98cf011616a78adeeee.1441627176.git.DirtY.iCE.hu@gmail.com>
      although the sed script in that patch no longer applies due to
      other changes in the tree since then, and I also did some manual
      cleanups (such as fixing whitespace to keep checkpatch happy).
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1468468228-27827-13-git-send-email-eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      [Fixup from Eric squashed in]
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      f394b2e2
  6. 07 7月, 2016 1 次提交
  7. 17 6月, 2016 3 次提交
  8. 18 2月, 2016 1 次提交
  9. 16 2月, 2016 1 次提交
  10. 07 2月, 2016 1 次提交
  11. 29 1月, 2016 1 次提交
  12. 19 11月, 2015 1 次提交
  13. 16 11月, 2015 1 次提交
  14. 22 10月, 2015 3 次提交
  15. 24 9月, 2015 5 次提交
  16. 10 9月, 2015 1 次提交
  17. 20 7月, 2015 1 次提交
  18. 19 6月, 2015 3 次提交
  19. 11 6月, 2015 2 次提交
  20. 01 6月, 2015 1 次提交
  21. 28 4月, 2015 1 次提交
  22. 10 3月, 2015 1 次提交
  23. 26 2月, 2015 1 次提交