Xen 4.21 Hypervisor Arrives With New PDX Compression

Xen 4.21 open-source type-1 hypervisor adds a new PDX compression algorithm, updated toolchain requirements, and improvements across x86, Arm, and RISC-V.

Half a year after its previous 4.20 release, the Xen Project, an open-source type-1 hypervisor with a microkernel design, has just released version 4.21, introducing updated toolchain requirements, new subsystem support, and architecture-specific enhancements across x86, Arm, and RISC-V.

The release increases the minimum compiler and binutils versions for all supported architectures. For x86, Xen now requires GCC 5.1 and Binutils 2.25 or Clang/LLVM 11. ARM32 and ARM64 also move to GCC 5.1 and Binutils 2.25, while RISC-V raises its baseline to GCC 12.2 and Binutils 2.39. In the project’s CI, Debian Trixie has been added, and Debian Bullseye has been removed from RISC-V testing as a result.

Moreover, Xen 4.21 now fully supports Linux-based device model stubdomains. The toolstack introduces a new dependency on json-c 0.15 or later, used when available instead of YAJL. A new stable library, libxenmanage, replaces xenstored’s previous use of unstable internal libraries.

On x86, multiple updates target memory handling, configuration options, and device support. Cache flushing related to guest physical memory map updates and memory type changes is now restricted.

Additionally, administrators can configure the MTRR cache attribute of the Xen platform PCI device BAR for HVM guests, improving control over memory-mapped regions used for grant tables and foreign memory. Xen 4.21 also adds support for configuring the number of altp2m tables per domain via vm.cfg.

Regarding compression, the release introduces a new PDX algorithm designed for CPUs with sparse memory maps, including Intel Sierra Forest and Granite Rapids. Additional x86 changes include optional fixups for p2m page faults on PVH dom0, support for resizable BARs on PVH dom0, and PCI passthrough for HVM guests when dom0 runs in PVH mode. Plus, PVH xenstore-stubdom now supports Live Update.

Arm improvements cover interrupt handling, passthrough support, and early-boot functionality. Xen adds stack protector support and implements GICv3.1 eSPI for both Xen and guest domains. SMMU handling for PCIe passthrough is now available, and the R-Car Gen4 PCI host controller is supported. The release also adds single-agent support for SCI, SCMI, and SMC, and initial early-boot support for MPU, R82, and R52 platforms.

For RISC-V, Xen 4.21 introduces basic UART support and external interrupt handling through APLIC and IMSIC in hypervisor mode.

Lastly, the release removes several obsolete or unused components. GNTTABOP_cache_flush, previously unused on x86, has been dropped. Support for qemu-traditional has been removed. The in-tree oxenstored implementation is now deprecated and will be removed in a future version, with development continuing in the Xapi project.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Leave a Reply

Your email address will not be published. Required fields are marked *