MirageOS block driver for Xen that implements the blkfront/back protocol

This library allows a Mirage OCaml application to

  1. read and write blocks from any Xen "backend" (server)
  2. service block requests from any Xen "frontend" (client)

This library can be used in both kernelspace (on Xen) or in userspace (using libraries that come with Xen).

This library depends on the shared-memory-ring library which enables high-throughput, low-latency data transfers over shared memory on both x86 and ARM architectures, using the standard Xen RPC and event channel semantics.