kernel -- Import virtio & virtio-block drivers.
commit11447b5977451cf8571f2d8f5f6b8e06a960584c
authorVenkatesh Srinivas <vsrinivas@ops101.org>
Mon, 24 Dec 2012 18:41:27 +0000 (24 13:41 -0500)
committerSascha Wildner <saw@online.de>
Sun, 6 Jan 2013 22:13:55 +0000 (6 23:13 +0100)
treec4157cf209777596ef4e6d909125a612228ae5d7
parent42fdf81ee882d38808efe2772a68a9c4991a5f76
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.
18 files changed:
sys/dev/virtual/Makefile
sys/dev/virtual/virtio/Makefile [new file with mode: 0644]
sys/dev/virtual/virtio/block/Makefile [new file with mode: 0644]
sys/dev/virtual/virtio/block/virtio_blk.c [new file with mode: 0644]
sys/dev/virtual/virtio/block/virtio_blk.h [new file with mode: 0644]
sys/dev/virtual/virtio/pci/Makefile [new file with mode: 0644]
sys/dev/virtual/virtio/pci/virtio_bus_if.h [new file with mode: 0644]
sys/dev/virtual/virtio/pci/virtio_if.h [new file with mode: 0644]
sys/dev/virtual/virtio/pci/virtio_pci.c [new file with mode: 0644]
sys/dev/virtual/virtio/pci/virtio_pci.h [new file with mode: 0644]
sys/dev/virtual/virtio/virtio/Makefile [new file with mode: 0644]
sys/dev/virtual/virtio/virtio/virtio.c [new file with mode: 0644]
sys/dev/virtual/virtio/virtio/virtio.h [new file with mode: 0644]
sys/dev/virtual/virtio/virtio/virtio_bus_if.m [new file with mode: 0644]
sys/dev/virtual/virtio/virtio/virtio_if.m [new file with mode: 0644]
sys/dev/virtual/virtio/virtio/virtio_ring.h [new file with mode: 0644]
sys/dev/virtual/virtio/virtio/virtqueue.c [new file with mode: 0644]
sys/dev/virtual/virtio/virtio/virtqueue.h [new file with mode: 0644]