From: Sjur Brændeland <sjur.brandel...@stericsson.com>

This patch-set introduces a host-side virtqueue implementation and
the CAIF Virtio Link layer. See http://lwn.net/Articles/522296/ for
background info on CAIF over Virtio.

After feedback from Rusty, I have re-factored vhost.c and
pulled out common functionality and data definitions from
drivers/vhost into drivers/virtio.

Part of the challenge of doing this is that vhost.c is accessing the
virtio rings from user-space, while CAIF uses kernel memory.
In order to solve this issue, inline memory access functions are passed
to some of the vring functions (as suggested by Rusty).

I have added one argument to the function find_vqs(), in order to 
request host-side virtio-queue. (This needs some more work...)

Feedback on this patch-set is appreciated, particularly on structure
and code-reuse between vhost.c and the host-side virtio-queue.
I'd also like some suggestions on how to handle the build configuration
better - currently there are some unnecessary build dependencies.

The patches are based on v3.7, and compile tested only.

Rusty, if you want to review this later, after the merge window closes,
let me know and I'll resend these patches later.

Thanks,
Sjur

Sjur Brændeland (11):
  vhost: Use struct vring in vhost_virtqueue
  vhost: Isolate reusable vring related functions
  virtio-ring: Introduce file virtio_ring_host
  virtio-ring: Refactor out the functions accessing user memory
  virtio-ring: Refactor move attributes to struct virtqueue
  virtio_ring: Move SMP macros to virtio_ring.h
  virtio-ring: Add Host side virtio-ring implementation
  virtio: Update vring_interrupt for host-side virtio queues
  virtio-ring: Add BUG_ON checking on host/guest ring type
  virtio: Add argument reversed to function find_vqs()
  remoteproc: Add support for host-virtqueues

Vikram ARV (1):
  caif_virtio: Introduce caif over virtio

 drivers/char/virtio_console.c          |    3 +-
 drivers/lguest/lguest_device.c         |    5 +-
 drivers/net/caif/Kconfig               |    8 +
 drivers/net/caif/Makefile              |    3 +
 drivers/net/caif/caif_virtio.c         |  482 ++++++++++++++++++++++++++++++++
 drivers/net/virtio_net.c               |    3 +-
 drivers/remoteproc/remoteproc_virtio.c |   18 +-
 drivers/rpmsg/virtio_rpmsg_bus.c       |    2 +-
 drivers/s390/kvm/kvm_virtio.c          |    5 +-
 drivers/scsi/virtio_scsi.c             |    2 +-
 drivers/vhost/Kconfig                  |    2 +
 drivers/vhost/net.c                    |    4 +-
 drivers/vhost/vhost.c                  |  272 +++++++-----------
 drivers/vhost/vhost.h                  |   14 +-
 drivers/virtio/Kconfig                 |    3 +
 drivers/virtio/Makefile                |    1 +
 drivers/virtio/virtio_balloon.c        |    3 +-
 drivers/virtio/virtio_mmio.c           |    5 +-
 drivers/virtio/virtio_pci.c            |    3 +-
 drivers/virtio/virtio_ring.c           |   50 ++---
 drivers/virtio/virtio_ring_host.c      |  345 +++++++++++++++++++++++
 include/linux/virtio.h                 |    6 +
 include/linux/virtio_caif.h            |   25 ++
 include/linux/virtio_config.h          |    7 +-
 include/linux/virtio_ring.h            |   77 +++++-
 include/uapi/linux/virtio_ids.h        |    1 +
 26 files changed, 1120 insertions(+), 229 deletions(-)
 create mode 100644 drivers/net/caif/caif_virtio.c
 create mode 100644 drivers/virtio/virtio_ring_host.c
 create mode 100644 include/linux/virtio_caif.h

-- 
1.7.5.4

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to