ACRN v1.1 (Jun 2019)¶
We are pleased to announce the release of ACRN version 1.1.
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.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.1
The project’s online technical documentation is also tagged to correspond with a specific release: generated v1.1 documents can be found at https://projectacrn.github.io/1.1/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/. ACRN v1.1 requires Clear Linux* OS version 29970.
Version 1.1 Major Features¶
Hybrid Mode Introduced¶
In hybrid mode, a Zephyr OS is launched by the hypervisor even before the Service OS is launched (pre-launched), with dedicated resources to achieve highest level of isolation. This is designed to meet the needs of a FuSa certifiable safety OS.
Support for New Guest Operating Systems¶
The Zephyr RTOS can be a pre-launched Safety OS in hybrid mode. It can also be a post-launched (launched by Service OS, not the hypervisor) as a guest OS.
VxWorks as a post-launched RTOS for industrial usages.
Windows as a post-launched OS
Document Updates¶
We have many reference documents available, including:
Update: Using PREEMPT_RT-Linux for real-time UOS
How to enable OVS in ACRN
Enable QoS based on runC container
New Features Details¶
2538 - Add new hypercall to fetch platform configurations.
2587 - ACRN HV: allow pre-launched VMs have different memory size and use > 2GB memory
2621 - refine code in vlapic_trigger_lvt.
2635 - OVS/vlan 802.1Q support for ACRN ISD
2902 - Completely remove enable_bar()/disable_bar() functions
2962 - Enabling WaaG on ACRN
3069 - Virtualization will support VxWorks7 64-bit as a GuestVM
3099 - WaaG: Add WaaG support in launch_uos.sh
3116 - Get max vcpu per vm from HV instead of hardcode
3158 - Power Management: Guest control
3179 - Hypervisor CPU SGX
3214 - Hypervisor Hybrid Mode
3222 - Virtual boot loader: Required Optimization and Configuration
3237 - Enable polling mode for virtio devices
3257 - Audio devices can be passed through to WaaG
Fixed Issues Details¶
1262 - acrnctl tool should not only gives RC 0
1551 - Samples: Kernel bootchart generation using cmdline.
1844 - Establish a @return keyword for functions not returning any value (void function())
1917 - Documentation: What does ‘,b’ flag do with virtio-blk?
2378 - Getting started guide for NUC is not working
2457 - Compilation on Fedora 29 (for UEFI platforms) is broken
2515 - Display corruption in SOS on KBL
2518 - Service OS kernel parameters for i915 need a clean-up (EFI platforms)
2526 - Hypervisor crash when booting UOS with acrnlog running with mem loglevel=6
2527 - [KBLNUC][HV]System will crash when run crashme (SOS/UOS)
2584 - acrn-dm segfaults if virtio-gvt enabled but not enabled in kernel
2737 - Build ACRN failed in Ubuntu 16.04
2782 - Wifi Firmware initialization failed happened on Reboot
2794 - Difficult to use make oldconfig
2806 - hv: minor issue in sbl_init_vm_boot_info()
2834 - isolate the MSR IA32_MISC_ENABLE between guest and host.
2848 - Cannot boot SOS kernel outside of ACRN
2857 - FAQs for ACRN’s memory usage need to be updated
2971 - PCIE ECFG support for AcrnGT
2976 - [GVT]don’t register memory for gvt in acrn-dm
2984 - HV will crash if launch two UOS with same UUID
2991 - Failed to boot normal vm on the pcpu which ever run lapic_pt vm
3009 - When running new workload on weston, the last workload animation not disappeared and screen flashed badly.
3028 - virtio gpio line fd not release
3032 - Dump stack of mem allocation in irq_disabled after using mempool for ACRN VHM
3050 - FYI: Kconfiglib major version bumped to 11
3051 - Storage: Support rescan feature for virtio-blk
3053 - Emulated USB controller Vendor ID and Device ID are swapped
3054 - USB webcam not working in UOS
3073 - HV: hotfix for acpi.c compile error
3081 - add -w option for uos launch sh
3085 - Can’t set tsc frequency through option -f/–frequency of acrnalyze.py
3096 - Add one workaround to fix build issue with latest gcc.
3118 - virtio gpio static variable keeps increasing
3123 - Remove unused functions in hypervisor and device model.
3127 - refine the passthrough devices with dictionary
3128 - Undefined CONFIG_REMAIN_1G_PAGES
3136 - distinguish between LAPIC_PASSTHROUGH configured vs enabled
3138 - Increase kernel boot args and VM Name length
3142 - fix cpu family calculation
3145 - Only certain guests should be granted the privilege to reset host
3152 - Use virtio-blk instead passthru devices to boot RT
3160 - There is a logic bug when set iommu page walk coherent
3181 - [auto][sit][daily]Case “Hypervisor_Launch_RTVM_on_SATA_Storage” sata disk can not passthru
3182 - run command “echo c > /proc/sysrq-trigger” can’t trigger AaaG warm reboot
3184 - fail to locate ACPI RSDP table on some EFI platforms
3188 - dm: update uos patch in launch_hard_rt_vm.sh
Known Issues¶
- 1773 - USB Mediator: Can’t find all devices when multiple USB devices connected
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 -D /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.
- 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.
- 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 NUC.
Execute the launch_zephyr.sh script.
This is not reproducible with the stock
launch_zephyr.sh
script in our repo, it only happens when trying to launch an RTVM.Impact: Launching Zephyr RTOS as a real-time UOS takes too long
Workaround: A different version of Grub is known to work correctly
- 3268 - dm: add virtio-rnd device to command line
LaaG’s network is unreachable with UOS kernel
These steps reproduce the issue:
Download Clear Linux OS
Decompress Clear Linux
Replace above
kvm.img
with default kernel in UOSLaunch UOS
Try to ping UOS from another host.
UOS network is unreachable.
Impact: LaaG’s network is unreachable with UOS kernel
Workaround: Add
-s 7,virtio-rnd \
to the launch_uos.sh script
- 3280 - AcrnGT holding forcewake lock causes high CPU usage in gvt workload thread.
The i915 forcewake mechanism is to keep the GPU from its low power state, in order to access some specific registers. However, in the path of GVT-g scheduler submission, there’s no need to acquire the i915 forcewake.
Impact: AcrnGT holding forcewake lock cause high cpu usage gvt workload thread
Workaround: None
- 3279 - AcrnGT causes display flicker in some situations.
In current scaler ownership assignment logic, there’s an issue that when SOS disables a plane, it will disable corresponding plane scalers; however, there’s no scaler ownership checking there. So the scalers owned by UOS may be disabled by SOS by accident.
Impact: AcrnGT causes display flicker in some situations
Workaround: None
Change Log¶
These commits have been added to the acrn-hypervisor repo since the v1.0 release in May 2019 (click on the CommitID link to see details):
c1e23f1a - hv:Fix MISRA-C violations for static inline
93b4cf57 - dm: clean up assert in virtio.c
c265bd55 - dm: clean up assert in virtio_audio.c
14a93f74 - dm: clean up assert in virtio_input.c
0a6baaf4 - dm: samples: use stdio as vxworks console by default
e3ee9cf2 - HV: fix expression is not boolean
5cbda22d - dm: virtio_gpio: clean up assert
1e23c4dc - dm: ioc: clean up assert
8740232a - HV: Allow pause RTVM when its state is VM_CREATED
db7e7f1c - dm: platform: clean up assert() for some platform devices
1b799538 - dm: pcidev: clean up assert() for some pci devices
2b3dedfb - dm: pci: clean up assert() in pci core
f8934df3 - HV: implement wbinvd instruction emulation
ea699af8 - HV: Add has_rt_vm API
7018a13c - HV: Add ept_flush_leaf_page API
f320130d - HV: Add walk_ept_table and get_ept_entry APIs
f81585eb - HV: Add flush_address_space API.
6fd397e8 - HV: Add CLFLUSHOPT instruction.
d0e08712 - dm: virtio-block: clean up assert
3ef385d6 - dm: ahci: clean up assert
4145b8af - dm: block: clean up assert
13228d91 - dm: refine ‘assert’ usage in irq.c and wdt_i6300esb.c
e6eef9b6 - dm: refine ‘assert’ usage in pm.c and acpi.c
885d503a - dm: refine ‘assert’ in hugetlb.c and mem.c
65d7d83b - refine ‘assert’ usage in vmmapi.c and main.c
dedf9bef - dm: refine ‘assert’ in inout.c and post.c
a2332b15 - dm: refine ‘assert’ usage in timer.c and rtc.c
ec626482 - dm: cleanup ‘assert’ for guest software loading module
0e046c7a - hv: vlapic: clear which access type we support for APIC-Access VM Exit
f145cd49 - doc: Instruction of enabling ACRN-DM QoS.
fd9eb2a5 - HV: Fix OVMF hang issue when boot with lapic_pt
cdc5f120 - dm: virtio-net: clean up assert
b0015963 - dm: fix some potential memory leaks
0620980f - dm: use strnlen to replace strlen
1e1244c3 - dm: use strncpy to replace strcpy
0ea788b4 - dm: passthru: remove the use of assert()
efccdd22 - dm: add virtio-rnd device to command line
030e7683 - doc: add systemd-networkd-autostart bundle in APL GSG
86d3065d - doc: tweak doxygen precondition label
48877362 - ACRN: DM: Add new options for NUC launch_uos script.
f7f2a6ee - hv: Rename tables member of vPCI msix struct pci_msix
22f24c22 - DM: Samples: Enable VxWorks as hard-rt VM
9960ff98 - hv: ept: unify EPT API name to verb-object style
4add4059 - hv:build system initialization to sys_init_mod.a
5abca947 - hv: build virtual platform hypercall to vp_hcall_mod.a
02bf362d - hv:build virtual platform trusty to vp_trusty_mod.a
e67f0eab - hv:build virtual platform DM to vp_dm_mod.a
4d646c02 - hv:build virtual platform base to vp_base_mod.a
83e2a873 - hv:build hardware layer to hw_mod.a
76f21e97 - hv: build boot module to boot_mod.a
9c81f4c3 - hv:build library to lib_mod.a
8338cd46 - hv: move 3 files to lib & arch folder
7d44cd5c - hv: Introduce check_vm_vlapic_state API
f3627d48 - hv: Add update_vm_vlapic_state API to sync the VM vLAPIC state
a3fdc7a4 - hv: Add is_xapic_enabled API to check vLAPIC moe
7cb71a31 - hv: Make is_x2apic_enabled API visible across source code
1026f175 - hv: Shuffle logic in vlapic_set_apicbase API implementation
8426db93 - DM: vrpmb: replace assert() with return false
66943be3 - dm: enable audio passthrough device.
cf6d6f16 - doc: remove (outdated) primer documents
ed7f64d7 - DM: add deinit API for loggers
d05349d7 - DM: use pr_dbg in vrtc instead of printf
5ab098ea - DM: add disk-logger configure in launch script
c04949d9 - DM: add disk-logger to write log into file system
6fa41eee - DM: add static for local variables
5a9627ce - DM USB: xHCI: refine the emulation of Stop Endpoint Command
1be719c6 - DM USB: clean-up: change name of function usb_dev_comp_req
7dbde276 - DM USB: xHCI: use new isoch transfer implementation
b57f6f92 - DM USB: clean-up: give shorter names to libusb_xfer and req
adaed5c0 - DM USB: xHCI: add ‘chained’ field in struct usb_data_xfer_block
f2e35ab7 - DM USB: save MaxPacketSize value in endpoint descriptor
296b649a - ACRN/HV: emulated pcicfg uses the aligned offset to fix the unaligned pci_cfg access
2321fcdf - HV:Modularize vpic code to remove usage of acrn_vm
c91a5488 - doc: improve clarity of build-from-source intro
32239cf5 - hv: reduce cyclomatic complexity of create_vm()
771f15cd - dm: don’t present ioapic and pic to RT VM
ac6c5dce - HV: Clean vpic and vioapic logic when lapic is pt
f83ddd39 - HV: introduce relative vm id for hcall api
3d3de6bd - HV: specify dispatch hypercall for sos or trusty
8c70871f - doc: add an introduction for building hypervisor
6b723344 - xsave: inject GP when guest tries to write 1 to XCR0 reserved bit
d145ac65 - doc: fix typo in the “Build ACRN from Source” guide
8dd471b3 - hv: fix possible null pointer dereference
509af784 - dm: Solve the problem of repeat mount hugetblfs
e5a25749 - doc: add multiboot module string parameter
e63d32ac - hv: delay enabling SMEP/SMAP until the end of PCPU initialization
9e91f14b - hv: correctly grant DRHD register access rights to hypervisor
c71cf753 - ACRN/HV: Add one new board configuration for ACRN-hypervisor
115ba0e3 - Added recommended BIOS settings for better real-time performance.
7c45f3b5 - doc: remove ‘reboot’ command from ACRN shell user guide
04d82e5c - HV: return virtual lapic id in vcpuid 0b leaf
0a748fed - HV: add hybrid scenario
a2c6b116 - HV: change nuc7i7bnh ram start to 0x60000000
31aa37d3 - HV: remove unused INVALID_VM_ID
50e09c41 - HV: remove cpu_num from vm configurations
f4e976ab - HV: return -1 with invalid vcpuid in pt icr access
ae7dcf44 - HV: fix wrong log when vlapic process init sipi
765669ee - dm: support VMs communication with virtio-console
c0bffc2f - dm: virtio: refine console options parse code
ce6e663f - OVMF release v1.1
0baf537a - HV: misra fix for patch set of Zephyr enabling
1906def2 - HV: enable load zephyr kernel
6940cabd - HV: modify ve820 to enable low mem at 0x100000
ea7ca859 - HV: use tag to specify multiboot module
d0fa83b2 - HV: move sos bootargs to vm configurations
8256ba20 - HV: add board specific config header
bb55489e - HV: make vm kernel type configurable
ae8893cb - HV: use api to get kernel load addr
1c006113 - HV: separate linux loader from direct boot sw loader
0f00a4b0 - HV: refine sw_linux struct
475b05da - doc: fix formatting in partition doc
76346fd2 - doc: setup logical partition scenario on nuc
6f61aa7d - doc: add instruction of Open vSwitch
a6bba6bc - doc: update prefix format in coding guidelines
a4e28213 - DM: handle SIGPIPE signal
19366458 - DM: handle virtio-console writes when no socket backend is connected
376fcddf - HV: vuart: add vuart_deinit during vm shutdown
81cbc636 - HV: vuart: Bugfix for no interrupts on THRE
857e6c04 - dm: passthrough: allow not page-aligned sized bar to be mapped
b98096ea - dm: pci: fix the MMIO regions overlap when getting bar size
011134d5 - doc: Update Using PREEMPT_RT-Linux for real-time UOS
5533263e - tools:acrn-crashlog: fix error logs writing to server
286dd180 - dm: virtio: bugfix for polling mode
4c09051c - hv: Remove unused variable in ptirq_msi_info
34f12219 - hv: use 64bit FACS table address only beyond ACPI2.0
811d1fe9 - dm: pci: update MMIO EPT mapping when update BAR address
cee2f8b2 - ACRN/HV: Refine the function of init_vboot to initialize the depriv_boot env correctly
1c36508e - ACRN/HV: Assign the parsed RSDP to acpi_rsdp to avoid multiple RSDP parsing
c5d43657 - hv: vmcs: don’t trap when setting reserved bit in cr0/cr4
f2c53a98 - hv: vmcs: trap CR4.SMAP/SMEP/PKE setting
a7389686 - hv: Precondition checks for vcpu_from_vid for lapic passthrough ICR access
7f648d75 - Doc: Cleanup vmcfg in user guides
9aa06c6e - Doc: Cleanup vmcfg in HLD
50f50872 - DM: Cleanup vmcfg
7315515c - DM: Cleanup vmcfg APIs usage for removing the entire vmcfg
a3073175 - dm: e820: reserve memory range for EPC resource
7a915dc3 - hv: vmsr: present sgx related msr to guest
1724996b - hv: vcpuid: present sgx capabilities to guest
65d43728 - hv: vm: build ept for sgx epc resource
c078f90d - hv: vm_config: add epc info in vm config
245a7320 - hv: sgx: add basic support to init sgx resource for vm
c5cfd7c2 - vm state: reset vm state to VM_CREATED when reset_vm is called
610ad0ce - dm: update uos path in launch_hard_rt_vm.sh
b27360fd - doc: update function naming convention
b833e2f9 - hv: vtd: fix a logic error when set iommu page walk coherent
517707de - DM/HV: Increase VM name len
f010f99d - DM: Decouple and increase kernel boot args length
f2fe3547 - HV: remove mptable in vm_config
26c7e372 - Doc: Add tutorial about using VxWorks as uos
b10ad4b3 - DM USB: xHCI: refine the logic of CCS bit of PORTSC register
ae066689 - DM USB: xHCI: re-implement the emulation of extended capabilities
5f9cd253 - Revert “DM: Get max vcpu per vm from HV instead of hardcode”
8bca0b1a - DM: remove unused function mptable_add_oemtbl
bd3f34e9 - DM: remove unused function vm_get_device_fd
9224277b - DM: remove unused function vm_setup_ptdev_msi
bb8584dd - DM: remove unused function vm_apicid2vcpu
ec924385 - DM: remove unused function vm_create_devmem
75ef7e84 - DM: remove unused function vm_set_lowmem_limit
683e2416 - DM: remove unused function console_ptr_event
12f55d13 - DM: remove unused function console_key_event
aacc6e59 - DM: remove unused function console_refresh
2711e553 - DM: remove unused function console_fb_register
d19d0e26 - DM: remove unused function gc_init
43c01f8e - DM: remove unused function console_init
e6360b9b - DM: remove unused function gc_resize
d153bb86 - DM: remove unused function gc_set_fbaddr
475c51e5 - DM: remove unused function console_set_fbaddr
4e770316 - DM: remove unused function swtpm_reset_tpm_established_flag
2a33d52e - DM: remove unused function vrtc_reset
1a726ce0 - DM: remove unused function vrtc_get_time
8cb64cc7 - DM: remove unused function vrtc_nvram_read
dcd6d8b5 - DM: remove unused function virtio_pci_modern_cfgread and virtio_pci_modern_cfgwrite
62f14bb1 - DM: remove unused function virtio_dev_error
2d6e6ca3 - DM: remove unused function usb_native_is_ss_port
7e80a6ee - hv: vm: enable iommu after vpci init
bfc08c28 - hv: move msr_bitmap from acrn_vm to acrn_vcpu_arch
f96ae3f1 - HV: enforce Cx of apl nuc with SPACE_SYSTEM_IO
1fe57111 - HV: validate pstate by checking px ctl range
57275a58 - HV: add px cx data for kbl nuc refresh
3d459dfd - DM: Fix minor issue of USB vendor ID
7e520675 - doc: update coding guidelines
04ccaacb - hv:not allow SOS to access prelaunched vm memory
0a461a45 - tools:acrn-crashlog: fix potential memory corruption
5a23f7b6 - hv: initial host reset implementation
321e4f13 - DM: add virtual hostbridge in launch script for RTVM
d0fe1820 - HV: call function is_prelaunched_vm() instead to reduce code
a6503c6a - HV: remove function pci_pdev_foreach()
536c69b9 - hv: distinguish between LAPIC_PASSTHROUGH configured vs enabled
cb6a3e8f - doc: prepare for sphinx 2.0 upgrade
474496fc - doc: remove hard-coded interfaces in .rst files
ffb92454 - doc: add note to indicate that vSBL is only supported on APL platforms
c561f2d6 - doc: add <vm_id> parameter to the “vm_console” command description
214eb5e9 - doc: Update clearlinux os installation guide link.
fe4fcf49 - xHV: remove unused function is_dbg_uart_enabled
36568ff5 - HV: remove unused function sbuf_is_empty and sbuf_get
c5391d25 - HV: remove unused function vcpu_inject_ac
26de86d7 - HV: remove unused function copy_to_gva
163c63d2 - HV: remove unused function resume_vm
c68c6e4a - HV: remove unused function shutdown_vcpu
83012a5a - HV: remove unused function disable_iommu
9b7dee90 - HV: remove one lock for ctx->flags operation.
fc1cbebe - HV: remove vcpu arch lock, not needed.
9876138b - HV: add spinlock to dmar_enable/disable_qi
90f3ce44 - HV: remove unused UNDEFINED_VM
73cff9ef - HV: predefine pci vbar’s base address for pre-launched VMs in vm_config
4cdaa519 - HV: rename vdev_pt_cfgwrite_bar to vdev_pt_write_vbar and some misra-c fix
aba357dd - 1. fix cpu family calculation 2. Modify the parameter ‘fl’ order
238d8bba - reshuffle init_vm_boot_info
0018da41 - HV: add missing @pre for some functions
b9578021 - HV: unify the sharing_mode_cfgwrite and partition_mode_cfgwrite code
7635a68f - HV: unify the sharing_mode_cfgread and partition_mode_cfgread code
19af3bc8 - HV: unify the sharing_mode_vpci_deinit and partition_mode_vpci_deinit code
3a6c63f2 - HV: unify the sharing_mode_vpci_init and partition_mode_vpci_init code
f873b843 - HV: cosmetic fix for pci_pt.c
cf48b9c3 - HV: use is_prelaunched_vm/is_hostbridge to check if the code is only for pre-launched VMs
a97e6e64 - HV: rename sharing_mode_find_vdev_sos to find_vdev_for_sos
32d1a9da - HV: move bar emulation initialization code to pci_pt.c
67b2e2b8 - HV: Remove undefined CONFIG_REMAIN_1G_PAGES
bb48a66b - dm: refine the passthrough devices with dictionary
517cff1b - hv:remove some unnecessary includes
49350634 - DM: virtio-gpio: fixed static variable keeps increasing issue
865ee295 - hv: emulate ACPI reset register for Service OS guest
26f08680 - hv: shutdown guest VM upon triple fault exceptions
9aa3fe64 - hv: emulate reset register 0xcf9 and 0x64
8ad0fd98 - hv: implement NEED_SHUTDOWN_VM request to idle thread
db952315 - HV: fix MISRA violation of host_pm.h
1aac0dff - HV: hot fix on usage of CONFIG_ACPI_PARSE_ENABLED
356bf184 - DM: Get max vcpu per vm from HV instead of hardcode
86f5993b - hv: vlapic: fix tpr virtualization when VID is not enabled.
a68dadb7 - hv: vm: minor fix about vRTC
8afbdb75 - HV: enable Kconfig of ACPI_PARSE_ENABLED
86fe2e03 - HV: split acpi.c
cbab1f83 - HV: remove acpi_priv.h
565f3cb7 - HV: move dmar parse code to acpi parser folder
39798691 - hv:merge static_checks.c
d9717967 - dm:add grep -w option for uos launch sh
4c28a374 - dm: add sample script to launch Windows as guest
bdae8efb - hv: instr_emul: fix movzx return memory opsize wrong
795d6de0 - hv:move several files related X86 for lib
350d6a9e - hv:Move BUS_LOCK to atomic.h
eff44fb0 - build fix: fix build issue with latest gcc for blkrescan
c7da3976 - Dockerfile: update Ubuntu 16.04 Dockerfile to include all deps
7b8abe15 - hv: refine ‘init_percpu_lapic_id’
dbb41575 - hv: remove dynamic memory allocation APIs
773889bb - hv: dmar_parse: remove dynamic memory allocation
5629ade9 - hv: add default DRHD MACROs in template platform acpi info
5d192288 - Doc: virtio-blk: add description of boot device option
d9e6cdb5 - dm: not register/unregister gvt bar memory
a581f506 - hv: vmsr: enable msr ia32_misc_enable emulation
8e310e6e - hv: vcpuid: modify vcpuid according to msr ia32_misc_enable
ef19ed89 - hv: vcpuid: reduce the cyclomatic complexity of function guest_cpuid
f0d06165 - hv: vmsr: handle guest msr ia32_misc_enable read/write
a0a6eb43 - hv: msr: use UL since ia32_misc_enable is 64bit
7494ed27 - Clean up MISRA C violation
d364d352 - reshuffle struct vboot_candidates
41ac9e5d - rename function & definition from firmware to guest boot
20f97f75 - restruct boot and bsp dir for firmware stuff