Xen Hypervisor
This page describes the open source Xen hypervisor and how it is used on AMD-Xilinx Zynq UltraScale+ and Versal devices.
- Overview
- FreeRTOS support for EL1 NS domU guest
- Linux - Xen Dom0
- Linux - Xen DomU
- Xen Shared Memory and Interrupts Between VMs
- Xen and PL Masters
- Xen Hypervisor internals for Zynq UltraScale+
- Xen Shared Memory
- Xen on ARM: Share memory between guests
- Troubleshooting Xen issues
- Xen device passthrough examples
- Booting XEN on ZCU102 using SD card
- Building Xen Hypervisor
Introduction
Xen is a free and open source type-1 hypervisor. The Xen hypervisor is developed as a Linux Foundation project as part of the Xen Project.
On AMD-Xilinx devices, Xen runs as part of Arm execution-level 2 (EL2). Xen hypervisor consists of three components:
- Xen Core - the central management engine of the Xen hypervisor
- Xen Domain 0 (Dom0) - the primary control domain. This domain hosts Xen utilities used to manage the lifecycle of User Domains
- One or more User Domains (DomU) - the various user/application domains. These domains run user applications and operating systems.
Overview
Xen is a type-1 Hypervisor defined, maintained and provided to the open source community by the Xen Project. Xilinx actively contributes code to the Xen Project to provide Zynq UltraScale+ MPSoC platform support as well as key enhancements which benefit Xilinx customer use-cases.
Xen allows multiple instances of operating system(s) or bare-metal applications to execute on Zynq UltraScale+ MPSoC. Additional information on the Xen hypervisor can be found at the Xen Project Getting Started page.
Xilinx provides within the PetaLinux Tools and also in our Git tree, core elements and example designs to enable usage of Linux + bare-metal system configurations across the processing cores of Zynq UltraScale+ MPSoC. Key components of these example designs are described below in order to assist our customers to configure, build and deploy these basic configurations and to also identify current functionality gaps which may need to be further addressed within the customer's final system architecture.
One Linux DomU + two Bare-Metal Applications |
Linux Dom0 with custom apps + three Bare-Metal Applications |
Two Linux DomU + one Bare-Metal Application |
Three Linux DomU
Using Advanced Xen Topologies
AMD-Xilinx devices support advanced features on Arm platforms that provide additional performance benefits. The table below lists important system features and the first Xilinx Xen release that makes them available.Feature | Description | First Xen release |
Dom0less | Dom0less functionality allows Xen to immediately start up one or more DomU's based on a devicetree-based system topology description. This feature allows Xen-based systems to boot more rapidly and predictably than Dom0-based systems. | 2019.1 |
Cache Coloring | Cache Coloring functionality maps hardware cache lines to specific Xen DomU's to prevent cache and memory thrashing. This feature allows Xen-based systems, particularly those sensitive to interrupt latency and bare-metal performance, to operate more efficiently. | 2020.1 |
Additional Commercial Support and Professional Services
Xilinx recommends our Premier Partner: DornerWorks to customers seeking support beyond the example designs described above. DornerWorks has worked with customers to solve complex system problems including new OS support, frontend drivers, performance optimization, DMA accesses, and inter-OS communications.Related Links
Non-hypervisor AMP Options and Viability: Unsupervised AMP© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy