Use of Hypervisors - 2023.1 English

Versal Adaptive SoC System Software Developers Guide (UG1304)

Document ID
UG1304
Release Date
2023-05-16
Version
2023.1 English

AMD distributes a port for the Xen open source hypervisor for the Versal device. The Xen hypervisor provides the ability to run multiple operating systems on the same computing platform. Xen hypervisor, which runs directly on the hardware, is responsible for managing the CPU, memory, and interrupts. You can run multiple operating systems on the hypervisor, which are called domains, virtual machines (VMs), or a guest OS.

The Xen hypervisor provides the ability to concurrently run multiple operating systems and their standard applications with relative ease. It also makes it possible to give a guest OS direct access to specific peripherals. However, Xen does not provide a generic method to do so; peripheral-specific configurations are required.

The Xen hypervisor controls one domain, which is domain 0, and one or more guest domains. The control domain has special privileges including:

  • Capability to access the hardware directly.
  • Ability to handle access to the I/O functions of the system.
  • Interaction with other virtual machines.
  • Dynamic node programming to assign/remove the FPGA and generic device tree nodes to/from different running guests using a device tree binary overlay.
  • Emulated TPM to provide each guest with a unique TPM for enabling secure and measured boot.

The control domain also exposes a control interface to the outside world, through which the system is controlled. Each guest domain runs its own OS and application. Guest domains are completely isolated from the hardware.

Running multiple operating systems using Xen hypervisor involves setting up the host OS and adding one or more guest OS. For more information the Xen hypervisor, refer to the Xen Hypervisor page the AMD Wiki.

Xen hypervisor is available as a selectable component within the PetaLinux tools; alternatively, you can download the Xen hypervisor. With Linux and Xen software that is made available by AMD, it is possible to build custom Linux guest configurations. Guest OS other than Linux require additional software and effort from third-parties. For more information, see the PetaLinux Tools page.

In addition to the Xen hypervisor, other hypervisors are available through various AMD ecosystem partners. Visit the Embedded Software page for further details.