The Virtio-over-PCIe framework living under drivers/misc/mic/vop implements a generic framework to use virtio between two Linux systems, given shared memory and a couple of interrupts. It does not actually require the Intel MIC hardware, x86-64, or even PCIe for that matter. This patch series makes it buildable on more systems and adds a loopback driver to test it without special hardware.
Note that I don't have access to Intel MIC hardware so some testing of the patchset (especially the patch "vop: Use consistent DMA") on that platform would be appreciated, to ensure that the series does not break anything there. Vincent Whitchurch (8): vop: Use %z for size_t vop: Cast pointers to uintptr_t vop: Add definition of readq/writeq if missing vop: Allow building on more systems vop: vringh: Do not crash if no DMA channel vop: Fix handling of >32 feature bits vop: Use consistent DMA vop: Add loopback drivers/misc/mic/Kconfig | 14 +- drivers/misc/mic/bus/vop_bus.h | 2 + drivers/misc/mic/host/mic_boot.c | 46 ++++ drivers/misc/mic/vop/Makefile | 2 + drivers/misc/mic/vop/vop_loopback.c | 390 ++++++++++++++++++++++++++++ drivers/misc/mic/vop/vop_main.c | 36 +-- drivers/misc/mic/vop/vop_vringh.c | 151 ++++++----- 7 files changed, 549 insertions(+), 92 deletions(-) create mode 100644 drivers/misc/mic/vop/vop_loopback.c -- 2.20.0