[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-dev] A simple example of virtio blk driver
On Tue, 2016-06-07 at 13:29 +0100, Stefan Hajnoczi wrote: > On Mon, Jun 06, 2016 at 10:51:11AM +0530, Srinivas Nayak wrote: > > > > I am studying the virtio spec 1.0 and trying to write a virtio blk > > driver. > > Is there anywhere a simple example virtio blk driver can be found, > > which may be written with conformance to virtio spec 1.0? > > I would like to understand a simple virtio blk driver, how it is > > written. > > > > Better if there is any clear document available regarding a virtio > > blk driver implementation. > If you want to see a minimal driver, look at the SeaBIOS > src/hw/virtio-blk.c driver. It only uses a subset of virtio-blk > functionality. > > https://github.com/qemu/seabios/blob/master/src/hw/virtio-blk.c There's also a reasonably small/simple implementation in the FreeBSD bhyve stuff, e.g. https://github.com/freebsd/freebsd/blob/master/usr.sbin/bhyve/pci_virtio_block.c > For a full implementation, It's probably worth noting that in most cases a lot of the code (e.g. the more low level ring/descriptor handling) is in the generic virtio framework for the OS rather than the specific driver. Ian.