Messages in this thread | | | From | Andy Lutomirski <> | Subject | [PATCH v2 0/3] virtio DMA API core stuff | Date | Tue, 27 Oct 2015 22:30:18 -0700 |
| |
This switches virtio to use the DMA API unconditionally. I'm sure it breaks things, but it seems to work on x86 using virtio-pci, with and without Xen, and using both the modern 1.0 variant and the legacy variant.
Changes from v1: - Fix an endian conversion error causing a BUG to hit. - Fix a DMA ordering issue (swiotlb=force works now). - Minor cleanups.
Andy Lutomirski (3): virtio_net: Stop doing DMA from the stack virtio_ring: Support DMA APIs virtio_pci: Use the DMA API
drivers/net/virtio_net.c | 53 +++++++---- drivers/virtio/Kconfig | 2 +- drivers/virtio/virtio_pci_common.h | 3 +- drivers/virtio/virtio_pci_legacy.c | 19 +++- drivers/virtio/virtio_pci_modern.c | 34 +++++-- drivers/virtio/virtio_ring.c | 187 ++++++++++++++++++++++++++++++------- tools/virtio/linux/dma-mapping.h | 17 ++++ 7 files changed, 246 insertions(+), 69 deletions(-) create mode 100644 tools/virtio/linux/dma-mapping.h
-- 2.4.3
| |