ACRN v2.3 (Dec 2020)¶
We are pleased to announce the release of the Project ACRN hypervisor version 2.3.
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. Check out 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 either download this source code as a zip or tar.gz file (see the ACRN v2.3 GitHub release page) or use Git clone and checkout commands:
git clone https://github.com/projectacrn/acrn-hypervisor
cd acrn-hypervisor
git checkout v2.3
The project’s online technical documentation is also tagged to correspond with a specific release: generated v2.3 documents can be found at https://projectacrn.github.io/2.3/. Documentation for the latest under-development branch is found at https://projectacrn.github.io/latest/.
ACRN v2.3 requires Ubuntu 18.04. Follow the instructions in the Getting Started Guide to get started with ACRN.
What’s New in v2.3¶
- Enhanced GPU passthrough (GVT-d)
GPU passthrough (GVT-d) to Windows as a guest is now enabled for 11th Gen Intel® Core™ processors (codenamed Tiger Lake-UP3).
- Shared memory based inter-VM communication (ivshmem) is extended
ivshmem now supports interrupts (See ACRN Shared Memory Based Inter-VM Communication).
- Enhanced vUART support
Added PCI vUART (up to 8) for VM-to-VM communication. Legacy vUART (0x3F8-like) is available for console (debugging) support.
- End-to-end secure boot improvement
OVMF can be loaded now as two blobs, one for code and the other for data. The code blob can be verified by the Service VM’s
dm-verity
as a step in the end-to-end secure boot.- Enhanced system shutdown
The pre-launched VM may now initiate a system shutdown or reset.
- Removed deprivileged boot mode support
ACRN has supported deprivileged boot mode to ease the integration of Linux distributions such as Clear Linux. Unfortunately, deprivileged boot mode limits ACRN’s scalability and is unsuitable for ACRN’s hybrid hypervisor mode. In ACRN v2.2, deprivileged boot mode was no longer the default and completely removed in ACRN v2.3. We’re focusing instead on using the simpler and more scalable multiboot2 boot (via Grub). Multiboot2 is not supported in Clear Linux so we have chosen Ubuntu (and Yocto Project) as the preferred Service VM OSs moving forward.
Document Updates¶
New and updated reference documents are available, including:
GVT-g-porting (obsolete with v2.6))
VBS-K Framework Virtualization Overhead Analysis
Because we’re dropped deprivileged boot mode support, we’re also switching our Service VM of choice away from Clear Linux and have removed Clear Linux-specific tutorials. Deleted documents are still available in the version-specific v2.1 documentation.
Fixed Issues Details¶
4958 - clean up spin lock for hypervisor
5316 - add default BAR GPA for vmsi over msi
5346 - Hide PCI bridge 00:1c.0 from SOS
5411 - Supporting power off for pre-launched VMs
5461 - DM: gvt: Identical mapping for GPU DSM
5463 - WaaG hang in boot loading screen in cold boot test.
5482 - acrn-config: insert vbdf in hex format and vuart vbdf logic
5490 - Unhandled Exception happened in HV console when shutdown YaaG with shm device enabled
5491 - TGL can’t setup 6 pci-vuarts
5498 - Hide IO 0x3f8 for SOS
5501 - [WHL][Yocto][Hybrid] in hybrid mode ACRN HV env, can not shutdown pre-launched RTVM
5506 - [EHL][SBL][hybrid_rt] in hybrid_rt, TPM can not work in pre-launched RTVM
5508 - hv-bugfix-for-hv-emulated-device-de-init_v2.3
5514 - Coding style issue for xhci.c