ACRN v1.0 (May 2019)¶
We are pleased to announce the release of ACRN version 1.0, a key Project ACRN milestone focused on automotive Software-Defined Cockpit (SDC) use cases and introducing additional architecture enhancements for more IOT usages, such as Industrial.
This v1.0 release is a production-ready reference solution for SDC usages that require multiple VMs and rich I/O mediation for device sharing including GPU and USB devices. It also includes architectural enhancements for scaling into new usages including Industrial real-time support and diverse IoT workload consolidation.
ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the Introduction to Project ACRN 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.0 GitHub release page) or use Git clone and checkout commands:
git clone https://github.com/projectacrn/acrn-hypervisor
cd acrn-hypervisor
git checkout v1.0
The project’s online technical documentation is also tagged to correspond with a specific release: generated v1.0 documents can be found at https://projectacrn.github.io/1.0/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/. ACRN v1.0 requires Clear Linux* OS version 29070 or newer. Please follow the instructions in the Getting started guide for Intel NUC.
Version 1.0 major features¶
Hardware Support¶
ACRN supports multiple x86 platforms and has been tested with Apollo Lake and Kaby Lake NUCs, and the UP Squared board. (See Supported Hardware for supported platform details.)
APL UP2 board with SBL firmware¶
ACRN supports APL UP2 board with Slim Bootloader (SBL) firmware. Slim Bootloader is a modern, flexible, light-weight, open source reference bootloader that is also fast, small, customizable, and secure. An end-to-end reference build has been verified on UP2/SBL board using ACRN hypervisor, Clear Linux OS as SOS, and Clear Linux OS as UOS. See the Using SBL on UP2 Board for step-by-step instructions.
Enable post-launched RTVM support for real-time UOS in ACRN¶
This release provides initial patches enabling a User OS (UOS) running as a virtual machine (VM) with real-time characteristics, also called a “post-launched RTVM”. We’ve published a tutorial Using PREEMPT_RT-Linux for real-time UOS. More patches for ACRN real time support will continue.
Enable cache QOS with CAT¶
Cache Allocation Technology (CAT) is available on Apollo Lake (APL) platforms,
providing cache isolation between VMs mainly for real-time performance quality
of service (QoS). The CAT for a specific VM is normally set up at boot time per
the VM configuration determined at build time. For debugging and performance
tuning, the CAT can also be enabled and configured at runtime by writing proper
values to certain MSRs using the wrmsr
command on ACRN shell.
Enable QoS based on runC container¶
ACRN supports Device-Model QoS based on runC container to control the SOS resources (CPU, Storage, MEM, NET) by modifying the runC configuration file, configuration guide will be published in next release.
S5 support for RTVM¶
ACRN supports a Real-time VM (RTVM) shutting itself down. A RTVM is a kind of VM that the SOS can’t interfere with at runtime, and as such, only the RTVM can power itself off internally. All power-off requests external to the RTVM will be rejected to avoid any interference.
OVMF support initial patches merged in ACRN¶
To support booting Windows as a Guest OS, we are using Open source Virtual Machine Firmware (OVMF). Initial patches to support OVMF have been merged in ACRN hypervisor. More patches for ACRN and patches upstreaming to OVMF work will be continuing.
Support ACPI power key mediator¶
ACRN supports ACPI power/sleep key on the APL and KBL NUC platforms, triggering S3/S5 flow, following the ACPI spec.
VT-x, VT-d¶
Based on Intel VT-x virtualization technology, ACRN emulates a virtual CPU with core partitioning. VT-d provides hardware support for isolating and restricting device accesses to only the owner of the partition managing the device. It allows assigning I/O devices to a VM, and extending the protection and isolation properties of VMs for I/O operations.
PIC/IOAPIC/MSI/MSI-X/PCI/LAPIC¶
ACRN hypervisor supports virtualized APIC-V, EPT, IOAPIC, and LAPIC functionality.
Ethernet¶
ACRN hypervisor supports virtualized Ethernet functionality. The Ethernet Mediator is executed in the Service OS and provides packet forwarding between the physical networking devices (Ethernet, Wi-Fi, etc.) and virtual devices in the Guest VMs (also called “User OS”). The HW platform physical connection can be shared with Linux, Android by Service OS guests for regular (i.e. non-AVB) traffic.
Mass Storage¶
ACRN hypervisor supports virtualized non-volatile R/W storage for the Service OS and Guest OS instances, supporting VM private storage and/or storage shared between Guest OS instances.
USB (xDCI)¶
ACRN hypervisor supports pass-through of xDCI controllers to a Guest OS from the platform.
USB Mediator (xHCI)¶
ACRN hypervisor supports an emulated USB xHCI controller for Guest OS. (See USB Virtualization for more information.)
Wi-Fi¶
ACRN hypervisor supports doing a pass-through of the Wi-Fi chip to a Guest VM (UOS), enables control of the Wi-Fi as an in-vehicle hotspot for third-party devices, provides third-party device applications access to the vehicle, and provides access of third-party devices to the TCU (if applicable) provided connectivity.
IPU (MIPI CSI-2, HDMI-in)¶
ACRN hypervisor provide an IPU mediator to share with Guest OS. Alternatively, IPU can also be configured as pass-through to Guest OS without sharing.
Bluetooth¶
ACRN hypervisor supports Bluetooth controller passthrough to a single Guest OS (for example, for In-Vehicle Infotainment or IVI use cases).
GVT-g for ACRN¶
GVT-g for ACRN (a.k.a AcrnGT) is a feature to enable GPU sharing Service OS and User OS, so both can run GPU workload simultaneously. Direct display is supported by AcrnGT, where the Service OS and User OS are each assigned to a different display. The display ports support eDP and HDMI. See GVT-g high-level design for more information.
GPU - Preemption¶
GPU Preemption is one typical automotive use case which requires the system to preempt GPU resources occupied by lower priority workloads. This is done to ensure performance of the most critical workload can be achieved. Three different schedulers for the GPU are involved: i915 UOS scheduler, Mediator GVT scheduler, and i915 SOS scheduler.
GPU - display surface sharing via Hyper DMA¶
Surface sharing is one typical automotive use case which requires that the SOS accesses an individual surface or a set of surfaces from the UOS without having to access the entire frame buffer of the UOS. It leverages hyper_DMABUF, a Linux kernel driver running on multiple VMs and expands DMA-BUFFER sharing capability to inter-VM.
Virtio standard is supported¶
Virtio framework is widely used in ACRN, allowing devices beyond network and storage to be shared to UOS in a standard way. Many mediators in ACRN follow the virtio spec. Virtio-based virtualization is called para-virtualization. Virtio is a virtualization standard for network and disk device drivers where the guest’s device driver “knows” it is running in a virtual environment, and cooperates with the hypervisor. The SOS and UOS can share physical LAN network and physical eMMC storage device. (See Virtio devices high-level design for more information.)
Device pass-through support¶
Device pass-through to UOS supported with help of VT-d.
GPIO virtualization¶
GPIO virtualization is supported as para-virtualization based on the Virtual I/O Device (VIRTIO) specification. The GPIO consumers of the Front-end are able to set or get GPIO values, directions, and configuration via one virtual GPIO controller. In the Back-end, the GPIO command line in the launch script can be modified to map native GPIO to UOS. (See Virtio devices high-level design for more information.)
New ACRN tools¶
We’ve added a collection of support tools including acrnctl
, acrntrace
, acrnlog
,
acrn-crashlog
, acrnprobe
. (See Tools for details.)
Document updates¶
We have many reference documents available, including:
- GPU Passthrough on Skylake NUC
- Device Model Parameters
- Running Automotive Grade Linux as a VM
- Using PREEMPT_RT-Linux for real-time UOS
- Frequently Asked Questions
- An introduction to Trusty and Security services on ACRN
- A Wiki article about Porting Clear Linux/ACRN to support Yocto Project/ACRN
- An ACRN brochure update (English and Chinese)
- ACRN Roadmap: look ahead in 2019
- Performance analysis of VBS-k framework
- HLD design doc for IOC virtualization
- Additional project coding guidelines
- Zephyr RTOS as Guest OS
- Enable cache QoS with CAT
- ACRN kernel parameter introduction
- FAQ update for two issues
- ACRN Debug introduction
- Converged Security Engine (CSE)
New Features Details¶
- 866 - Security Interrupt Storm Mitigation
- 887 - Security xD support
- 888 - Security: Service OS Support for Platform Security Discovery
- 892 - Power Management: VMM control
- 894 - Power Management: S5
- 914 - GPU Passthrough
- 940 - Device: IPU support
- 951 - Device CS(M)E support
- 1122 - Security Enable compiler and linker setting-flags to harden software
- 1179 - RPMB key passing
- 1180 - vFastboot release version 0.9
- 1181 - Integrate enabling Crash OS feature as default in VSBL debug Version
- 1182 - vSBL to support ACPI customization
- 1240 - [APL][IO Mediator] Enable VHOST_NET & VHOST to accelerate guest networking with virtio_net.
- 1284 - [DeviceModel]Enable NHLT table in DM for audio passthrough
- 1329 - ioeventfd and irqfd implementation to support vhost on ACRN
- 1343 - Enable -Werror for ACRN hypervisor
- 1409 - Add support for profiling [sep/socwatch tools]
- 1455 - x2apic support for acrn
- 1498 - add watchdog MSI and INTR support in DM
- 1536 - dm: add virtio_mei mediator
- 1544 - dm: rpmb: Support RPMB mode config from launch.sh
- 1568 - Implement PCI emulation functionality in HV for UOS passthrough devices and SOS MSI/MSI-X remapping
- 1626 - support x2APIC mode for ACRN guests
- 1672 - L1TF mitigation
- 1701 - MISRA C compliance Naming Convention
- 1711 - msix.c use MMIO read/write APIs to access MMIO registers
- 1812 - export kdf_sha256 interface from crypto lib
- 1815 - improve emulation of I/O port CF9
- 1824 - implement “wbinvd” emulation
- 1832 - Add OVMF booting support for booting as an alternative to vSBL.
- 1882 - Extend the SOS CMA range from 64M to 128M
- 1915 - Enable Audio Mediator
- 1953 - Add cmdline option to disable/enable vhm module for guest
- 1995 - Support SBL firmware as boot loader on Apollo Lake UP2.
- 2011 - support DISCARD command for virtio-blk
- 2020 - DM: Enable QoS in ACRN, based on runC container
- 2056 - Enable SMAP in hypervisor
- 2170 - For UEFI based hardware platforms, one Clear Linux OS E2E build binary can be used for all platform’s installation
- 2176 - Fix RTC issues in ACPI
- 2319 - Add vHPET support
- 2351 - Enable post-launched hybrid mode
- 2426 - Enable Interrupt Remapping feature
- 2431 - VPCI code cleanup
- 2448 - Adding support for socket as a backend for Virtio-Console
- 2462 - Enable cache QOS with CAT
- 2512 - GPIO virtualization
- 2708 - one binary for SBL and UEFI
- 2713 - Enable ACRN to boot Zephyr
- 2792 - Pass ACRN E820 map to OVMF
- 2865 - support S5 of Normal VM with lapic_pt
Fixed Issues Details¶
- 424 - Clear Linux OS desktop GUI of SOS fails to launch
- 663 - Black screen displayed after booting SOS/UOS
- 676 - Hypervisor and DM version numbers incorrect
- 677 - SSD Disk ID is not consistent between SOS/UOS
- 706 - Invisible mouse cursor in UOS
- 707 - Issues found with instructions for using Ubuntu as SOS
- 721 - DM for IPU mediation
- 843 - ACRN boot failure
- 971 - acrncrashlog functions need to be enhance
- 1003 - CPU: cpu info is not correct
- 1071 - hypervisor cannot boot on skylake i5-6500
- 1101 - missing acrn_mngr.h
- 1125 - VPCI coding style and bugs fixes found in integration testing for partition mode
- 1126 - VPCI coding style and bugs fixes for partition mode
- 1209 - specific PCI device failed to passthrough to UOS
- 1268 - GPU hangs when running GfxBench Car Chase in SOS and UOS.
- 1270 - SOS and UOS play video but don’t display video animation output on monitor.
- 1319 - SD card pass-through: UOS can’t see SD card after UOS reboot.
- 1339 - SOS failed to boot with SSD+NVMe boot devices on KBL NUC
- 1432 - SOS failed boot
- 1774 - UOS cannot stop by command: acrnctl stop [vm name] in SOS
- 1775 - [APL UP2]ACRN debugging tool` - acrntrace cannot be used in SOS
- 1776 - [APL UP2]ACRN debugging tool` - acrnlog cannot be used in SOS
- 1777 - After UOS plays video for several minutes, the UOS image will be stagnant
- 1778 - MSDK: 1080p H264 video decode fails in UOS
- 1779 - gfxbench cannot run in SOS&UOS
- 1780 - Some video formats cannot be played in SOS.
- 1781 - Can not recognize the SD card in the SOS
- 1782 - UOS failed to get ip with the pass-throughed network card
- 1792 - System hang and reboot after run “LaaG Forced GPU Reset: subtest error-state-capture-vebox” in UOS
- 1794 - After SOS boots up, there’s no output on SOS screen
- 1795 - SOS fails to get IP address
- 1796 - APL NUC fails to reboot sometimes
- 1825 - Need to clear memory region used by UOS before it exit
- 1837 - ‘acrnctl list’ shows incomplete VM names
- 1986 - UOS will hang once watchdog reset triggered
- 1987 - UOS will have same MAC address after launching UOS with virio-net
- 1996 - [APLNUC/KBLNUC/APLUP2]There is an error log when using “acrnd&” to boot UOS
- 1999 - [APLNUC][KBLNUC][APLUP2]UOS reset fails with acrnctl reset command
- 2000 - After launching UOS with Audio pass-through, Device (I2C0) doesn’t exist in UOS DSDT.dsl
- 2030 - UP2 fails to boot with uart=disabled for hypervisor
- 2031 - UP2 serial port has no output
- 2043 - Fix incorrect vm_id captured when sampling PMU data
- 2052 - tpm_emulator code reshuffle
- 2086 - enable/disable snoop control bit per vm
- 2133 - The system will hang up and print some error info after boot UOS
- 2157 - Profiling: fix the profiling tool crash by page faults
- 2168 - Modify Makefile to save debug files
- 2200 - Won’t build using ubuntu 16.04 LTS and binutils 2.26.1
- 2237 - Don’t export two dma_bufs for the same importer in sos kernel
- 2257 - Profiling code clean up
- 2276 - OVMF failed to launch UOS on UP2
- 2277 - [APLNUC]Launch UOS with 5G memory will hang 2 minutes
- 2298 - Hard codes path to iasl
- 2298 - Hardcodes path to iasl
- 2316 - Tools don’t respect CFLAGS/LDFLAGS from environment
- 2338 - [UP2]Lost 2G memory in SOS when using SBL as bootloader on UP2
- 2341 - vm exit trace position is not correct
- 2349 - SOS failed boot up with RELOC config enabled.
- 2355 - Switch the default up-notification vector from 0xF7 to 0xF3
- 2356 - fail to start UOS on the renamed device name of VHM module
- 2370 - Doesn’t use parallel make in subbuilds
- 2371 - kconfig oldconfig doesn’t work correctly
- 2389 - Need to add the dependency of $(LIB_FLAGS)
- 2410 - Launch UOS will occur page fault error when use the hypervisor build on Ubuntu
- 2422 - [PATCH] profiling: fix the system freeze issue when running profiling tool
- 2427 - Remove redundant apicv code from legacy vInterrupt inject path
- 2453 - Fix vHPET memory leak on device reset
- 2455 - host call stack disappear when dumping
- 2474 - Need to capture dropped sample info while profiling
- 2490 - systemd virtualization detection doesn’t work
- 2516 - [UP2][SBL] System hang with DP monitor connected
- 2522 - Start ias in SOS, no display
- 2523 - UOS monitor does not display when using ias
- 2524 - [UP2][SBL] Launching UOS hang while weston is running in SOS
- 2528 - [APLUP2] SBL (built by SBL latest code) failed to boot ACRN hypervisor
- 2543 - vLAPIC: DCR not properly initialized
- 2548 - [APLNUC/KBLNUC][GVT][SOS/LAAG] Weston fails to play video in SOS and UOS
- 2572 - Startup SOS Fails
- 2588 - Uninitialized Variable is used in acrn_kernel/drivers/acrn/acrn_trace.c and acrn_hvlog.c
- 2597 - Return PIPEDSL from HW register instead of cached memory for Guest VGPU
- 2606 - HV crash during running VMM related Hypercall fuzzing test.
- 2624 - Loading PCI devices with table_count > CONFIG_MAX_MSIX_TABLE_NUM leads to writing outside of struct.
- 2643 - Ethernet pass-through, network card can’t get ip in uos
- 2674 - VGPU needs the lock when updating ppggt/ggtt to avoid the race condition
- 2695 - UOS powers off or suspend while pressing power key, UOS has no response
- 2704 - Possible memory leak issues
- 2760 - [UP2]{SBL] make APL-UP2 SBL acrn-hypervisor sos image failed.
- 2772 - Enable PCI-E realtek MMC card for UOS
- 2780 - [APL_NUC KBL_NUC EFI_UP2]Update clear Linux missing acrn.efi file
- 2792 - Pass ACRN E820 map to OVMF
- 2829 - The ACRN hypervisor shell interactive help is rather terse
- 2830 - Warning when building the hypervisor
- 2851 - [APL/KBL/UP2][HV][LaaG]Uos cannot boot when acrnctl add Long_VMName of more than 26
- 2870 - Use ‘sha512sum’ for validating all virtual bootloaders
Known Issues¶
- 1773 - USB Mediator: Can’t find all devices when multiple USB devices connected [Reproduce rate:60%]
After booting UOS with multiple USB devices plugged in, there’s a 60% chance that one or more devices are not discovered.
Impact: Cannot use multiple USB devices at same time.
Workaround: Unplug and plug-in the unrecognized device after booting.
- 1991 - Input not accepted in UART Console for corner case
Input is useless in UART Console for a corner case, demonstrated with these steps:
- Boot to SOS
- ssh into the SOS.
- use
./launch_UOS.sh
to boot UOS. - On the host, use
minicom -s dev/ttyUSB0
. - Use
sos_console 0
to launch SOS.
Impact: Fails to use UART for input.
Workaround: Enter other keys before typing Enter.
- 2267 - [APLUP2][LaaG] LaaG can’t detect 4k monitor
After launching UOS on APL UP2 , 4k monitor cannot be detected.
Impact: UOS can’t display on a 4k monitor.
Workaround: Use a monitor with less than 4k resolution.
- 2278 - [KBLNUC] Cx/Px is not supported on KBLNUC
C states and P states are not supported on KBL NUC.
Impact: Power Management state-related operations in SOS/UOS on KBL NUC can’t be used.
Workaround: None
- 2279 - [APLNUC] After exiting UOS, SOS can’t use USB keyboard and mouse
After exiting UOS with mediator Usb_KeyBoard and Mouse, SOS cannot use the USB keyboard and mouse.
These steps reproduce the issue:
Insert USB keyboard and mouse in standard A port (USB3.0 port)
Boot UOS by sharing the USB keyboard and mouse in cmd line:
-s n,xhci,1-1:1-2:1-3:1-4:2-1:2-2:2-3:2-4 \
UOS access USB keyboard and mouse.
Exit UOS.
SOS tries to access USB keyboard and mouse, and fails.
Impact: SOS cannot use USB keyboard and mouse in such case.
Workaround: Unplug and plug-in the USB keyboard and mouse after exiting UOS.
- 2527 - System will crash after a few minutes running stress test
crashme
tool in SOS/UOS. System stress test may cause a system crash.
Impact: System may crash in some stress situations.
Workaround: None
- 2526 - Hypervisor crash when booting UOS with acrnlog running with mem loglevel=6
If we use
loglevel 3 6
to change the mem loglevel to 6, we may hit a page fault in HV.Impact: Hypervisor may crash in some situation.
Workaround: None
- 2753 - UOS cannot resume after suspend by pressing power key
UOS cannot resume after suspend by pressing power key
Impact: UOS may failed to resume after suspend by pressing the power key.
Workaround: None
- 2974 - Launching Zephyr RTOS as a real-time UOS takes too long
Launching Zephyr RTOS as a real-time UOS takes too long
These steps reproduce the issue:
- Build Zephyr image by follow the guide.
- Copy the “Zephyr.img”, “OVMF.fd” and “launch_zephyr.sh” to ISD.
- execute the launch_zephyr.sh script.
Impact: Launching Zephyr RTOS as a real-time UOS takes too long
Workaround: None
Change Log¶
These commits have been added to the acrn-hypervisor repo since the v0.8 release in Apr 2019 (click on the CommitID link to see details):
- bed57dd2 - HV: vuart: enable connect mode for VM
- 235d8861 - HV: vuart: enable vuart console for VM
- 3c92d7bb - HV: vuart: refine vuart config
- 1234f4f7 - HV: shell: rename sos_console to vm_console
- 2362e585 - HV: correct usage of GUEST_FLAG_IO_COMPLETION_POLLING
- 578592b5 - vlapic: refine IPI broadcast to support x2APIC mode
- 581c0a23 - HV: move AP_MASK to cpu.h
- 7b6fe145 - HV: Remove unnecssary indent in pm.c
- a85d11ca - HV: Add prefix ‘p’ before ‘cpu’ to physical cpu related functions
- 25741b62 - HV: fix the issue of ACRN_REQUEST_EXCP flag is not cleared.
- 28d50f1b - hv: vlapic: add apic register offset check API
- 70dd2544 - hv: vmsr: refine x2apic MSR bitmap setting
- 0c347e60 - hv: vlapic: wrap APICv check pending delivery interrupt
- 037fffc2 - hv: vlapic: wrap APICv inject interrupt API
- 1db8123c - hv: virq: refine pending event inject coding style
- fde2c07c - hv: vlapic: minor fix about APICv inject interrupt
- 846b5cf6 - hv: vlapic: wrap APICv accept interrupt API
- 7852719a - ACRN: tool: Fix buffer overflow risk in acrnctl
- 763d2183 - DM: virtio-gpio: fix array overflow issue
- f3f870b7 - dm: uart: use mevent_add only when it is a tty
- 30609565 - dm: fix possible null pointer dereference in pci_gvt_deinit
- f991d179 - hv: fix possible buffer overflow in vlapic.c
- 2c13ac74 - hv: vmcs: minor fix about APICv feature setting
- 4fc20097 - hv: instr_emul: check the bit 0(w bit) of opcode when necessary
- 7ccb44af - HV: Remove dead loop in stop_cpus
- 91c14081 - HV: Reset physical core of lapic_pt vm when shutdown
- e52917f7 - HV: Reshuffle start_cpus and start_cpu
- cfe8637c - HV: Kconfig: Remove CPU_UP_TIMEOUT
- 565f3c72 - HV: Clear DM set guest_flags when shutdown vm
- a3207b2b - hv: allocate vpid based on vm_id and vcpu_id mapping
- 9673f3da - HV: validate target vm in hypercall
- 82181f4c - HV: remove ifndef on vpci_set_ptdev_intr_info
- aef5a4fd - hv: free ptdev device IRQs when shutting down VM
- 82fa9946 - dm: safely access MMIO hint in MMIO emulation
- 4c38ff00 - dm: completely remove enable_bar()/disable_bar() functions
- a718fbe8 - dm: pci: change return type to bool
- 887d4168 - hv: check vm state before creating a VM
- fa475540 - hv: seed: fix potential NULL pointer dereferencing
- 334c5ae7 - hv: ept: correct EPT mapping gpa check
- aee9f3c6 - hv: reset per cpu sbuf pointers during vcpu reset
- 56acaacc - hv: vlapic: add TPR below threshold implement
- a4c9cb99 - hv:change register_mmio_emulation_handler to void
- f1aa35a2 - doc: add security advisory section in ACRN introduction website
- 3e19d62b - doc: update coding guidelines
- bba43290 - Setting up KBL serial console on the GSG
- 0ae5ef3a - dm: add IOCTL command to get platform information
- 5a51d0bf - hv: Add host CR2 to exception dump
- b1e68453 - hv: enable vMCE from guest CPUID
- 35ef11e6 - HV: enable lapic passthru for logical partition VM1
- 824caf8c - hv: Remove need for init_fallback_iommu_domain and fallback_iommu_domain
- 948d58fb - acrn-dm: enable debug option for acrn-dm
- 2e5a6e28 - watchdog: map the watchdog reset to warm reset
- 2f4e3207 - dm: virtio-input: adapt Windows virtio-input driver
- 81158579 - dm: pci: unregister bars which are still enabled in pci_emul_free_bars
- fd389cb1 - dm: disable ACPI PM timer
- 98dfc6f2 - dm: virtio-block: extend the max iov number of virtio block
- fa7f6c2c - dm: fix deadlock between emulate_mem and un/register_mem
- d648df76 - dm: register_bar/unregister_bar when bar enable/disable
- b838e9b7 - dm: pm: mask the higher bits of parameter of smi_cmd handler
- 15966f94 - dm: uart: add uart over tcp support
- 48be6f1f - HV:config:Add config to enable logic partition on KBL NUC i7
- c4c788ca - HV:BSP:Update firmware detection and operations selecting logic
- a13c19b4 - HV:EFI-STUB:UEFI loader name supporting
- 048d72fd - tools: acrn-crashlog: fix some possible memory leak
- 46480f6e - hv: add new hypercall to fetch platform configurations
- e216f306 - tools: acrn-mngr: add delay to allow user to prevent VM autostart for debug
- 8c2ab95f - tools: acrnd: fix wait_for_stop() return wrong vm state
- 2b900a43 - tools: acrn-manager: fix mngr_send_msg() return 0 when read ack fail
- 6ac9e15a - dm: fix possible memory leak in ‘load_elf32()’
- e50c0c88 - tools: acrn-manager: fix the possibility of creating directory at will by no permission process
- 16a2af57 - hv: Build mptable for guest if VM type is Pre-Launched
- 869de397 - hv: rename ‘assign_iommu_device’ and ‘unassign_iommu_device’
- ccecd550 - HV: show VM UUID in shell
- 445999af - HV: make vm id statically by uuid
- cb10dc7e - HV: return bool in sanitize_vm_config
- 60712343 - HV: use term of UUID
- 4557033a - hv: vlapic: minor fix about vlapic write
- fa8fa37c - hv: vlapic: remove vlapic_rdmsr/wrmsr
- ad1bfd95 - hv: move pci.h to include/hw
- 69627ad7 - hv: rename io_emul.c to vmx_io.c
- 17faa897 - hv:move common/io_req.c/h to dm folder
- 2b79c6df - hv:move some common APIs to io_req.c
- 0a1c016d - hv: move ‘emul_pio[]’ from strcut vm_arch to acrn_vm
- 35c8437b - hv:move ‘fire_vhm_interrupt’ to io_emul.c
- e7605fad - doc: fix misspellings
- c42f5c5c - Add description of enabling serial console for KBL NUC.
- 8ee00c1e - Update doc/getting-started/gsg_quick_setup.sh
- 1312fc6f - Update doc/getting-started/gsg_quick_setup.sh
- 64f74b76 - Update doc/getting-started/gsg_quick_setup.sh
- c3b9b4c1 - Update doc/getting-started/gsg_quick_setup.sh
- f964ee92 - Update doc/getting-started/gsg_quick_setup.sh
- 595744a3 - Update doc/getting-started/gsg_quick_setup.sh
- 07baa83c - Update doc/getting-started/gsg_quick_setup.sh
- bf51fb03 - Update doc/getting-started/gsg_quick_setup.sh
- b1adc035 - Update doc/getting-started/gsg_quick_setup.sh
- 65ed6c61 - Update doc/getting-started/gsg_quick_setup.sh
- 875fc6e8 - Update doc/getting-started/gsg_quick_setup.sh
- a6df7440 - Update doc/getting-started/gsg_quick_setup.sh
- 7ff61fb8 - Update doc/getting-started/gsg_quick_setup.sh
- 76b34ee7 - Update doc/getting-started/gsg_quick_setup.sh
- a7f7b854 - Add gsg quick setup script.
- 122685b7 - DM USB: xHCI: refine the failure process logic of control transfer
- 69152647 - hv: Use virtual APIC IDs for Pre-launched VMs
- 8796ded2 - DM USB: fix SWWDT_UNHANDLED issue
- 8bd7b9be - DM USB: xHCI: fix an logic error during USB reset
- b570755f - Domain id and name added to launch_uos.sh
- 6eaadc34 - dm: passthru: support SD hotplug
- 784bfa28 - DM USB: xHCI: fix an issue during BULK transfer
- e30cd452 - doc: tweak home page redirect to latest
- 63743d8b - DM USB: xHCI: WA for an isochronous crash issue
- f0e7ce6a - version: 1.0-unstable