ACRN v1.3 (Sep 2019)¶
We are pleased to announce the release of ACRN version 1.3.
ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the What Is ACRN 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 v1.3 GitHub release page) or use Git clone and checkout commands:
git clone https://github.com/projectacrn/acrn-hypervisor
cd acrn-hypervisor
git checkout v1.3
The project’s online technical documentation is also tagged to correspond with a specific release: generated v1.3 documents can be found at https://projectacrn.github.io/1.3/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/. ACRN v1.3 requires Clear Linux* OS version 31080.
Version 1.3 Major Features¶
What’s New in v1.3¶
OVMF supports Graphics Output Protocol (GOP), allowing Windows logo at guest VM boot time.
Platform-level coordinated graceful shutdown (S5) for User VMs.
Virtual UART (vUART) for inter-VM communication.
Introduced acrn-config tool to configure VM and hypervisor from a XML configuration file at build time.
Ethernet mediator now supports prioritization per VM.
Features for real-time determinism, e.g. Cache Allocation Technology (CAT, only supported on Apollo Lake).
Document Updates¶
We have many new reference documents available, including:
Getting Started Guide for Industry scenario
Trace and Data Collection for ACRN real-time (RT) Performance Tuning
Building ACRN in Docker
New Features Details¶
3624 - Virtualization supports Windows Guest Bootup Logo
3623 - Platform Configuration Tool
3602 - Hypervisor Tools
3624 - Virtualization supports Windows Guest Bootup Logo
3564 - Power Management: S5
3413 - Support NV storage writeback of OVMF
3327 - Cleanup vIOAPIC and vPIC for RT VM
3484 - tools: support force stop VM
3446 - Rename board name of nuc7i7bnh to nuc7i7dnb
3497 - Inject exception for invalid vmcall
3498 - Return extended info in vCPUID leaf 0x40000001
2934 - Use virtual APIC IDs for Pre-launched VMs
3459 - dm: support VMs communication with virtio-console
3190 - DM: handle SIGPIPE signal
Fixed Issues Details¶
3533 - NUC hang while repeating the cold boot
3572 - Check guest cr3 before loading pdptrs
3576 - Expand default memory from 2G to 4G for WaaG
3593 - Makefile change which add isd build
3594 - UOS have no response After ignore/poweroff/suspend with pressing power key
3609 - Sometimes fail to boot os while repeating the cold boot operation
3610 - LaaG hang while run some workloads loop with zephyr idle
3611 - OVMF launch UOS fail for Hybrid and industry scenario
3612 - Potential Null pointer be dereferenced in ‘usb_dev_request()’
3626 - hv: vtd: fix MACRO typos
3644 - hv boot hang on some KBL platform
3648 - UOS hang when booting UOS with acrnlog running with mem loglevel=6
3708 - Properly reset pCPUs with LAPIC PT enabled during VM shutdown/reset
Known Issues¶
3598 - SEP/SOCWATCH fixes for following coding guidelines
3622 - Kernel PANIC while rebased acrngt patches to mainline kernel
3630 - Clean up the code on drm/i915/gvt
3636 - tsc_deadline incorrect issue
3673 - Incorrect reference to OVMF.fd in sample UOS startup script
3675 - cbm length calculation,Extended model judge, print info error
3681 - Data lose in vuart communication
3686 - The documentation build system creates artefacts in the
3697 - Secure timer check failed in trusty which would cause unlock failure after resume from S3
3721 - [Compiling Issue] Error implicit declaration with VIRTIO_PCI_CONFIG_OFF
3723 - CODEOWNERS folder names are incorrect
3729 - Cannot auto boot 2 VMs with acrnd
Change Log¶
These commits have been added to the acrn-hypervisor repo since the v1.2 release in Aug 2019 (click on the CommitID link to see details):
fe74464a - doc: content updates for using SBL on UP2 board file
860f7b89 - doc: minor edits to using celadon as user os file
bb6d2acb - doc: content updates to GSG for the Intel NUC
32614324 - doc: Add document of RT performance tuning.
ca27f8ed - update using_sbl_on_up2 doc and create-up2-images.sh
36d52c71 - doc: Add note to use a stable Celadon source tree
72c99c08 - doc: update gsg and acrn_quick_setup.sh
e7d048b9 - doc: tweak vUART tutorial for improved rendering
8be09779 - Doc: Update image and text in Virtio-i2c doc
58a093de - Doc: Initial vuart configuration doc and images–4979
6677add9 - Initial virtio i2c doc and images.
4692db8a - New tutorials for running deb or ubunt as user vms
f2a32b48 - Intitial doc for Running Debian as a Service VM
d853c52d - Language edits to the Building ACRN in Docker tutorial
68975ba7 - doc: add build acrn in docker tutorial
456709c6 - Makefile: build default acrn.efi with nuc6cayh
3e9f2aa3 - acrn-config: remove hvlog support for generic board
bd3a686d - acrn-config: add apl-up2-n3350 config xmls
ac003623 - acrn-config: update board xml of apl-up2
55fbe8fb - acrn-config: update README for acrn-config
77fa8650 - acrn-config: reserve 16M memory for hv start
f776cfd2 - acrn-config: fix parameter error in launch script
c15beff4 - Makefile: add build tag for acrn-config tool in version.h
c33a2c29 - Makefile: generate config patch in hypervisor/Makefile
571b30dc - dm: switch to launch RT_LaaG with OVMF by default
bf971d75 - OVMF release v1.3
e5f733fb - hv: vm: properly reset pCPUs with LAPIC PT enabled during VM shutdown/reset
bad75329 - acrn-config: add launch sample xmls for acrn-config
3c621ccc - acrn-config: generate launch script file and apply to the souce file
bc31dc00 - acrn-config: modify rootfs tag in board information
f50f92cc - Makefile: override .config with specified scenario
42b864b1 - DM: update launch scripts to use OVMF.fd directly from the rootfs
bfc92308 - DM: make LaaG launch script use the OVMF.fd from the Service VM
e0006883 - acrn-config: add memmap param for hvlog in xmls
b3ff3cdf - HV: add memmap param for hvlog in sos cmdline
a348be73 - Misc: lifemngr-daemon-on-UOS
d2290076 - makefile: enable xml config to build hypervisor
6e122870 - acrn-config: add xmls for acrn-config tools
8a16d8b6 - acrn-config: generate a scenario patch and apply to acrn-hypervisor
77c17ab4 - acrn-config: enhance the target config
a95a88c5 - doc: Remove “or newer/higher” descriptions for other release notes and some tutorials.
12db54af - doc: update CODEOWNER for rst
6b6aa806 - hv: pm: fix coding style issue
f039d759 - hv: pm: enhencement platform S5 entering operation
ce937587 - hv: pm: correct the function name
f41f9307 - DOC: add –pm_by_vuart setting guide.
3d23c90a - DM: to avoid RTVM shutdown forcely by acrn-dm
8578125f - DM: add power off by vuart setting to launch script
eb5a57b7 - DM: add guest vm power manager by vuart
00401a1e - DM: separate pty vuart operation from IOC
d188afbc - HV: add acpi info header for nuc7i7dnb
00da5a99 - acrn-config: web UI app for acrn-config tool
476e9a2e - doc: Update document for –pm_notify_channel
e38e0263 - script: launch_uos: Give right pm notify channel
b36d80ea - dm: pm: add dm option to select guest notify method
10413849 - dm: pm: move host power button related code out of pm.c
ca51cc9d - hv: vPCI: vPCI device should use its virtual configure space to access its BAR
6ebc2221 - hv: vPCI: cache PCI BAR physical base address
5083aba3 - doc: review edits for config tool doc
ede59885 - doc: add ‘logger_setting’ parameter information to acrn-dm documentation
ff91d073 - doc: update .gitignore to reflect the new location of the tools
9bb21aca - dm: remove ‘-p’ option from the embedded help
8b9aa110 - hv: mmu: remove strict check for deleting page table mapping
127c73c3 - hv: mmu: add strict check for adding page table mapping
c691c5bd - hv:add volatile keyword for some variables
be0c2a81 - doc: update CODEOWNERS for doc, misc reviews
26642543 - Merge pull request #3660 from deb-intel/3632_GCC
96d51a52 - Add URL to GCC 7.3 Manual, Section 6
639c6986 - dm: reserve 16M hole for gvt in e820 table
32d85105 - hv: remove pr_dbg between stac/clac
8d27c1e1 - Merge pull request #3632 from shiqingg/doc-lang-ext
19e9c4ca - Merge pull request #3613 from gvancuts/acrnctl-force-arg
67f3da2e - Merge pull request #3567 from ClaudZhang1995/zy4
876d3112 - Merge pull request #3640 from lirui34/add_new_glossary
ceec4d80 - Merge pull request #3649 from gvancuts/zlib1g-dev-debian
1b48773f - Merge pull request #3653 from deb-intel/remove_newerRef
edbec46d - doc: Add ACRN configuration tool tutorial
1e3da9f2 - Merge pull request #3658 from deb-intel/USBMed
fd60bb07 - Add supported USB devices for WaaG and LaaG OSs
5d284c08 - doc: Add three new glossaries
81435f55 - vm reset: refine platform reset
add89b51 - Remove “or newer” reference to ensure that users know ACRN 1.2 requires ONLY Clear Linux OS version 30690.
4041275f - doc: update Build ACRN from Source
d324f79a - doc: add ‘zlib1g-dev’ to list of dependencies in Debian
cd40980d - hv:change function parameter for invept
1547a4cb - efi-stub: fix stack memory free issue
cd1ae7a8 - hv: cat: isolate hypervisor from rtvm
38ca8db1 - hv:tiny cleanup
f15a3600 - hv: fix tsc_deadline correctness issue
3f84acda - hv: add “invariant TSC” cap detection
be0a4b69 - DM USB: fix enumeration related issues
e7179aa7 - dm: support VM running with more than 4 vcpus
adf3a593 - Makefile: Refine Makefile to generate both industry and sdc images
3729fa94 - doc: update Language Extensions in coding guidelines
f9945484 - hv: vtd: fix MACRO typos
295701cc - hv: remove mptable code for pre-launched VMs
b447ce3d - hv: add ACPI support for pre-launched VMs
96b422ce - hv: create 8-bit sum function
81e2152a - hv: cosmetic fixes in acpi.h
216c19f4 - hv: use __packed for all ACPI related structs
a1ef0ab9 - hv: move ACPI related defines/structs to acpi.h
6ca4095d - Update pages with missing links
cc1dd6da - doc: add “-f/–force’ optional arg to ‘acrnctl’ documentation
2d57c5fe - dm: virtio-console: add subclass
66056c1a - dm: bzimage loader: get linux bzimage setup_sects from header
fc3d19be - DM USB: fix potential crash risk due to null pointer
4a71a16a - hv: vtd: remove global cache invalidation per vm
5c816597 - hv: ept: flush cache for modified ept entries
2abd8b34 - hv: vtd: export iommu_flush_cache
826aaf7b - version: 1.3-unstable