<div class='slidealt'>Experience kvm <a title='virtualization for embedded heterogeneous arm core platforms' href='/en/products'>virtualization extensions</a></div> <div class='slidealt'>Benefit from custom <a title='kvm on arm services full virtualization' href='/en/services'>virtualization services</a></div> <div class='slidealt'>KVM on ARMv7 and ARMv8 <a title='kvm-on-arm open source smu extensions' href='/en/solutions/guides/vfio-on-arm/'>IOMMU full virtualization</a></div> <div class='slidealt'>Virtualization research projects <a title='ARM multicore kvm open source' href='/en/research'>in cloud and embedded systems</a></div> <div class='slidealt'>Virtualization solutions for heterogeneous <a title='ARMv7-ARMv8 virtualization open source solutions' href='/en/solutions'>ARM multicore systems</a></div>

virtio-loopback: an open source virtio-based Hardware Abstraction Layer (HAL)

Enable portable application-driver interactions on native and virtual machine environments supporting different hypervisors

Virtual Open Systems provides high quality open source development services

Virtual Open Systems is developing virtio-loopback on behalf of the Linux Foundation for the Automotive Grade Linux (AGL) project. More in detail virtio-loopback is a virtio based hardware abstraction layer that gives user-space applications the ability to take advantage of user-space drivers using the standard virtio kernel interface. As a consequence, a user-space application can run transparently on both a native or a virtualized environment using user-space drivers with no code modifications. In addition virtio-loopback brings the following benefits:

  • User-space driver implementations can be reused with both virtual and native environments.
  • All the hypervisors that support virtio and vhost-user standards can be used with virtio-loopback.
  • Data is shared between the virtio driver in kernel space and the device in user-space, thus guaranteeing high performance.

virtio-loopback is currently under development, and the video demo below shows an early version of the solution.

virtio-loopback runs applications transparently on native systems and hypervisors

With virtio-loopback, applications using user-space drivers can be run seamlessly in both virtualized and non virtualized environments

virtio-loopback is composed by a new virtio transport kernel driver that forwards virtio calls in user-space (where the device is implemented) together with an application that implements the vhost-user protocol (introduced in QEMU for the first time in 2014 by Virtual Open Systems).

This video demo shows an early version of the virtio-loopback kernel components working with a virtio-rng device implemented in user-space (QEMU). More in detail, you will see a user-space application interacting with the kernel virtio-rng driver in the host that redirects requests to QEMU in user-space, where the device is implementated.

Virtio-Loopback By Vos For Linux Foundation To Power Automotive Grade Linux (Agl) virtio-loopback, an open source virtio-based hardware abstraction layer to enable portable application-driver interactions on native and virtualized environments