.. _release_notes_1.6.1: ACRN v1.6.1 (May 2020) ###################### We are pleased to announce the release of ACRN version 1.6.1. 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. Check out :ref:`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 either download this source code as a zip or tar.gz file (see the `ACRN v1.6.1 GitHub release page `_) or use Git clone and checkout commands:: git clone https://github.com/projectacrn/acrn-hypervisor cd acrn-hypervisor git checkout v1.6.1 The project's online technical documentation is also tagged to correspond with a specific release: generated v1.6.1 documents can be found at https://projectacrn.github.io/1.6.1/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/. ACRN v1.6.1 requires Clear Linux OS version 33050. Version 1.6.1 Major Features **************************** What's New in v1.6.1 ==================== * ACRN ensures libvirt supports VM orchestration based on OpenStack - libvirt is an open-source API, daemon, and management tool as a layer to decouple orchestrators and hypervisors. By adding a "ACRN driver", libvirt can support ACRN. Please refer to ACRN-libvirt. - Supports the libvirt-based orchestrator to configure a guest domain's CPU configuration during VM creation. - Supports dynamic configuration for vCPU affinity via acrn-dm - ACRN configuration tool updated based on VM orchestration support. * Enable CPU sharing and GVT-d Graphics virtualization by default. * Supported platforms with multiple IO-APICs * Supported VT-d Posted Interrupts Document Updates ================ Many new and updated `reference documents `_ are available, including: * :ref:`asa` * :ref:`setup_openstack_libvirt` * :ref:`rt_perf_tips_rtvm` * :ref:`acrn_configuration_tool` * :ref:`hv-device-passthrough` * :ref:`cpu_sharing` * :ref:`getting-started-building` * Run Clear Linux as the Service VM * :ref:`using_windows_as_uos` We recommend that all developers upgrade to ACRN release v1.6.1. Fixed Issues Details ******************** - :acrn-issue:`1773` - [APLNUC][IO][LaaG]USB Mediator USB3.0 and USB2.0 flash disk boot up UOS, quickly hot plug USB and Can not recognize all the devices - :acrn-issue:`3291` - Update documentation and helper scripts to use newer `swupd` commands. - :acrn-issue:`3697` - Secure timer check failed in trusty which would cause unlock failure after resume from S3 - :acrn-issue:`3715` - Add support for multiple RDT resource allocation and fix L3 CAT config overwrite by L2 - :acrn-issue:`3758` - Documentation: add a tutorial (or information) on how to change the Linux kernel parameters for User VMs - :acrn-issue:`3770` - Warning when building the ACRN hypervisor `SDC (defined at arch/x86/Kconfig:7) set more than once` - :acrn-issue:`3773` - [Community][Internal] suspicious logic in vhost.c. - :acrn-issue:`3918` - Change active_hp_work position for code cleaning and add a module parameter to disable hp work. - :acrn-issue:`3939` - [Community][Internal]zero-copy non-functional with vhost. - :acrn-issue:`3946` - [Community][External]Cannot boot VxWorks as UOS on KabyLake. - :acrn-issue:`4017` - hv: rename vuart operations - :acrn-issue:`4072` - [Community-dev][External]hv: add printf "not support the value of vuart index parameter" in function vuart_register_io_handler. - :acrn-issue:`4191` - [Community-dev][External]acrnboot: the end address of _DYNAME region is not calculated correct - :acrn-issue:`4200` - In APCIv advanced mode, a target vCPU (in not-root mode) may get wrong TMR or EOI exit bitmap when another vPCU try to send an interrupt to it if this interrupt trigger mode has changed. - :acrn-issue:`4250` - [Community-dev][external]acrnboot: parse hv cmdline incorrectly when containing any trailing white-spaces - :acrn-issue:`4283` - [Community-dev][External]devicemodel: refactor CMD_OPT_LAPIC_PT case branch - :acrn-issue:`4322` - [ACRN_V1.5][Document] Build cmd error in "Build the ACRN User VM PREEMPT_RT Kernel in Docker" document - :acrn-issue:`4569` - [acrn-configuration-tool]find 64-bit mmio to generate HI_MMIO_START/HI_MMIO_END - :acrn-issue:`4620` - [WHL][Function][WaaG] WaaG will fail to reboot with 2 cores. - :acrn-issue:`4625` - [WHL][ConfigurationTool][WAAG] Need to support passthrough GVT to WaaG by default - :acrn-issue:`4634` - [acrn-configuration-tool]move new_board_config to board_def config and support to parse it - :acrn-issue:`4636` - compile crashlog error with latest clearlinux - :acrn-issue:`4641` - [WHL][acrn-configuration-tool]error "board/scenario xml not match" for created scenario setting - :acrn-issue:`4664` - Wake up vCPU for interrupts from vPIC - :acrn-issue:`4666` - Fix offline tool to generate info in pci_dev file for logical partition scenario - :acrn-issue:`4688` - [WHL][acrn-configuration-tool] RELEASE=n does not take effect while using xml to make hypervisor - :acrn-issue:`4719` - [WHL][Function][LaaG]Garbage display when shutdown LaaG with CPU sharing GVT-D - :acrn-issue:`4752` - [WHL][acrn-configuration-tool] console loglevel is not changed if building hypervisor by xml - :acrn-issue:`4753` - [KBLNUCi7][libvirt][HV] in acrn.efi which enable 4vcpu for laag, with libvirtd.service enabled, SOS kernel panic and reboot Known Issues ************ - :acrn-issue:`4046` - [WHL][Function][WaaG] Error info popoup when run 3DMARK11 on Waag - :acrn-issue:`4047` - [WHL][Function][WaaG] passthru usb, Windows will hang when reboot it - :acrn-issue:`4313` - [WHL][VxWorks] Failed to ping when VxWorks passthru network - :acrn-issue:`4557` - [WHL][Performance][WaaG] Failed to run 3D directX9 during Passmark9.0 performance test with 7212 gfx driver - :acrn-issue:`4558` - [WHL][Performance][WaaG] WaaG reboot automatically during run 3D directX12 with 7212 gfx driver Change Log ********** These commits have been added to the acrn-hypervisor repo since the v1.6 release in Mar 2020 (click the CommitID link to see details): .. comment This list is obtained from this git command (update the date to pick up changes since the last release): git log --pretty=format:'- :acrn-commit:`%h` - %s' --after="2020-04-02" - :acrn-commit:`5632dead` - doc: update release_1.6 docs with master docs - :acrn-commit:`ac5facd2` - doc: update CPU affinity related descriptions - :acrn-commit:`14366380` - acrn-config: fix log macros for board defconfig - :acrn-commit:`627dd1c8` - acrn-config: add clearlinux UOS for launch config xmls - :acrn-commit:`67728c67` - ACRN/DM: Initialize the igd_lpc bridge to ISA_BRIDGE to make Linux guest happy - :acrn-commit:`71479793` - acrn-config: assign PCPU0~3 to post vm by default - :acrn-commit:`c390ab01` - hv: don't overwrite the statically configured vm_configs[] in hypercall - :acrn-commit:`cbaf3e78` - acrn-dm: fix corner cases in acrn_parse_cpu_affinity() - :acrn-commit:`d661d444` - acrn-config: refine slot assignment for launch config - :acrn-commit:`eb47f8f5` - acrn-config: refinement for CPU affinity check - :acrn-commit:`e8d00c2c` - local_gpa2hpa: INVALID_GPA also means failure of address conversion - :acrn-commit:`440385d5` - ACRN/DM: Reset the passthrough device to fix garbage display issue - :acrn-commit:`77b7721f` - DM USB: xHCI: Drop commands if the slot is disabled - :acrn-commit:`16e33b30` - acrn-config: add vm type sanity check - :acrn-commit:`11959829` - acrn-config: refinement for pci_devs in scenario config xmls - :acrn-commit:`fb5c35d1` - acrn-config: parse cpu_affinity from launch config xmls - :acrn-commit:`8cbc6199` - acrn-config: add cpu_affinity for launch config xmls - :acrn-commit:`b9865fdf` - acrn-dm: change command option name from "pcpu_list" to "cpu_affinity" - :acrn-commit:`a6ea34bc` - hv: Enable accessed bit in EPT paging - :acrn-commit:`c72d1936` - acrn-config: update cpu_affinity in scenrio configuration xml files - :acrn-commit:`cce7389d` - acrn-config: change names for vcpu_affinity[] related items - :acrn-commit:`45cc2c5e` - acrn-dm: implement cpu_affinity command line argument - :acrn-commit:`0805eb9a` - hv: dynamically configure CPU affinity through hypercall - :acrn-commit:`46753944` - hv: replace vcpu_affinity array with cpu_affinity_bitmap - :acrn-commit:`40ae32f1` - hv: provide vm_config information in get_platform_info hypercall - :acrn-commit:`42c43993` - hv: some coding refinement in hypercall.c - :acrn-commit:`c9fa9c73` - hv: move error message logging into gpa copy APIs - :acrn-commit:`b9a7cf3b` - acrn-config: assign VM IDs for dynamic scenario and launch setting - :acrn-commit:`bcfbc13f` - acrn-config: add attributes for scenario and launch setting - :acrn-commit:`3799b95b` - acrn-config: add max VM count check when generating scenario XML file - :acrn-commit:`1d4b7ab8` - acrn-config: refine template xmls - :acrn-commit:`ea0c62da` - acrn-config: add 2 UUIDs for post-launched Standard VM - :acrn-commit:`093b1c48` - acrn-config: add SOS_IDLE for SOS cmdline - :acrn-commit:`88bed66e` - HV: refine usage of idle=halt in sos cmdline - :acrn-commit:`510a0931` - Makefile: do not override RELEASE when build with XML - :acrn-commit:`7410f9d0` - hv: vtd: fix potential dead loop if qi request timeout - :acrn-commit:`bf917ae2` - acrn-config: Generate info in pci_dev file for Pre-Launched VMs - :acrn-commit:`b99de16f` - hv: Wake up vCPU for interrupts from vPIC - :acrn-commit:`75b59165` - acrn-config: remove sdc2 config xmls - :acrn-commit:`08bcf4be` - acrn-config: refine the HV_RAM_SIZE/HV_RAM_START for board_defconfig - :acrn-commit:`d7299604` - acrn-config: set HV_RAM_SIZE/HV_RAM_START to blank from config xmls - :acrn-commit:`5e53ac03` - acrn-config: refine template xmls - :acrn-commit:`718e7567` - acrn-config: modify epc_section to configurable="0" - :acrn-commit:`49b3939e` - acrn-config: fix syntax for new logical partition xmls - :acrn-commit:`fc3b4ed6` - acrn-config: refine GPU vpid format for launch script - :acrn-commit:`d17076b4` - HV: remove sdc2 scenario support - :acrn-commit:`7f1c4422` - HV: support up to 7 post launched VMs for industry scenario - :acrn-commit:`9a23bedd` - crashlog: fix build issue under latest clearlinux - :acrn-commit:`d742be2c` - HV: Kconfig: enable CPU sharing by default - :acrn-commit:`4c7ffeea` - acrn-config: add template xmls for dynamic config - :acrn-commit:`0445c5f8` - acrn-config: dynamic configuration for scenario setting and launch setting - :acrn-commit:`a12b746a` - acrn-config: remove hard code UUID from config xmls - :acrn-commit:`86e467f6` - acrn-config: Use vm_type to instead load_type/uuid/severity in config - :acrn-commit:`85630258` - acrn-config: support to parse pci_devs for pre launched vm - :acrn-commit:`e0c75652` - acrn-config: add pass-thru PCI device for pre launched vm xmls - :acrn-commit:`19032398` - acrn-config: remove 'scenario' dependency from acrn config tool - :acrn-commit:`cc5c6421` - Makefile: disable KCONFIG_FILE when build from xml - :acrn-commit:`7d173917` - Kconfig: remove MAX_KATA_VM_NUM - :acrn-commit:`4388099c` - Kconfig: change scenario variable type to string - :acrn-commit:`28bffa77` - HV: merge sos_pci_dev config to sos macro - :acrn-commit:`d9c302ba` - HV: init vm uuid and severity in macro - :acrn-commit:`b08dbd41` - HV: fix wrong gpa start of hpa2 in ve820.c - :acrn-commit:`60178a9a` - hv: maintain a per-pCPU array of vCPUs and handle posted interrupt IRQs - :acrn-commit:`a07c3da3` - hv: define posted interrupt IRQs/vectors - :acrn-commit:`f5f307e9` - hv: enable VT-d PI for ptdev if intr_src->pid_addr is non-zero - :acrn-commit:`c9dd310e` - hv: check if the IRQ is intended for a single destination vCPU - :acrn-commit:`198b2576` - hv: add function to check if using posted interrupt is possible for vm - :acrn-commit:`1bc76991` - hv: extend union dmar_ir_entry to support VT-d posted interrupts - :acrn-commit:`8be6c878` - hv: pass pointer to functions - :acrn-commit:`cc5bc34a` - hv: extend struct pi_desc to support VT-d posted interrupts - :acrn-commit:`b7a126cd` - hv: move pi_desc related code from vlapic.h/vlapic.c to vmx.h/vmx.c/vcpu.h - :acrn-commit:`8e2efd6e` - hv: rename vlapic_pir_desc to pi_desc - :acrn-commit:`233577e4` - acrn-config: enable hv config for scenarion setting UI - :acrn-commit:`c5cd7cae` - acrn-config: add hv configurations to scenario config xmls - :acrn-commit:`4a98f533` - acrn-config: add support to parse board defconfig from configurations - :acrn-commit:`d0beb7e9` - acrn-config: support passthroug GVT for WaaG by default - :acrn-commit:`1bf3163d` - hv: Hypervisor access to PCI devices with 64-bit MMIO BARs - :acrn-commit:`910d93ba` - hv: Add HI_MMIO_START and HI_MMIO_END macros to board files - :acrn-commit:`5e8fd758` - acrn-config: round HI_MMIO_START/HI_MMIO_END to the closest 1G - :acrn-commit:`b9229348` - hv: fix for waag 2 core reboot issue - :acrn-commit:`45b65b34` - hv: add lock for ept add/modify/del - :acrn-commit:`bbdf0199` - hv: vpci: refine comment for pci_vdev_update_vbar_base - :acrn-commit:`dad7fd80` - hv: Fix issues with the patch to reserve EPT 4K pages after boot - :acrn-commit:`4bdcd33f` - hv: Reserve space for VMs' EPT 4k pages after boot - :acrn-commit:`963b8cb9` - hv: Server platforms can have more than 8 IO-APICs - :acrn-commit:`4626c915` - hv: vioapic init for SOS VM on platforms with multiple IO-APICs - :acrn-commit:`f3cf9365` - hv: Handle holes in GSI i.e. Global System Interrupt for multiple IO-APICs - :acrn-commit:`ec869214` - hv: Introduce Global System Interrupt (GSI) into INTx Remapping - :acrn-commit:`b0997e76` - hv: Pass address of vioapic struct to register_mmio_emulation_handler - :acrn-commit:`9e21c5bd` - hv: Move error checking for hypercall parameters out of assign module - :acrn-commit:`37eb369f` - hv: Use ptirq_lookup_entry_by_sid to lookup virtual source id in IOAPIC irq entries - :acrn-commit:`0c9628f6` - acrn-config: remove the same parameters and functions from launch_cfg_lib - :acrn-commit:`7d827c4d` - acrn-config: remove the same parameters and functions from scenario_cfg_lib - :acrn-commit:`8e3ede1a` - acrn-config: remove the same parameters and functions from board_cfg_lib - :acrn-commit:`df4a395c` - acrn-config: expends parameters and functions to common lib - :acrn-commit:`6bbc5711` - acrn-config: Fixes for BAR remapping logic - :acrn-commit:`889c0fa4` - acrn-config: update IOMEM_INFO of tgl-rvp board - :acrn-commit:`bce6a3c4` - Makefile: support make with external configurations - :acrn-commit:`3774244d` - Makefile: parameters check for board and scenario - :acrn-commit:`82e93b77` - Makefile: make hypervisor from specified Kconfig - :acrn-commit:`f8abeb09` - hv: config: enable RDT for apl-up2 by default - :acrn-commit:`14e7f7a8` - acrn-config: enable CAT for industry scenario on APL-UP2 by default - :acrn-commit:`02fea0f2` - acrn-config: support generation of per vcpu clos configuraton - :acrn-commit:`76943866` - HV: CAT: support cache allocation for each vcpu - :acrn-commit:`d18fd5f8` - acrn-config: find 64-bit mmio for HI_MMIO_START/HI_MMIO_END - :acrn-commit:`d9d50461` - acrn-config: update IOMEM_INFO of native board config xml - :acrn-commit:`e7726944` - acrn-config: dump iomem info from /proc/iomem - :acrn-commit:`8e7b80fc` - acrn-config: Limit check on Pre-Launched VM RAM size - :acrn-commit:`aa6bb9e2` - acrn-config: support '--out' option for board/scenario/launch config - :acrn-commit:`05e3ea5f` - acrn-config: correct passthru 'audio' device for nuc6cayh - :acrn-commit:`c980b360` - acrn-config: minor fix for generating CONFIG_PCI_BDF - :acrn-commit:`6f8a7ba5` - acrn-config: add some configs in board defconfig - :acrn-commit:`2eb8e0f7` - acrn-config: remove git check and avoid to generate patch for config files - :acrn-commit:`48fdeb25` - acrn-config: one button to generate config file - :acrn-commit:`ab879407` - acrn-config: create temporary scenario file folder if it doesn't exist