1.. _release_notes_3.3:
2
3ACRN v3.3 (Aug 2024)
4####################
5
6We are pleased to announce the release of the Project ACRN hypervisor
7version 3.3.
8
9ACRN is a flexible, lightweight reference hypervisor that is built with
10real-time and safety-criticality in mind. It is optimized to streamline
11embedded development through an open-source platform. See the
12:ref:`introduction` introduction for more information.
13
14All project ACRN source code is maintained in the
15https://github.com/projectacrn/acrn-hypervisor repository and includes
16folders for the ACRN hypervisor, the ACRN device model, tools, and
17documentation. You can download this source code either as a zip or
18tar.gz file (see the `ACRN v3.3 GitHub release page
19<https://github.com/projectacrn/acrn-hypervisor/releases/tag/v3.3>`_) or
20use Git ``clone`` and ``checkout`` commands::
21
22   git clone https://github.com/projectacrn/acrn-hypervisor
23   cd acrn-hypervisor
24   git checkout v3.3
25
26The project's online technical documentation is also tagged to
27correspond with a specific release: generated v3.3 documents can be
28found at https://projectacrn.github.io/3.3/. Documentation for the
29latest development branch is found at https://projectacrn.github.io/latest/.
30
31ACRN v3.3 requires Ubuntu 22.04. Follow the instructions in the
32:ref:`gsg` to get started with ACRN.
33
34
35What's New in v3.3
36******************
37
38Generic Main VM Support
39  The v3.3 release now supports a new scenario called "Main VM". A "Service VM"
40  has two characteristics: (1) it is the default owner of physical resources
41  and (2) it can invoke VM management hypercalls. This release adds support
42  to configure a VM with only the physical resource ownership characteristic
43  and calling this a "Main VM". An example scenario is a pre-launched TEE
44  (Trusted Execution Environment) VM and a main REE (Rich Execution Environment)
45  VM.
46
47Enabling Celadon as User VM
48  The acrn hypervisor now supports Celadon as User VM OS. Celadon is an
49  open-source project by Intel that provides a reference software stack for Android
50  on Intel architecture platforms, aiming to enable developers to optimize and test
51  Android on Intel-based devices.
52
53Virtual Processor Performance Controls (vHWP)
54  The v3.3 release provides virtual HWP feature to a VM so that the VM can check
55  hardware performance ranges and adjust performance levels for performance or
56  power consumption.
57
58Virtual Thermal Monitor and Software Controlled Clock Facilities
59  This release is able to virtualize processor thermal sensors and
60  controls for thermal management in VMs.
61
62Hypervisor Runtime Core PM
63  The v3.3 release enhances processor power management in the hypervisor
64  at runtime to reduce power consumption when a core is idle.
65
66Guest S3 Support
67  The v3.3 release supports suspend-to-RAM of post-launched VMs running
68  with OVMF.
69
70System Performance Optimization - Virtio-blk Multi-Virtqueue Support
71  This release optimizes the virtio-block backend performance by allowing
72  multiple virtqueues between a frontend driver and the backend.
73
74Notification of VM Events
75  Emit events (such as RTC changes and power cycles) to the monitor socket for
76  customizing further actions upon such events.
77
78Enhance device model passthrough
79  This release support passthrough PCI device with legacy interrupt, some ACPI device like
80  GPIO controller, legacy UART.
81
82ServiceVM supervisor role
83  User can config ServicVM as supervisor role in result it can manage the power status of
84  any guest VM.
85
86
87Upgrading to v3.3 from Previous Releases
88****************************************
89
90We recommend you generate a new board XML for your target system with the v3.3
91Board Inspector. You should also use the v3.3 Configurator to generate a new
92scenario XML file and launch scripts. Scenario XML files and launch scripts
93created by previous ACRN versions will not work with the v3.3 ACRN hypervisor
94build process and could produce unexpected errors during the build.
95
96Given the scope of changes for the v3.3 release, we have recommendations for how
97to upgrade from prior ACRN versions:
98
991. Start fresh from our :ref:`gsg`. This is the best way to ensure you have a
100   v3.3-ready board XML file from your target system and generate a new scenario
101   XML and launch scripts from the new ACRN Configurator that are consistent and
102   will work for the v3.3 build system.
103#. Use the :ref:`upgrader tool <upgrading_configuration>` to attempt upgrading
104   your configuration files that worked with prior releases. You'll need the
105   matched pair of scenario XML and launch XML files from a prior configuration,
106   and use them to create a new merged scenario XML file. See
107   :ref:`upgrading_configuration` for details.
108#. Manually edit your previous older scenario XML and launch XML files to make them
109   compatible with v3.3.  This is not our recommended approach.
110
111Here are some additional details about upgrading to the v3.3 release.
112
113Generate New Board XML
114======================
115
116Board XML files, generated by ACRN Board Inspector, contain board information
117that is essential for building the ACRN hypervisor and setting up User VMs.
118Compared to previous versions, ACRN v3.3 adds the following information to the
119board XML file for supporting new features and fixes:
120
121* Fix typo in PCIe PTM Capability name (See :acrn-pr:`8607`)
122* Support motherboard which exposes MCFG1/MCFG2 instad of one ACPI MCFG
123  table. (See :acrn-pr:`8513`)
124
125See the :ref:`board_inspector_tool` documentation for a complete list of steps
126to install and run the tool.
127
128Update Configuration Options
129============================
130
131As explained in this :ref:`upgrading_configuration` document, we do provide a
132tool that can assist upgrading your existing pre-v3.3 scenario XML files in the
133new merged v3.3 format. From there, you can use the v3.3 ACRN Configurator UI to
134open the upgraded scenario file for viewing and further editing if the upgrader
135tool lost meaningful data during the conversion.
136
137The ACRN Configurator adds the following features and fixes to improve the user
138experience:
139
140* Support Main VM configuration. (See :acrn-pr:`8658`)
141* Change Service VM to supervisor role. (See :acrn-pr:`8630`)
142* Fix Vue3 version and update braces version (See :acrn-pr:`8627`)
143* Fix openssl's vulnerability for tauri (See :acrn-pr:`8670`)
144* Fix v-model used on props for Vue3 making strictly checking (See :acrn-pr:`8597`)
145* Support vUART two options in configurator (See :acrn-pr:`8649`)
146* Add checking cpu affinity and serial port for post-launch VM and hypervisor
147  while the user click to append a new VM. (See :acrn-pr:`8602`)
148
149See the :ref:`scenario-config-options` documentation for details about all the
150available configuration options in the new Configurator.
151
152
153Document Updates
154****************
155
156Here are some of the more significant documentation updates from the v3.2 release:
157
158.. rst-class:: rst-columns2
159
160* :ref:`gsg`
161* :ref:`using_celadon_as_user_vm`
162* :ref:`release_notes_3.3`
163* :ref:`hv-config`
164* :ref:`acrn_configurator_tool`
165* :ref:`GSG_sample_app`
166* :ref:`acrnshell`
167
168
169Fixed Issues Details
170********************
171
172.. comment example item
173   - :acrn-issue:`5626` - Host Call Trace once detected
174
175- :acrn-issue:`8608` - hybrid vcpuid support
176- :acrn-issue:`8590` - Hypervisor crashes after rebooting post-launched vm with passthrogh device for lots of times
177- :acrn-issue:`8599` - Should clear pcpu_active_bitmap in start_pcpu
178- :acrn-issue:`8590` - Hypervisor crashes after rebooting post-launched vm with passthrogh device for lots of times
179- :acrn-issue:`8576` - Update-grub failed with GRUB 2.12
180- :acrn-issue:`8518` - Initial boot log is lost in vm_console
181- :acrn-issue:`8509` - S3 feature of Service VM OS is not available
182- :acrn-issue:`8506` - Unable to passthrough USB device on bus 5 to guest
183- :acrn-issue:`8500` - Add weight support for BVT scheduler
184- :acrn-issue:`8495` - Service VM dead loops when booting up on platform with reserved memory as the last e820 entry
185- :acrn-issue:`8492` - passthru multifunction device at function 0 will cause sub-function devices lost
186- :acrn-issue:`8537` - Emulate COM3/4 in devicemodel
187- :acrn-issue:`8491` - need to expose service vm config pointer
188- :acrn-issue:`8579` - debian: fix broken grub config with grub 2.12
189- :acrn-issue:`6631` - Fix Kata support with modify network configuration
190
191Known Issues
192************
193
194- :acrn-issue:`6978` - openstack failed since ACRN v2.7
195- :acrn-issue:`7827` - Pre_launched standard VMs cannot share CPU with Service VM in configurator
196- :acrn-issue:`8471` - PTM enabling failure on i225 NIC
197- :acrn-issue:`8472` - Failed to clear memory for post-launched standard VM
198
199
200