OpenAMP Hypervisorless Virtio
Hypervisorless Virtio Intro
There are a number of hypervisorless virtio demos. Their intent is to demonstrate the use of the Virtio component and associated drivers.
This section details the sample for hypervisorless virtio with entropy and network devices (hvl_net_rng_reloc).
All demonstrations are run on a remote running Zephyr Operating System (OS).
Hypervisorless Virtio Components
This demonstration uses a single application on the remote and a setup and demo script on the main controller.
The underlying OpenAMP architectural components used by these applications are
The following architecture diagram shows the components involved in the demonstration.
The top-level control flow is shown in the following message diagram.
Hypervisorless Virtio Remote Application
The remote application is the core of the demonstration. It is a simple application utilising a number of Virtio devices.
The remote application when started initially calls on the Virtio Entropy Device to obtain entropy values to print to the UART console. Subsequently, it sets up Virtio Network Device to provide communications between the main controller at 192.168.200.254 and remote at 192.168.200.2.
Hypervisorless Virtio Main Script
The main controller is responsible for setting up a virtual/tap network, loading the firmware containing the Hypervisorless Virtio Application and starting the remote processor using Remoteproc.
The scripts are available in the Demo Docker Images as demo4 and setup.sh.
Hypervisorless Virtio Source
Hypervirsorless Virtio Zephyr Source
The hypervisorless Virtio application is available as a Zephyr solution in the zephyr-openamp-staging Repository.
It is a CMake application and can be built for any remote as long as the relevant OS/HW abstraction layer components like libmetal are ported for that platform.
Reference Board Implementations
This Hypervisorless Virtio Samples are demonstrated in the following reference implementations.
Docker Images as demo4
For information on building and running the demonstrations for zcu102 refer to