|
| 1 | +.. _release_notes_3.3: |
| 2 | + |
| 3 | +ACRN v3.3 (Aug 2024) |
| 4 | +#################### |
| 5 | + |
| 6 | +We are pleased to announce the release of the Project ACRN hypervisor |
| 7 | +version 3.3. |
| 8 | + |
| 9 | +ACRN is a flexible, lightweight reference hypervisor that is built with |
| 10 | +real-time and safety-criticality in mind. It is optimized to streamline |
| 11 | +embedded development through an open-source platform. See the |
| 12 | +:ref:`introduction` introduction for more information. |
| 13 | + |
| 14 | +All project ACRN source code is maintained in the |
| 15 | +https://github.com/projectacrn/acrn-hypervisor repository and includes |
| 16 | +folders for the ACRN hypervisor, the ACRN device model, tools, and |
| 17 | +documentation. You can download this source code either as a zip or |
| 18 | +tar.gz file (see the `ACRN v3.3 GitHub release page |
| 19 | +<https://github.com/projectacrn/acrn-hypervisor/releases/tag/v3.3>`_) or |
| 20 | +use 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 | + |
| 26 | +The project's online technical documentation is also tagged to |
| 27 | +correspond with a specific release: generated v3.3 documents can be |
| 28 | +found at https://projectacrn.github.io/3.3/. Documentation for the |
| 29 | +latest development branch is found at https://projectacrn.github.io/latest/. |
| 30 | + |
| 31 | +ACRN v3.3 requires Ubuntu 22.04. Follow the instructions in the |
| 32 | +:ref:`gsg` to get started with ACRN. |
| 33 | + |
| 34 | + |
| 35 | +What's New in v3.3 |
| 36 | +****************** |
| 37 | + |
| 38 | +Generic 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 | + |
| 47 | +Enabling Celadon as User VM |
| 48 | + The acrn hypervisor now supports Celadon as User VM OS. Celadon 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 | + |
| 53 | +Virtual 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 | + |
| 58 | +Virtual 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 | + |
| 62 | +Hypervisor 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 | + |
| 66 | +Guest S3 Support |
| 67 | + The v3.3 release supports suspend-to-RAM of post-launched VMs running |
| 68 | + with OVMF. |
| 69 | + |
| 70 | +System 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 | + |
| 74 | +Notification 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 | + |
| 78 | +Enhance device model passthrough |
| 79 | + This release support passthrough PCI device with legacy interrupt, some ACPI device like |
| 80 | + GPIO controller, legacy UART. |
| 81 | + |
| 82 | +ServiceVM 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 | + |
| 87 | +Upgrading to v3.3 from Previous Releases |
| 88 | +**************************************** |
| 89 | + |
| 90 | +We recommend you generate a new board XML for your target system with the v3.3 |
| 91 | +Board Inspector. You should also use the v3.3 Configurator to generate a new |
| 92 | +scenario XML file and launch scripts. Scenario XML files and launch scripts |
| 93 | +created by previous ACRN versions will not work with the v3.3 ACRN hypervisor |
| 94 | +build process and could produce unexpected errors during the build. |
| 95 | + |
| 96 | +Given the scope of changes for the v3.3 release, we have recommendations for how |
| 97 | +to upgrade from prior ACRN versions: |
| 98 | + |
| 99 | +1. 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 | + |
| 111 | +Here are some additional details about upgrading to the v3.3 release. |
| 112 | + |
| 113 | +Generate New Board XML |
| 114 | +====================== |
| 115 | + |
| 116 | +Board XML files, generated by ACRN Board Inspector, contain board information |
| 117 | +that is essential for building the ACRN hypervisor and setting up User VMs. |
| 118 | +Compared to previous versions, ACRN v3.3 adds the following information to the |
| 119 | +board 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 | + |
| 125 | +See the :ref:`board_inspector_tool` documentation for a complete list of steps |
| 126 | +to install and run the tool. |
| 127 | + |
| 128 | +Update Configuration Options |
| 129 | +============================ |
| 130 | + |
| 131 | +As explained in this :ref:`upgrading_configuration` document, we do provide a |
| 132 | +tool that can assist upgrading your existing pre-v3.3 scenario XML files in the |
| 133 | +new merged v3.3 format. From there, you can use the v3.3 ACRN Configurator UI to |
| 134 | +open the upgraded scenario file for viewing and further editing if the upgrader |
| 135 | +tool lost meaningful data during the conversion. |
| 136 | + |
| 137 | +The ACRN Configurator adds the following features and fixes to improve the user |
| 138 | +experience: |
| 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 | + |
| 149 | +See the :ref:`scenario-config-options` documentation for details about all the |
| 150 | +available configuration options in the new Configurator. |
| 151 | + |
| 152 | + |
| 153 | +Document Updates |
| 154 | +**************** |
| 155 | + |
| 156 | +Here 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 | + |
| 169 | +Fixed 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 | + |
| 191 | +Known 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 | + |
0 commit comments