[Announce] ACRN Open Source Ver2.7 Release Notes

Zou, Terry

Hi all, 

We are very pleased to announce Version 2.7 release of ACRN. You can see the release blog from https://projectacrn.org/blog/ and detailed Release Notes in website https://projectacrn.github.io/latest/release_notes/release_notes_2.7.html

What’s New in v2.7

·       API and Documentation Updates for User VM and Service VM Terminology

More often than not, the terms “UOS” and “SOS” referred to the User VM and Service VM components of an ACRN Hypervisor system and not to the VM’s OS. We’ve updated the hypervisor APIs and documentation to properly reflect these names and removed uses of UOS and SOS.

In the code, uses of uos and sos in names were changed to user_vm and service_vm respectively. When specifically referring to the OS of these VMs, we now use user_vm_os and service_vm_os. These changes appear throughout the C files, as well as in the .xml configuration files.

For example, here are examples of old and new names:

Old Name

New Name

#define SOS_SOCKET_PORT 0x2000




static uint16_t get_uos_count(void)

static uint16_t get_user_vm_count(void)

static uint16_t get_phy_addr(uint8_t uos_id, uint16_t vaddr)

static uint16_t get_phy_addr(uint8_t user_vmid, uint16_t vaddr)

·       Update Scenario Names

The pre-defined scenario names were changed to be indicative of their properties instead of an example use. The “industry” scenario is now called “shared”, the “logical partitioning” scenario is now called “partitioned”, and the “hybrid” scenario name remains the same.

Here are the three configuration scenarios:

§   Shared: The physical hardware resources can be shared among post-launched User VMs. The Service VM (Device Model) provides device emulation for the shared virtual devices.

§   Partitioned: The physical resources are strictly dedicated to individual pre-launched User VMs and there is no Service VM needed.

§   Hybrid: The physical resource are dedicated to pre-launched User VMs and the Service VM provides resource emulation and sharing for post-launched User VMs, all in the same system configuration.

·       User-Friendly VM names

Instead of using a UUID as the User VM identifier, we’re now using a user-friendly VM name.

·       Extend Use of CAT Cache Tuning to VMs

In previous releases, Cache Allocation Technology (CAT) was available only at the hypervisor level and with per-pCPU granularity. In this v2.7 release, each VM with exclusive cache resources can partition them with per-thread granularity and allocate cache resources to prioritized tasks.

·       Expand Passthrough Device Use Cases

We now allow pre-launched VMs (in partitioned or hybrid scenarios) to use graphics device passthrough for improved performance, a feature previously available to only post-launched VMs.

Trusted Platform Module (TPM) 2.0 and its associated resource can now be passthrough to post-launched VMs, a feature previously available to only pre-launched VMs.

·       Document Updates:

We’ve updated references throughout the documentation to use “Service VM” and “User VM” instead of “SOS” and “UOS” respectively.

We’ve also made edits throughout the documentation to improve clarity, formatting, and presentation:

²  Device Passthrough

²  VT-d

²  Frequently Asked Questions

²  Getting Started Guide

²  Configuration and Development Overview

²  Hypervisor Makefile Options

²  ACRN Configurator Tool

²  Enable ACRN Over QEMU/KVM

²  Enable Inter-VM Communication Based on Ivshmem

²  Enable S5 in ACRN

²  Using GRUB to Boot ACRN

²  Getting Started Guide for ACRN Partitioned Mode

²  Device Model Parameters

²  Acrntrace

See the v2.7 full release notes and documentation for more information about this release including fixed and known issues.

Upgrading to v2.7 From Previous Releases

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

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

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

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


Best & Regards