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 What Is 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.
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.
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”. 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 the Tools section under User Guides for details.)
Document Updates¶
We have many reference documents available, including:
Running Automotive Grade Linux as a VM
Using PREEMPT_RT-Linux for real-time UOS
A Wiki article about Porting Clear Linux/ACRN to support Yocto Project/ACRN
ACRN Roadmap: look ahead in 2019
Performance analysis of VBS-k framework
HLD design doc for IOC virtualization
Additional project coding guidelines
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