All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/7] Add virtio-iommu driver
@ 2018-11-22 19:37 ` Jean-Philippe Brucker
  0 siblings, 0 replies; 120+ messages in thread
From: Jean-Philippe Brucker @ 2018-11-22 19:37 UTC (permalink / raw)
  To: iommu, linux-pci, devicetree, virtualization, virtio-dev, joro, mst
  Cc: jasowang, robh+dt, mark.rutland, bhelgaas, frowand.list, kvmarm,
	eric.auger, tnowicki, kevin.tian, marc.zyngier, robin.murphy,
	will.deacon, lorenzo.pieralisi, bharat.bhushan

Implement the virtio-iommu driver, following specification v0.9 [1].

Since v4 [2] I fixed the issues reported by Eric, and added Reviewed-by
from Eric and Rob. Thanks!

I changed the specification to fix one inconsistency discussed in v4.
That the device fills the probe buffer with zeroes is now a "SHOULD"
instead of a "MAY", since it's the only way for the driver to know if
the device wrote the status. Existing devices already do this. In
addition the device now needs to fill the three padding bytes at the
tail with zeroes.

You can find Linux driver and kvmtool device on branches
virtio-iommu/v0.9 [3]. I also lightly tested with Eric's latest QEMU
device [4].

[1] Virtio-iommu specification v0.9, sources, pdf and diff from v0.8
    git://linux-arm.org/virtio-iommu.git virtio-iommu/v0.9
    http://jpbrucker.net/virtio-iommu/spec/v0.9/virtio-iommu-v0.9.pdf
    http://jpbrucker.net/virtio-iommu/spec/diffs/virtio-iommu-pdf-diff-v0.8-v0.9.pdf

[2] [PATCH v4 0/7] Add virtio-iommu driver
    https://lists.linuxfoundation.org/pipermail/iommu/2018-November/031074.html

[3] git://linux-arm.org/linux-jpb.git virtio-iommu/v0.9
    git://linux-arm.org/kvmtool-jpb.git virtio-iommu/v0.9

[4] [RFC v9 00/17] VIRTIO-IOMMU device
    https://www.mail-archive.com/qemu-devel@nongnu.org/msg575578.html

Jean-Philippe Brucker (7):
  dt-bindings: virtio-mmio: Add IOMMU description
  dt-bindings: virtio: Add virtio-pci-iommu node
  of: Allow the iommu-map property to omit untranslated devices
  PCI: OF: Initialize dev->fwnode appropriately
  iommu: Add virtio-iommu driver
  iommu/virtio: Add probe request
  iommu/virtio: Add event queue

 .../devicetree/bindings/virtio/iommu.txt      |   66 +
 .../devicetree/bindings/virtio/mmio.txt       |   30 +
 MAINTAINERS                                   |    7 +
 drivers/iommu/Kconfig                         |   11 +
 drivers/iommu/Makefile                        |    1 +
 drivers/iommu/virtio-iommu.c                  | 1157 +++++++++++++++++
 drivers/of/base.c                             |   10 +-
 drivers/pci/of.c                              |    7 +
 include/uapi/linux/virtio_ids.h               |    1 +
 include/uapi/linux/virtio_iommu.h             |  161 +++
 10 files changed, 1448 insertions(+), 3 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/virtio/iommu.txt
 create mode 100644 drivers/iommu/virtio-iommu.c
 create mode 100644 include/uapi/linux/virtio_iommu.h

-- 
2.19.1

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

end of thread, other threads:[~2018-12-13 14:13 UTC | newest]

Thread overview: 120+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-22 19:37 [PATCH v5 0/7] Add virtio-iommu driver Jean-Philippe Brucker
2018-11-22 19:37 ` [virtio-dev] " Jean-Philippe Brucker
2018-11-22 19:37 ` [PATCH v5 1/7] dt-bindings: virtio-mmio: Add IOMMU description Jean-Philippe Brucker
2018-11-22 19:37 ` Jean-Philippe Brucker
2018-11-22 19:37   ` [virtio-dev] " Jean-Philippe Brucker
2018-11-22 19:37 ` [PATCH v5 2/7] dt-bindings: virtio: Add virtio-pci-iommu node Jean-Philippe Brucker
2018-11-22 19:37   ` [virtio-dev] " Jean-Philippe Brucker
2018-11-22 19:37 ` Jean-Philippe Brucker
2018-11-22 19:37 ` [PATCH v5 3/7] of: Allow the iommu-map property to omit untranslated devices Jean-Philippe Brucker
2018-11-22 19:37 ` Jean-Philippe Brucker
2018-11-22 19:37   ` [virtio-dev] " Jean-Philippe Brucker
2018-11-22 19:37 ` [PATCH v5 4/7] PCI: OF: Initialize dev->fwnode appropriately Jean-Philippe Brucker
2018-11-22 19:37   ` [virtio-dev] " Jean-Philippe Brucker
2018-11-22 19:37 ` Jean-Philippe Brucker
2018-11-22 19:37 ` [PATCH v5 5/7] iommu: Add virtio-iommu driver Jean-Philippe Brucker
2018-11-22 19:37   ` [virtio-dev] " Jean-Philippe Brucker
     [not found]   ` <20181122193801.50510-6-jean-philippe.brucker-5wv7dgnIgG8@public.gmane.org>
2018-11-23  8:27     ` Auger Eric
2018-11-23  8:27       ` [virtio-dev] " Auger Eric
2018-11-23  8:27       ` Auger Eric
2018-11-23  8:27   ` Auger Eric
2018-11-23 21:48   ` Michael S. Tsirkin
2018-11-23 21:48     ` [virtio-dev] " Michael S. Tsirkin
2018-11-23 21:48     ` Michael S. Tsirkin
2018-11-27 17:58     ` Jean-Philippe Brucker
2018-11-27 17:58     ` Jean-Philippe Brucker
2018-11-27 17:58       ` [virtio-dev] " Jean-Philippe Brucker
2018-11-27 17:58       ` Jean-Philippe Brucker
2018-11-27 18:10       ` Michael S. Tsirkin
2018-11-27 18:10         ` [virtio-dev] " Michael S. Tsirkin
2018-11-27 18:10         ` Michael S. Tsirkin
2018-11-27 18:10       ` Michael S. Tsirkin
2018-11-23 21:48   ` Michael S. Tsirkin
2018-11-23 21:56   ` Michael S. Tsirkin
2018-11-23 21:56   ` Michael S. Tsirkin
2018-11-23 21:56     ` [virtio-dev] " Michael S. Tsirkin
2018-11-27 17:55     ` Jean-Philippe Brucker
2018-11-27 17:55       ` [virtio-dev] " Jean-Philippe Brucker
2018-11-27 18:10       ` Michael S. Tsirkin
2018-11-27 18:10       ` Michael S. Tsirkin
2018-11-27 18:10         ` [virtio-dev] " Michael S. Tsirkin
2018-12-07 18:52         ` Jean-Philippe Brucker
2018-12-07 18:52           ` [virtio-dev] " Jean-Philippe Brucker
2018-12-07 18:52           ` Jean-Philippe Brucker
     [not found]           ` <e1dde79c-0bc4-ea99-1bb0-9e70b56955fb-5wv7dgnIgG8@public.gmane.org>
2018-12-12 14:56             ` Michael S. Tsirkin
2018-12-12 14:56               ` Michael S. Tsirkin
2018-12-12 14:56               ` Michael S. Tsirkin
2018-12-12 15:27               ` Auger Eric
     [not found]               ` <20181212093709-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2018-12-12 15:27                 ` Auger Eric
2018-12-12 15:27                   ` Auger Eric
2018-12-12 15:27                   ` Auger Eric
2018-12-13 12:37                   ` Robin Murphy
2018-12-13 12:37                   ` Robin Murphy
2018-12-13 12:37                     ` Robin Murphy
2018-12-13 14:13                     ` Auger Eric
2018-12-13 14:13                     ` Auger Eric
2018-12-13 14:13                       ` [virtio-dev] " Auger Eric
2018-12-13 14:13                       ` Auger Eric
2018-12-12 14:56           ` Michael S. Tsirkin
2018-12-07 18:52         ` Jean-Philippe Brucker
2018-11-27 17:55     ` Jean-Philippe Brucker
2018-11-23 22:02   ` Michael S. Tsirkin
2018-11-23 22:02     ` [virtio-dev] " Michael S. Tsirkin
2018-11-27 17:50     ` Jean-Philippe Brucker
2018-11-27 17:50       ` [virtio-dev] " Jean-Philippe Brucker
2018-11-27 18:04       ` Michael S. Tsirkin
2018-11-27 18:04         ` [virtio-dev] " Michael S. Tsirkin
2018-11-27 18:10         ` Jean-Philippe Brucker
2018-11-27 18:10           ` [virtio-dev] " Jean-Philippe Brucker
2018-11-27 18:53           ` Michael S. Tsirkin
2018-11-27 18:53             ` [virtio-dev] " Michael S. Tsirkin
2018-12-10 15:06             ` Jean-Philippe Brucker
2018-12-10 15:06             ` Jean-Philippe Brucker
2018-12-10 15:06               ` [virtio-dev] " Jean-Philippe Brucker
2018-12-10 15:06               ` Jean-Philippe Brucker
2018-12-10 22:53               ` Michael S. Tsirkin
2018-12-10 22:53                 ` [virtio-dev] " Michael S. Tsirkin
2018-12-10 22:53                 ` Michael S. Tsirkin
2018-12-11 16:29                 ` Jean-Philippe Brucker
     [not found]                 ` <20181210175132-mutt-send-email-mst-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2018-12-11 16:29                   ` Jean-Philippe Brucker
2018-12-11 16:29                     ` [virtio-dev] " Jean-Philippe Brucker
2018-12-11 16:29                     ` Jean-Philippe Brucker
2018-12-10 22:53               ` Michael S. Tsirkin
2018-11-27 18:53           ` Michael S. Tsirkin
2018-11-27 18:10         ` Jean-Philippe Brucker
2018-11-27 18:13       ` Michael S. Tsirkin
2018-11-27 18:13         ` [virtio-dev] " Michael S. Tsirkin
2018-11-27 18:13       ` Michael S. Tsirkin
2018-11-27 17:50     ` Jean-Philippe Brucker
2018-11-23 22:02   ` Michael S. Tsirkin
2018-11-22 19:37 ` Jean-Philippe Brucker
2018-11-22 19:38 ` [PATCH v5 6/7] iommu/virtio: Add probe request Jean-Philippe Brucker
2018-11-22 19:38   ` [virtio-dev] " Jean-Philippe Brucker
2018-11-22 19:38 ` Jean-Philippe Brucker
2018-11-22 19:38 ` [PATCH v5 7/7] iommu/virtio: Add event queue Jean-Philippe Brucker
2018-11-22 19:38   ` [virtio-dev] " Jean-Philippe Brucker
2018-11-22 19:38 ` Jean-Philippe Brucker
2018-11-23  8:28 ` [PATCH v5 0/7] Add virtio-iommu driver Auger Eric
2018-11-23  8:28 ` Auger Eric
2018-11-23  8:28   ` [virtio-dev] " Auger Eric
2018-11-27  7:09   ` Bharat Bhushan
2018-11-27  7:09   ` Bharat Bhushan
2018-11-27  7:09     ` [virtio-dev] " Bharat Bhushan
2018-11-27  7:09     ` Bharat Bhushan
2018-11-27 16:53 ` Michael S. Tsirkin
     [not found] ` <20181122193801.50510-1-jean-philippe.brucker-5wv7dgnIgG8@public.gmane.org>
2018-11-27 16:53   ` Michael S. Tsirkin
2018-11-27 16:53     ` [virtio-dev] " Michael S. Tsirkin
2018-11-27 16:53     ` Michael S. Tsirkin
2018-11-27 17:09     ` Auger Eric
2018-11-27 17:09       ` [virtio-dev] " Auger Eric
     [not found]       ` <6c061729-c404-ac25-f86f-7fe222bf5bc7-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2018-11-27 17:16         ` Michael S. Tsirkin
2018-11-27 17:16           ` [virtio-dev] " Michael S. Tsirkin
2018-11-27 17:16           ` Michael S. Tsirkin
2018-11-27 18:02           ` Auger Eric
2018-11-27 18:02             ` [virtio-dev] " Auger Eric
2018-11-27 18:02           ` Auger Eric
2018-12-03 13:27           ` Auger Eric
2018-12-03 13:27           ` Auger Eric
2018-12-03 13:27             ` [virtio-dev] " Auger Eric
2018-11-27 17:16       ` Michael S. Tsirkin
2018-11-27 17:09     ` Auger Eric

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.