[Announce] ACRN Open Source Ver3.1 Release Notes

Zou, Terry

Hi all, We are very pleased to announce Version 3.1 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_3.1.html

What’s New in v3.1:

·       More ACRN Configuration Improvements

Release v3.0 featured a new ACRN Configurator UI tool with a more intuitive design and workflow that simplifies getting the setup for the ACRN hypervisor right. With this v3.1 release, we’ve continued making improvements to the Configurator including more comprehensive error checking with more developer-friendly messages. You’ll also see additional advanced configuration settings for tuning real-time performance including Cache Allocation Technology (CAT) and vCPU affinity. Read more in the ACRN Configurator Tool and Scenario Configuration Options documents.

If you have feedback on this, or other aspects of ACRN, please share them on the ACRN users mailing list.

As with the v3.0 release, we’ve simplified installation of the Configurator by providing a Debian package that you can download from the ACRN v3.1 tag assets and install. See the Getting Started Guide for more information.

·       Improved Board Inspector Collection and Reporting

You run the ACRN Board Inspector tool to collect information about your target system’s processors, memory, devices, and more. The generated board XML file is used by the ACRN Configurator to determine which ACRN configuration options are possible, as well as possible values for target system resources. The v3.1 Board Inspector has improved scanning and provides more messages about potential issues or limitations of your target system that could impact ACRN configuration options.

The Board Inspector is updated to probe beyond CPUID information for Cache Allocation Technology (CAT) support and also detects availability of L3 CAT by accessing the CAT MSRs directly. Read more in Board Inspector Tool.

·       Sample Application with Two Post-Launched VMs

With this v3.1 release, we provide a follow-on Sample Application User Guide to the Getting Started Guide. This sample application shows how to create two VMs that are launched on your target system running ACRN. One VM is a real-time VM running cyclictest, an open-source application commonly used to measure latencies in real-time systems. This real-time VM (RT_VM) uses inter-VM shared memory (IVSHMEM) to send data to a second Human-Machine Interface VM (HMI_VM) that formats and presents the collected data as a histogram on a web page shown by a browser. This guide shows how to configure, create, and launch the two VM images that make up this application. Full code for the sample application is provided in the acrn-hypervisor GitHub repo misc/sample_application.

·       Multiple-Displays Support for VMs

The virtio-gpu mechanism is enhanced to support VMs with multiple displays.

·       Improved TSC Frequency Reporting

The hypervisor now reports Time Stamp Counter (TSC) frequency in KHz so that VMs can get that number without calibrating to a high precision timer.

Document Updates:

Sample Application User Guide

The new Sample Application User Guide documentation shows how to configure, build, and run a practical application with a Real-Time VM and Human-Machine Interface VM that communicate using inter-VM shared memory.

We’ve also made edits throughout the documentation to improve clarity, formatting, and presentation. We started updating feature enabling tutorials based on the new Configurator, and will continue updating them after the v3.1 release (in the latest documentation). Here are some of the more significant updates:

²  Getting Started Guide

²  Enable Intel Resource Director Technology (RDT) Configurations

²  Device Model Parameters and Launch Script

²  Scenario Configuration Options

²  Hypercall / HSM Upcall

²  Supported Hardware

²  Enable CPU Sharing

²  Enable S5

²  Using GRUB to Boot ACRN

²  Enable vUART Configurations

²  ACRN Shell Commands

²  Acrnctl and Acrnd

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

Upgrading to v3.1 From Previous Releases

We recommend you generate a new board XML for your target system with the v3.1 Board Inspector. You should also use the v3.1 Configurator to generate a new scenario XML file and launch scripts. Scenario XML files and launch scripts created by previous ACRN versions will not work with the v3.1 ACRN hypervisor build process and could produce unexpected errors during the build.

Given the scope of changes for the v3.1 release, we have recommendations for how to upgrade from prior ACRN versions:

1.       Start fresh from our Getting Started Guide. This is the best way to ensure you have a v3.1-ready board XML file from your target system and generate a new scenario XML and launch scripts from the new ACRN Configurator that are consistent and will work for the v3.1 build system.
2.       Use the upgrader tool to attempt upgrading configuration files that worked with a release before v3.1. You’ll need the matched pair of scenario XML and launch XML files from a prior configuration, and use them to create a new merged scenario XML file. See Upgrading ACRN Configurations to Recent Releases for details.
3.       Manually edit your prior scenario XML and launch XML files to make them compatible with v3.1. This is not our recommended approach.