ACRN v2.6 (Sep 2021)¶
We are pleased to announce the release of the Project ACRN hypervisor version 2.6.
ACRN is a flexible, lightweight reference hypervisor that is built with real-time and safety-criticality in mind. It is optimized to streamline embedded development through an open-source platform. See the What Is ACRN introduction for more information.
All project ACRN source code is maintained in the
https://github.com/projectacrn/acrn-hypervisor repository and includes
folders for the ACRN hypervisor, the ACRN device model, tools, and
documentation. You can download this source code either as a zip or
tar.gz file (see the ACRN v2.6 GitHub release page) or
git clone https://github.com/projectacrn/acrn-hypervisor cd acrn-hypervisor git checkout v2.6
The project’s online technical documentation is also tagged to correspond with a specific release: generated v2.6 documents can be found at https://projectacrn.github.io/2.6/. Documentation for the latest development branch is found at https://projectacrn.github.io/latest/.
ACRN v2.6 requires Ubuntu 18.04. Follow the instructions in the Getting Started Guide to get started with ACRN.
What’s New in v2.6¶
- Nested Virtualization Technology Performance Tuning
The performance of nested virtualization, a feature first introduced as a preview in the v2.5 release, was improved. CPU and I/O performance of level 2 virtual machines (for example, a VM running on a KVM/QEMU VM that itself is a VM on ACRN hypervisor) is now on par with a VM running on KVM on bare metal. Read more in the Enable Nested Virtualization tutorial.
- Support loading OSs in ELF format
ACRN hypervisor now can load OS images packed in ELF (Executable and Linkable Format). This adds flexibility to OSs such as Zephyr running in pre-launched VMs.
Upgrading to v2.6 From Previous Releases¶
We highly recommended that you follow these instructions to upgrade to v2.6 from previous ACRN releases.
Generate New Board XML¶
Board XML files, generated by ACRN board inspector, contain board information that is essential to build ACRN. Compared to previous versions, ACRN v2.6 adds the following hardware information to board XMLs to support new features and fixes.
Maximum width of physical and linear addresses
Device objects in the ACPI namespace
Routing of PCI interrupt pins
Number of requested vectors of MSI-capable PCI devices
The new board XML can be generated using the ACRN board inspector in the same way as ACRN v2.5. Refer to Using ACRN Configuration Toolset for a complete list of steps to deploy and run the tool.
Add New Configuration Options¶
In v2.6, the following elements are added to scenario XML files.
hv.FEATURES.ENFORCE_TURNOFF_GP(Default value is
hv.FEATURES.SECURITY_VM_FIXUP(Default value is
We’ve made major improvements to the introductory ACRN documentation including:
We’ve also made edits throughout the documentation to improve clarity, formatting, and presentation:
Fixed Issues Details¶
6012 - [Mainline][PTCM] [ConfigTool]Obsolete terms cleanup for SSRAM
6284 - [v2.6] vulnerable coding style in hypervisor and DM
6340 - [EF]Invalid LPC entry prevents GOP driver from working properly in WaaG for DP3
6342 - [v2.6] vulnerable coding style in config tool python source
6360 - ACRN Makefile missing dependencies
6366 - TPM pass-thru shall be able to support start method 6, not only support Start Method of 7
6388 - [hypercube][tgl][ADL]AddressSanitizer: SEGV virtio_console
6389 - [hv ivshmem] map SHM BAR with PAT ignored
6405 - [ADL-S][Industry][Yocto] WaaG BSOD in startup when run reboot or create/destroy stability test.
6417 - ACRN ConfigTool improvement from DX view
6423 - ACPI NVS region might not be mapped on prelaunched-VM
6428 - [acrn-configuration-tool] Fail to generate launch script when disable CPU sharing
6431 - virtio_console use-after-free
6434 - HV panic when SOS VM boot 5.4 kernel
6442 - [EF]Post-launched VMs do not boot with “EFI Network” enabled
6461 - [config_tools] kernel load addr/entry addr should not be configurable for kernel type KERNEL_ELF
6473 - [HV]HV can’t be used after dumpreg rtvm vcpu
6476 - [hypercube][TGL][ADL]pci_xhci_insert_event SEGV on read from NULL
6481 - ACRN on QEMU can’t boot up with v2.6 branch
6482 - [ADL-S][RTVM]rtvm poweroff causes sos to crash
6502 - [ADL][HV][UC lock] SoS kernel panic when #GP for UC lock enabled
6507 - [TGL][HV][hybrid] during boot zephyr64.elf find HV error: “Unable to copy HPA 0x100000 to GPA 0x7fe00000 in VM0”
6508 - [HV]Refine pass-thru device PIO BAR handling
6510 - [ICX-RVP][SSRAM] No SSRAM entries in guest PTCT
6518 - [hypercube][ADL]acrn-dm program crash during hypercube testing
6528 - [TGL][HV][hybrid_rt] dmidecode Fail on pre-launched RTVM
6530 - [ADL-S][EHL][Hybrid]Path of sos rootfs in hybrid.xml is wrong
6533 - [hypercube][tgl][ADL] mem leak while poweroff in guest
6592 - [doc] failed to make hvdiffconfig