acrn-hypervisor/doc/release_notes/release_notes_2.7.rst
David B. Kinder 27f0d2969a doc: clarify 2.7 release notes
Update description of passthrough device usecase additions, and improved
description of Issue #6631 (Kata broken)

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-12-21 18:13:16 -08:00

260 lines
12 KiB
ReStructuredText

.. _release_notes_2.7:
ACRN v2.7 (Dec 2021)
####################
We are pleased to announce the release of the Project ACRN hypervisor
version 2.7.
ACRN is a flexible, lightweight reference hypervisor that is built with
real-time and safety-criticality in mind. It is optimized to streamline
embedded development through an open-source platform. See the
:ref:`introduction` introduction 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 download this source code either as a zip or
tar.gz file (see the `ACRN v2.7 GitHub release page
<https://github.com/projectacrn/acrn-hypervisor/releases/tag/v2.7>`_) or
use Git ``clone`` and ``checkout`` commands::
git clone https://github.com/projectacrn/acrn-hypervisor
cd acrn-hypervisor
git checkout v2.7
The project's online technical documentation is also tagged to
correspond with a specific release: generated v2.7 documents can be
found at https://projectacrn.github.io/2.7/. Documentation for the
latest development branch is found at https://projectacrn.github.io/latest/.
ACRN v2.7 requires Ubuntu 18.04. Follow the instructions in the
:ref:`gsg` to get started with ACRN.
What's New in v2.7
******************
API and Documentation Updates for User VM and Service VM Terminology
More often than not, the terms "UOS" and "SOS" referred to the User VM and
Service VM components of an ACRN Hypervisor system and not to the VM's OS.
We've updated the hypervisor APIs and documentation to properly reflect these
names and removed uses of UOS and SOS.
In the code, uses of ``uos`` and ``sos`` in names were changed to ``user_vm``
and ``service_vm`` respectively. When specifically referring to the OS of
these VMs, we now use ``user_vm_os`` and ``service_vm_os``. These changes
appear throughout the C files, as well as in the ``.xml`` configuration
files.
For example, here are examples of old and new names:
.. list-table::
:widths: 1 1
:header-rows: 1
* - Old Name
- New Name
* - ``#define SOS_SOCKET_PORT 0x2000``
- ``#define SERVICE_VM_SOCKET_PORT 0x2000``
* - ``pkt->uos_active``
- ``pkt->user_vm_active``
* - ``static uint16_t get_uos_count(void)``
- ``static uint16_t get_user_vm_count(void)``
* - ``static uint16_t get_phy_addr(uint8_t uos_id, uint16_t vaddr)``
- ``static uint16_t get_phy_addr(uint8_t user_vmid, uint16_t vaddr)``
Update Scenario Names
The pre-defined scenario names were changed to be indicative of their
properties instead of an example use. The "industry" scenario is now called
"shared", the "logical partitioning" scenario is now called "partitioned",
and the "hybrid" scenario name remains the same.
Here are the three configuration scenarios:
* **Shared**: The physical hardware resources can be shared among
post-launched User VMs. The Service VM (Device Model) provides device
emulation for the shared virtual devices.
* **Partitioned**: The physical resources are strictly dedicated to
individual pre-launched User VMs and there is no Service VM needed.
* **Hybrid**: The physical resource are dedicated to pre-launched User
VMs and the Service VM provides resource emulation and sharing for
post-launched User VMs, all in the same system configuration.
User-Friendly VM names
Instead of using a UUID as the User VM identifier, we're now using a
user-friendly VM name.
Extend Use of CAT Cache Tuning to VMs
In previous releases, Cache Allocation Technology (CAT) was available only
at the hypervisor level and with per-pCPU granularity. In this v2.7 release,
each VM with exclusive cache resources can partition them with
per-thread granularity and allocate cache resources to prioritized tasks.
Expand Passthrough Device Use Cases
We now allow *pre-launched* VMs (in partitioned or hybrid scenarios) to use
graphics device passthrough for improved performance, a feature previously
available to only post-launched VMs.
Trusted Platform Module (TPM) 2.0 and its associated resource can now be
passthrough to *post-launched* VMs, a feature previously available to
only pre-launched VMs..
Upgrading to v2.7 From Previous Releases
****************************************
We highly recommended that you follow these instructions to
upgrade to v2.7 from previous ACRN releases.
Generate New Board XML
======================
Board XML files, generated by ACRN board inspector, contain board information
that is essential to build ACRN. Compared to previous versions, ACRN v2.7 adds
the following hardware information to board XMLs to support new features and
fixes.
- Always initialize ``hw_ignore`` when parsing ``DMAR``.
The new board XML can be generated using the ACRN board inspector in the same
way as ACRN v2.6. Refer to :ref:`acrn_config_workflow` for a complete list of
steps to deploy and run the tool.
Update Configuration Options
============================
In v2.7, the following elements are added to scenario XML files.
- :option:`vm.name` (This is a required element. Names must be unique, up to 15
characters long, and contain no space characters.)
- :option:`hv.CAPACITIES.MAX_VM_NUM` (Default value is ``8``)
- :option:`hv.FEATURES.RDT.VCAT_ENABLED` (Default value is ``n``)
The following elements were removed.
- ``KATA_VM`` VM type.
- ``hv.CAPACITIES.MAX_EFI_MMAP_ENTRIES``
- ``hv.MEMORY.HV_RAM_SIZE`` (Hypervisor RAM size is now computed by the linker)
As part of using consistent names for UOS and SOS, we also change configuration
option names or values using these obsolete terms:
- The :option:`vm.vm_type` option value ``SOS_VM`` is now ``SERVICE_VM``
- The :option:`vm.legacy_vuart.base` option value ``SOS_VM_COM1_BASE`` is now
``SERVICE_VM_COM1_BASE``, with the same change for COM2, COM3, and COM4 base
and for the :option:`vm.legacy_vuart.irq` option values.
In v2.7, the ``acrn-dm`` command line parameter ``--cpu_affinity`` is now mandatory
when launching a User VM. If the launch XML settings, used to generate the launch
scripts, do not specify a ``cpu_affinity`` value, the ACRN Configurator will look for
it from the scenario XML settings. Verify that your existing launch scripts
specify this ``--cpu_affinity`` parameter as ``acrn-dm`` will now complain if it's
missing.
Document Updates
****************
We've updated references throughout the documentation to use "Service VM" and
"User VM" instead of "SOS" and "UOS" respectively.
We've also made edits throughout the documentation to improve clarity,
formatting, and presentation:
.. rst-class:: rst-columns2
* :ref:`hv-device-passthrough`
* :ref:`vt-d-hld`
* :ref:`faq`
* :ref:`gsg`
* :ref:`overview_dev`
* :ref:`hypervisor-make-options`
* :ref:`acrn_configurator_tool`
* :ref:`acrn_on_qemu`
* :ref:`enable_ivshmem`
* :ref:`enable-s5`
* :ref:`using_grub`
* :ref:`using_partition_mode_on_nuc`
* :ref:`acrn-dm_parameters`
* :ref:`acrntrace`
Fixed Issues Details
********************
.. comment example item
- :acrn-issue:`5626` - [CFL][industry] Host Call Trace once detected
- :acrn-issue:`5112` - ACRN debug shell help output behavior, line length, and misspellings
- :acrn-issue:`5626` - [CFL][industry] Host Call Trace once detected
- :acrn-issue:`5692` - Update config option documentation in schema definition files
- :acrn-issue:`6012` - [Mainline][PTCM] [ConfigTool]Obsolete terms cleanup for SSRAM
- :acrn-issue:`6024` - [TGL][Master][IVSHMEM] Only one share memory device in SOS while enabled two from the scenario xml
- :acrn-issue:`6270` - [ADL-S][Industry][Yocto] WaaG boot up but no UI display with more than 1G memory
- :acrn-issue:`6284` - [v2.6] vulnerable coding style in hypervisor and DM
- :acrn-issue:`6340` - [EF]Invalid LPC entry prevents GOP driver from working properly in WaaG for DP3
- :acrn-issue:`6360` - ACRN Makefile missing dependencies
- :acrn-issue:`6366` - TPM pass-thru shall be able to support start method 6, not only support Start Method of 7
- :acrn-issue:`6387` - enable GVT-d for pre-launched linux guest
- :acrn-issue:`6405` - [ADL-S][Industry][Yocto] WaaG BSOD in startup when run reboot or create/destroy stability test.
- :acrn-issue:`6417` - ACRN ConfigTool improvement from DX view
- :acrn-issue:`6428` - [acrn-configuration-tool] Fail to generate launch script when disable CPU sharing
- :acrn-issue:`6431` - virtio_console use-after-free
- :acrn-issue:`6434` - HV panic when SOS VM boot 5.4 kernel
- :acrn-issue:`6442` - [EF]Post-launched VMs do not boot with "EFI Network" enabled
- :acrn-issue:`6461` - [config_tools] kernel load addr/entry addr should not be configurable for kernel type KERNEL_ELF
- :acrn-issue:`6473` - [HV]HV can't be used after dumpreg rtvm vcpu
- :acrn-issue:`6476` - [hypercube][TGL][ADL]pci_xhci_insert_event SEGV on read from NULL
- :acrn-issue:`6481` - ACRN on QEMU can't boot up with v2.6 branch
- :acrn-issue:`6482` - [ADL-S][RTVM]rtvm poweroff causes sos to crash
- :acrn-issue:`6494` - acrn_trace build failure with latest e2fsprogs v1.46.2 version
- :acrn-issue:`6502` - [ADL][HV][UC lock] SoS kernel panic when #GP for UC lock enabled
- :acrn-issue:`6508` - [HV]Refine pass-thru device PIO BAR handling
- :acrn-issue:`6518` - [hypercube][ADL]acrn-dm program crash during hypercube testing
- :acrn-issue:`6528` - [TGL][HV][hybrid_rt] dmidecode Fail on pre-launched RTVM
- :acrn-issue:`6530` - [ADL-S][EHL][Hybrid]Path of sos rootfs in hybrid.xml is wrong
- :acrn-issue:`6533` - [hypercube][tgl][ADL] mem leak while poweroff in guest
- :acrn-issue:`6542` - [hypercube][tgl][ADL] mem leak while poweroff in guest
- :acrn-issue:`6562` - [ADL-S][Config tool] fail to tpm_getcap -l
- :acrn-issue:`6565` - [acrn-configuration-tool] "modprobe pci_stub" should be executed before unbinding passthru devices
- :acrn-issue:`6572` - [ADL-S][Acrntrace]failed to run acrntrace test
- :acrn-issue:`6584` - HV:check vmx capability
- :acrn-issue:`6592` - [doc] failed to make hvdiffconfig
- :acrn-issue:`6610` - [config tool vUART] IRQ of vUART of pnp 8250 is not generated correctly
- :acrn-issue:`6620` - acrn-config: pass-thru device PIO BAR identical mapping
- :acrn-issue:`6663` - Current HV_RAM_SIZE calculation algorithm sometimes cause build failure
- :acrn-issue:`6674` - [TGL][HV][hybrid] (v2.7 only) during boot zephyr64.elf find HV error: "Unable to copy HPA 0x100000 to GPA 0x7fe00000 in VM0"
- :acrn-issue:`6677` - Service VM shall not have capability to access IOMMU
- :acrn-issue:`6704` - [ADL-S][Partitioned]Kernel panic when boot Pre-launched RTVM with 8 pci devices passthru
- :acrn-issue:`6709` - Issues for platform ICX-D HCC enabling
- :acrn-issue:`6719` - Board Inspector tool crashes if cpuid is not installed
- :acrn-issue:`6724` - (v2.7 only) Remove the GET_PLATFORM_INFO support in ACRN
- :acrn-issue:`6736` - Improved readability desirable for the Board Inspector tool
- :acrn-issue:`6743` - acrn-crashlog/acrnprobe compilation failure with OpenSSL 3.0
- :acrn-issue:`6752` - ACRN HV shows multiple PCIe devices with "out of mmio window" warnings - false alert
- :acrn-issue:`6755` - [icx-d lcc]CAT_capability enable RDT fail
- :acrn-issue:`6767` - [acrn-configuration-tool] Getting duplicate PT_SLOT value If generate launch script continuously through the UI
- :acrn-issue:`6769` - [v2.7] vulnerable coding style in hypervisor and DM
- :acrn-issue:`6778` - [ADL][SSRAM][Master]Error messages output during RTCM unit test
- :acrn-issue:`6780` - [ADL][SSRAM][Master]ACRN boot crash with SSRAM enabled
- :acrn-issue:`6799` - [REG][ADL-S][VxWorks] SOS force reboot while launching vxworks
- :acrn-issue:`6834` - [Acrn-hypervisor][Debug release]Failed to build hypervisor with hv_debug_release enable
- :acrn-issue:`6848` - [ADL][RTVM]ACPI error while launching rtvm
- :acrn-issue:`6851` - [DM] segfault on virtio_console_control_tx()
- :acrn-issue:`6877` - [DM][ASAN] UAF in mevent_handle()
- :acrn-issue:`6885` - adl-s-shared sos can't get in
- :acrn-issue:`6888` - [ADL-S]Yaag reboots too slowly
- :acrn-issue:`6899` - [ADL-S][shared] Core type error when launch RTVM use atom core.
- :acrn-issue:`6907` - [ADL-S][ICX-D][shared][Regression]Multi RT launch failed with V2.7_RC3 build.
- :acrn-issue:`6908` - [ADL-S][Multi_RT]Shutdown one RT and others will hang when launch multi RT.
- :acrn-issue:`6919` - [hypercube][ADL] mem leak while power off in guest (phase-II)
- :acrn-issue:`6931` - [ADL][CPUID] RTVM CPUID 0x2 EBX value is not equal to HV cpuid 0x2 EBX
Known Issues
************
- :acrn-issue:`6631` - [KATA] Kata support is broken in v2.7
- :acrn-issue:`6978` - [TGL] openstack failed with ACRN v2.7