ACRN v2.2 (Sep 2020)

We are pleased to announce the release of the Project ACRN hypervisor version 2.2.

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.2 GitHub release page) or use Git clone and checkout commands:

git clone https://github.com/projectacrn/acrn-hypervisor
cd acrn-hypervisor
git checkout v2.2

The project’s online technical documentation is also tagged to correspond with a specific release: generated v2.2 documents can be found at https://projectacrn.github.io/2.2/. Documentation for the latest under-development branch is found at https://projectacrn.github.io/latest/.

ACRN v2.2 requires Ubuntu 18.04. Follow the instructions in the Getting Started Guide to get started with ACRN.

What’s New in v2.2

Elkhart Lake and Tiger Lake processor support.

At Intel Industrial iSummit 2020, Intel announced the latest additions to their enhanced-for-IoT Edge portfolio: the Intel® Atom® x6000E Series, Intel® Pentium® and Intel® Celeron® N and J Series (all codenamed Elkhart Lake), and 11th Gen Intel® Core™ processors (codenamed Tiger Lake-UP3). The ACRN team is pleased to announce that this ACRN v2.2 release already supports these processors.

  • Support for time deterministic applications with new features, e.g., Time Coordinated Computing and Time Sensitive Networking

  • Support for functional safety with new features, e.g., Intel Safety Island

On Elkhart Lake, ACRN can boot using Slim Bootloader

Slim Bootloader is an alternative bootloader to UEFI firmware.

Shared memory based inter-VM communication (ivshmem) is extended

ivshmem now supports all kinds of VMs including pre-launched VM, Service VM, and other User VMs. (See ACRN Shared Memory Based Inter-VM Communication)

CPU sharing supports pre-launched VM.

RTLinux with preempt-RT Linux kernel 5.4 is validated both as a pre-launched and post-launched VM.

ACRN hypervisor can emulate MSI-X based on physical MSI with multiple vectors.

Staged removal of 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 is no longer the default and will be completely removed in ACRN v2.3. We’re focusing instead on using multiboot2 boot (via Grub). Multiboot2 is not supported in Clear Linux though, so we have chosen Ubuntu (and Yocto Project) as the preferred Service VM OSs moving forward.

Fixed Issues Details

  • 5008 - Slowdown in UOS (Zephyr)

  • 5033 - SOS decode instruction failed in hybrid mode

  • 5038 - [WHL][Yocto] SOS occasionally hangs/crashes with a kernel panic

  • 5048 - iTCO_wdt issue: can’t request region for resource

  • 5102 - Can’t access shared memory base address in ivshmem

  • 5118 - GPT ERROR when write preempt img to SATA on NUC7i5BNB

  • 5148 - dm: support to provide ACPI SSDT for UOS

  • 5157 - [build from source] during build HV with XML, “TARGET_DIR=xxx” does not work

  • 5165 - [WHL][Yocto][YaaG] No UI display when launch Yaag gvt-g with acrn kernel

  • 5215 - [UPsquared N3350 board] Solution to Bootloader issue

  • 5233 - Boot ACRN failed on Dell-OptiPlex 5040 with Intel i5-6500T

  • 5238 - acrn-config: add hybrid_rt scenario XML config for ehl-crb-b

  • 5240 - passthrough DHRD-ignored device

  • 5242 - acrn-config: add pse-gpio to vmsix_on_msi devices list

  • 4691 - hv: add vgpio device model support

  • 5245 - hv: add INTx mapping for pre-launched VMs

  • 5426 - hv: add vgpio device model support

  • 5257 - hv: support PIO access to platform hidden devices

  • 5278 - [EHL][acrn-configuration-tool]: create a new hybrid_rt based scenario for P2SB MMIO pass-thru use case

  • 5304 - Cannot cross-compile - Build process assumes build system always hosts the ACRN hypervisor

Known Issues

  • 5150 - [REG][WHL][[Yocto][Passthru] Launch RTVM fails with USB passthru

  • 5151 - [WHL][VxWorks] Launch VxWorks fails due to no suitable video mode found

  • 5154 - [TGL][Yocto][PM] 148213_PM_SystemS5 with life_mngr fail

  • 5368 - [TGL][Yocto][Passthru] Audio does not work on TGL

  • 5369 - [TGL][qemu] Cannot launch qemu on TGL

  • 5370 - [TGL][RTVM][PTCM] Launch RTVM failed with mem size smaller than 2G and PTCM enabled

  • 5371 - [TGL][Industry][Xenomai]Xenomai post launch fail