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