git: kernel -- Import virtio & virtio-block drivers.
Sascha Wildner
swildner at crater.dragonflybsd.org
Sun Jan 6 14:17:56 PST 2013
commit 11447b5977451cf8571f2d8f5f6b8e06a960584c
Author: Venkatesh Srinivas <vsrinivas at ops101.org>
Date: Mon Dec 24 13:41:27 2012 -0500
kernel -- Import virtio & virtio-block drivers.
virtio-blk provides a paravirtualized storage controller, with one
disk per virtio device.
This driver is based on Tim Bisson's port of FreeBSD's virtio and
virtio-blk devices. Differences from Tim's port:
* Import all FreeBSD updates from 4/16 on.
* Remove indirect descriptor support from virtio device.
* Mark devices as D_MPSAFE; removes mplock around disk routines, they
are all correctly self-synchronized.
* Implement devstat support.
* Move I/O completion routine to threaded taskqueue.
* Do not hold target spinlock around virtqueue notify.
* Move objcache caches to kmalloc.
Summary of changes:
sys/dev/virtual/Makefile | 2 +-
sys/dev/virtual/virtio/Makefile | 28 +
sys/dev/virtual/virtio/block/Makefile | 39 +
sys/dev/virtual/virtio/block/virtio_blk.c | 1030 +++++++++++++++++++++++
sys/dev/virtual/virtio/block/virtio_blk.h | 119 +++
sys/dev/virtual/virtio/pci/Makefile | 40 +
sys/dev/virtual/virtio/pci/virtio_bus_if.h | 123 +++
sys/dev/virtual/virtio/pci/virtio_if.h | 25 +
sys/dev/virtual/virtio/pci/virtio_pci.c | 1092 +++++++++++++++++++++++++
sys/dev/virtual/virtio/pci/virtio_pci.h | 87 ++
sys/dev/virtual/virtio/virtio/Makefile | 10 +
sys/dev/virtual/virtio/virtio/virtio.c | 281 +++++++
sys/dev/virtual/virtio/virtio/virtio.h | 141 ++++
sys/dev/virtual/virtio/virtio/virtio_bus_if.m | 90 ++
sys/dev/virtual/virtio/virtio/virtio_if.m | 43 +
sys/dev/virtual/virtio/virtio/virtio_ring.h | 164 ++++
sys/dev/virtual/virtio/virtio/virtqueue.c | 639 +++++++++++++++
sys/dev/virtual/virtio/virtio/virtqueue.h | 95 +++
18 files changed, 4047 insertions(+), 1 deletions(-)
create mode 100644 sys/dev/virtual/virtio/Makefile
create mode 100644 sys/dev/virtual/virtio/block/Makefile
create mode 100644 sys/dev/virtual/virtio/block/virtio_blk.c
create mode 100644 sys/dev/virtual/virtio/block/virtio_blk.h
create mode 100644 sys/dev/virtual/virtio/pci/Makefile
create mode 100644 sys/dev/virtual/virtio/pci/virtio_bus_if.h
create mode 100644 sys/dev/virtual/virtio/pci/virtio_if.h
create mode 100644 sys/dev/virtual/virtio/pci/virtio_pci.c
create mode 100644 sys/dev/virtual/virtio/pci/virtio_pci.h
create mode 100644 sys/dev/virtual/virtio/virtio/Makefile
create mode 100644 sys/dev/virtual/virtio/virtio/virtio.c
create mode 100644 sys/dev/virtual/virtio/virtio/virtio.h
create mode 100644 sys/dev/virtual/virtio/virtio/virtio_bus_if.m
create mode 100644 sys/dev/virtual/virtio/virtio/virtio_if.m
create mode 100644 sys/dev/virtual/virtio/virtio/virtio_ring.h
create mode 100644 sys/dev/virtual/virtio/virtio/virtqueue.c
create mode 100644 sys/dev/virtual/virtio/virtio/virtqueue.h
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/11447b5977451cf8571f2d8f5f6b8e06a960584c
--
DragonFly BSD source repository
More information about the Commits
mailing list