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