The xen block driver needs some extra state not needed for the network drivers. Namely, the same way virtio-blk does, we need to tell the block layer which is our strategy, read and write functions. For that, we need some extra code that I am implementing in xenfront-blk.cc.
d680098 enable and compile the blkfront driver
bsd/sys/dev/xen/blkfront/blkfront.c | 6 +++
build.mk | 3 +-
drivers/xenfront-blk.cc | 74 +++++++++++++++++++++++++++++++++++
drivers/xenfront.cc | 5 +++
4 files changed, 87 insertions(+), 1 deletion(-)
Upstream: github.com