ACRN v0.2 (Sep 2018)¶
We are pleased to announce the release of Project ACRN version 0.2.
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, and documentation. You can either download this source code as a zip or tar.gz file (see the ACRN v0.2 GitHub release page or use Git clone and checkout commands:
git clone https://github.com/projectacrn/acrn-hypervisor
cd acrn-hypervisor
git checkout v0.2
The project’s online technical documentation is also tagged to correspond with a specific release: generated v0.2 documents can be found at https://projectacrn.github.io/0.2/. Documentation for the latest (master) branch is found at https://projectacrn.github.io/latest/.
Version 0.2 New Features¶
VT-x, VT-d¶
Based on Intel VT-x virtualization technology, ACRN emulates a virtual CPU with core partition and simple schedule. VT-d provides hardware support for isolating and restricting device accesses to 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/LAPIC functionality.
Ethernet¶
ACRN hypervisor supports virtualized Ethernet functionality. 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”). Virtual Ethernet device could be shared by Linux, Android, and Service OS guests for regular (i.e. non-AVB) traffic. All hypervisor para-virtualized I/O is implemented using the VirtIO specification Ethernet pass-through.
Storage (eMMC)¶
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 virtualized assignment of all USB xHCI and/or xDCI controllers to a Guest OS from the platform.
USB Mediator (xHCI and DRD)¶
ACRN hypervisor supports a virtualized USB Mediator.
CSME¶
ACRN hypervisor supports a CSME to a single Linux, Android, or RTOS guest or the Service OS even when in a virtualized environment.
WiFi¶
ACRN hypervisor supports the passthrough assignment of the WiFi subsystem to the IVI, enables control of the WiFi as an in-vehicle hotspot for 3rd party devices, provides 3rd party device applications access to the vehicle, and provides access of 3rd party devices to the TCU provided connectivity.
IPU (MIPI-CS2, HDMI-In)¶
ACRN hypervisor supports passthrough IPU assignment to Service OS or guest OS, without sharing.
Bluetooth¶
ACRN hypervisor supports bluetooth controller passthrough to a single Guest OS (IVI).
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. Hyper DMA Buffer sharing extends the Linux DMA buffer sharing mechanism where one driver is able to share its pages with another driver within one domain.
S3¶
ACRN hypervisor supports S3 feature, partially enabled in LaaG.
Fixed Issues¶
663 - Black screen displayed after booting SOS/UOS
676 - Hypervisor and DM version numbers incorrect
1126 - VPCI coding style and bugs fixes for partition mode
1125 - VPCI coding style and bugs fixes found in integration testing for partition mode
1101 - missing acrn_mngr.h
1071 - hypervisor cannot boot on skylake i5-6500
1003 - CPU: cpu info is not correct
971 - acrncrashlog functions need to be enhance
843 - ACRN boot failure
721 - DM for IPU mediation
707 - Issues found with instructions for using Ubuntu as SOS
706 - Invisible mouse cursor in UOS
424 - Clear Linux OS desktop GUI of SOS fails to launch
Known Issues¶
- 677 - SSD Disk ID not consistent between SOS/UOS
The SSD disk ID in the UOS is not the same as in the SOS when the SSD device is passed-through to the UOS (it should be). The ID is also changing after a reboot (it shouldn’t). Impact: There is no impact to functionality. Workaround: None. The issues will be fixed in the next release.
- 1268 - GPU hangs when running GfxBench Car Chase in SOS and UOS.
A “GPU HANG” log messages is printed in the dmesg log in SOS and UOS and is fails to load GfxBench Car Chase animation in HDMI and VGA monitors. Impact: Car Chase may stop running after the GPU hangs, but does not block other Gfx apps. Workaround: None. The issue will be fixed in the next release.
- 1270 - SOS and UOS play video but don’t display video animation output on monitor.
Video does not display in SOS and UOS. Animation is not displayed with the running timer. Impact: There is no video animation on monitor screen when playing video in SOS or UOS. Workaround: None. The issue will be fixed in the next release.
- 1319 - SD card pass-through: UOS can’t see SD card after UOS reboot.
SD card could not be found after UOS reboot in pass-through mode. Impact: There is no SD card after UOS reboot. Workaround: None. The issue will be fixed in the next release.
Change Log¶
These commits have been added to the acrn-hypervisor repo since the v0.1 release in July 2018 (click on the CommitID link to see details):
7dd3207 doc: fix typo in network virt hld
01ce3b6 doc: sort title in developer HLD section
dae98a0 doc: add network virtualization hld
55a71e4 doc: add watchdog high-level design
31285a9 doc: add security hld document
8c9e0d1 hv: init_iommu rework to enable IOMMU for partition mode ACRN
5373190 dm: passthru: enable NHLT table for audio passthru
33acca5 tools: acrn-crashlog: exclude crashlog tool for release version
9817eb3 Add a comment for switch fallthrough to quiet lint warning
0306bb4 Removed dead funcs in EFI stub module
1d15b98 Replace the call to emalloc() to uefi pool allocation
951a24c allocate boot related struct right after hypervisor memory
6085781 Replace __emalloc() with a call to uefi allocate_page()
fea102e Remove emalloc_for_low_mem() routine in EFI boot code of HV
ccf5624 hv:irq: avoid out-of-range access to irq_alloc_bitmap[]
4a038d1 dm: workaround for DM crash when doing fastboot reboot
688cdda DM USB: xHCI: enable USB xHCI emulation in LaaG and AaaG.
d4afddc Revert “hv: init_iommu rework to enable IOMMU for partition mode ACRN”
40dfd3f doc: edit 0.2 release notes
737c29f doc: Add known issues in v0.2 release note.
994a375 HV:fix potential buffer overflow issues
b501ce4 HV: remove dead APIC info MACROs in bsp
2197f43 HV: Add acpi_fixup api to override acpi on needs
0d5ad8a HV: add simple parser for ACPI data table
a1e9fdc HV: add Kconfig of CONSTANT_ACPI
eb8c4fb hv:Fix Implicit conversion:actual to formal param
8f0cb56 HV: trusty: refine version checking when initializing trusty
9d60220 hv: remove unused MACROs
bb0a2bc HV:Hypercall:Remove redundant error checking
d8508e4 hv: init_iommu rework to enable IOMMU for partition mode ACRN
2af08d9 HV: refine ‘struct lapic_regs’ definition.
5329ced hv: vtd: fix potential buffer overflow in suspend/resume
f355cdf Revert “DM USB: xHCI: enable USB xHCI emulation in LaaG and AaaG.”
83d1ddc hv:Delete the dead code
c307e1b hv: long and long long is same for printf within x86_64
a47f5d4 doc: fix Makefile to address multiple publishers
41a1714 doc: fix spaces in release notes
3c8157b doc: Add new feature in v0.2 release note
c03ea2d DM USB: xHCI: enable USB xHCI emulation in LaaG and AaaG.
b4755cd DM USB: xHCI: enable ‘cold plug’ mode
612037e DM USB: xHCI: enable Flat Mode Hub emulation support.
d886375 hv: clean up spinlock
8858634 HV: update opcode when decode_two_byte_opcode()
5023937 hv: merge pgtable_types.h and pgtable.h
83e7995 hv: clean up some header files
5a996ce hv:irq: correct the size of irq_alloc_bitmap
4fd5102 hv:treewide:fix multiple MISRAC violations
00edd83 hypercall: no need check HV memory overlap for MR_DEL
876cc68 tools:acrn-crashlog: Change the algorithm of generating event key
b1ba12a hv: clean up spinlock wrappers
44a2d77 hv: add SMAP/SMEP check during guest page walking
d958d31 hv: fix the issue of movs emulation
d84f7a4 hv: clean up udelay/mdelay related code
7cab77d hv: clean up div related code
1d2ed1a hv: vioapic/vpic: clean up spinlock wrappers
4f20c44 dm: passthru: fix a bug in msix read/write
60c05ac hv:Replace vlapic pointer with instance in vcpu_arch
f744762 hv:Remove redundancy ‘vlapic’ in ‘struct vcpu’
aae5018 hv:Move vlapic structure to vlapic.h
fdb6409 hv:Replace dynamic memory allocation for apic access address
887ebf0 hv: Replace dynamic memory allocation for MSR bitmap
02e7edc hv: Replace dynamic memory allocation for I/O bitmaps
eada04b hv:Replace dynamic memory allocation for vmcs region
ca75d50 IOC mediator: add RTC feature
42d9b24 doc: allow overriding displayed doc version
dbcbe7d HV: change wake vector to accommodate abl 1820HF1release
bca43b5 hv: avoid memory leak in trampoline code preparing
9e76cf4 doc: Add fixed issues in v0.2 release note
f1e87f6 dm: vrtc: use signalfd to poll signal from timer
bcaede0 hv: treewide: fix ‘Use of function like macro’
d72e65c trusty: do not destroy secure world if it’s not created
8773dfb vlapic: unmap vlapic base only for SOS
457ac74 vcpu: replace start_vcpu with run_vcpu
2978c01 io: tiny fix for error message
bfcf546 Doc: add interrupt storm mitigation explanation.
d8c4619 HV: change wake vector info to accommodate abl
4ae88bb tools: acrn-manager: fix acrnctl reset issue
f42209c tools: acrn-manager: remove unnecessary “current” field
0ca90ba tools: acrn-manager: rework acrnd resume flow
26b8b3b tool: acrn-manager: do not wakeup SOS in advance
c6b7940 samples: Add AliOS as guest launch option
a7de5a1 samples: Add tap name as launch function parameter
bcfe447 DM: deinit initialized pci device when failed
99285f8 HV: improve pass-thru device interrupt process
b4e03f2 hv: virq: make irq_window_enabled useful
8e29615 hv: apicv: enable interrupt-window if any pending external interrupts
46c3276 hv: apicv: avoid enable interrupt window if interrupt delivery enabled
f5ca189 dm: bios: update vsbl to v0.9
047f4e9 Documentation: update to AcrnGT official name
97aeb7f hv: pgtable: fix ‘Use of function like macro’
6ee9321 security: Enable ‘-fpie -pie’ options
5c5aed6 hv:Change several VMX APIs to void type
e4e38e1 hv:Check if VMX capability is locked with incorrect value
6593080 hv: Replace dynamic allocation with static memory for vmxon_region
4360235 hv: treewide: fix ‘Macro parameter not in brackets’
30b77ab DM: unmap ptdev BAR when deinit
1b334ec hv: replace ‘return’ with ‘panic’ in bsp_boot_post
bad8d81 IOC mediator: add new signal for VBUS control
f2f719c hv: fix ‘Procedure is not called or referenced in code analyzed’
3718177 hv:Replace dynamic allocation with static memory for shell
c045442 DM: watchdog: correct 2 MACRO define
198c6e9 DM: coding style: replace tab with space
d32ef9b doc: fix doc misspellings
5103002 doc: prepare for versioned release notes
5c3e4d1 tools: acrntrace: fix a variable uninitialized issue
56f2c1a tools: acrn-crashlog: correct usercrash-wrapper path
6703879 hv: treewide: convert some MACROs to inline functions
37fd387 tools: acrn-crashlog: add usercrash_c in the pipe of core_pattern
a4cb391 hv: fixup format of log message in vm_load.c
96809c4 DM NPK: enable the NPK virtualization for AaaG
9a27659 DM NPK: use a slice (8 masters) as the minimal unit for NPK virt
d8c97c1 hv: fix broken relocation feature
36c4a27 HV: Fix VPCI bugs found in integration testing for partition mode
308910e HV: Updated vm description table for partition mode
c9ea890 HV: VPCI coding style fix
54439ec hv: treewide: fix ‘Expression is not Boolean’
f611012 HV: Refine two log info about vcpu and instr_emul
96dba0d hv: fix MISRA-C issues related to space or newline
d67eefb hv: mmu: use get/set_pgentry to get/set page table entry
7f9befb hv: ept: remove find_next_table
9257ecf hv: mmu: cleanup mmu.h
06ab2b8 hv: mmu: add 1GB page capability check when CPU boot
58fffcd hv: mmu: rename PTT_HOST to PTT_PRIMARY
c102c44 hv: Device MSIs in partition mode ACRN
ef1a730 Documentation: correct URL pointing at sample ‘acrn.conf’ file
25dacc5 security: Enable ‘-fpie, -pie’ options
10c64a5 hv: fix MISRA-C issues related to for loop
852f613 samples: remove extra option for dm
dba52ba IOC mediator: fix no CBC signals after resuming
43741ba hv: Leave interrupts disabled during vmexit - ACRN partition mode
348422d doc: fix graphviz scanning and processing
e49c42d Documentation: update GVT-G-porting-image1.png for AcrnGT official name
a8ac452 dm: cmos: move cmos storage out of vmctx
fa7eb1f tools:acrn-crashlog: Document of configuration file
12c1687 hv:No need to create inverted page tables for trusty memory
2a184f3 hv: code clean up regarding to guest_msrs
947e86d HV: restore correct gpa for guest normal world
da4c95b tools: acrn-manager: fix several warnings
4e8798e hv:Replace vioapic pointer with instance in structure vm
29dbd10 hv:Replace vuart pointer with instance in structure vm
0b54946 hv:Replace vpic pointer with instance in structure vm
de53964 HV: Removed the unused parameters and union from gdt
8d35f4e HV: wrap and enable hkdf_sha256 key derivation based on mbedtls
12aa2a4 HV: crypto lib code clean up
71577f6 HV: extract hkdf key derivation files from mbedtls
925503c hv: Build fix - ACRN partition mode
c5dcb34 DM USB: xHCI: fix a potential issue of crash
7bc1a3f HV: Refine APICv capabilities detection
f95d07d hv: vtd: use EPT as translation table for PTDev in SOS
4579e57 hv: add gva check for the case gva is from instruction decode
7dde0df hv: add GVA validation for MOVS
b01a812 hv: add new function to get gva for MOVS/STO instruction
8480c98 hv: move check out of vie_calculate_gla
54c2541 hv: remove unnecessary check for gva
5663dd7 hv: extend the decode_modrm
3b6ccf0 HV: remove callbacks registration for APICv functions
93c1b07 hv: mmu: remove old map_mem
f3b825d hv: trusty: use ept_add_mr to add memory region
4bb8456 hv: ept: refine ept_add_mr base on mmu_add
da57284 hv: ptdev: simplify struct ptdev_msi_info
2371839 hv: ptdev: remove vector index from structure ptdev_msi_info
d8cc29b hv: ptdev: check whether phys_pin is valid in add_intx_remapping
e8c0763 hv: ptdev: add source_id for ptdev to identify source
6367650 hv: debug: add the hypervisor NPK log
3c6df9b hv: add mmio functions for 64bit values
dcae438 hv: add a hypercall for the hypervisor NPK log
f4eef97 hv: ptdev: simplify ptdev_intx_pin_remap logic
a6c2065 hv: apicv: change the name of vapic to apicv
a0c625b hv: apicv: change the apicv related API with vlapic_apicv prefix
74ff712 hv: vlapic: local APIC ID related code cleaning up
c43d0e4 hv:Changed several APIs to void type
b75a7df hv: vcpuid: disable some features in cpuid
42aaf5d hv: code clean up regarding to % and / operations
0c630d9 dm: cmos: fix a logic error for read to clear range
3e598eb hv: fix ‘No definition in system for prototyped procedure’
65e01a0 hv: pirq: use a bitmap to maintain irq use status
e0d40fe HV:refine ‘apic_page’ & ‘pir_desc’ in ‘struct acrn_vlapic’
17ef507 ipu: virtio-ipu4 as default IPU DM
8924f6d hv: vmx: fix ‘Array has no bounds specified’
6988a17 DM USB: xHCI: Change the default USB xHCI support to pass through.
1017d91 hv: treewide: fix ‘Empty parameter list to procedure/function’
7a4dcfc hv: treewide: fix ‘Function prototype/defn param type mismatch’
752e311 hv:fixed MISRA-C return value violations
431ef57 hv: vioapic: fix ‘No definition in system for prototyped procedure’
b17de6a hv: Support HV console for multiple VMs - ACRN partition mode
b8c1fd6 dm: pass vrpmb key via cmos interface
c8c0e10 HV: enlarge the CMA size for uos trusty
40fd889 hv:fixed several return value violations
b37008d HV: check secure/normal world for EPTP in gpa2hpa
10a4c6c samples: let nuc uos only start with 1 cpu
709cd57 hv: lib: add ffz64_ex
5381738 hv: pirq: change the order of functions within irq.c
a8cd692 hv: pirq: clean up irq handlers
2c044e0 hv: pirq: refactor vector allocation/free
1bf2fc3 hv: pirq: refactor irq num alloc/free
f77d885 hv: pirq: clean up unnecessary fields of irq_desc
bdcc3ae hv: fixed compiling warning
40745d9 hv: vuart: fix the data type violations
d82a86e DM USB: xHCI: enable USB xHCI emulation in LaaG and AaaG.
150b389 hv: fix size issue in mptable guest copy - ACRN partition mode
0c93a13 hv: sw_loader for VMs in ACRN partition mode
fce5862 hv: vm_description fix for partition ACRN
38a1898 hv: Fix comments referring to wrong hypervisor name
d3db5a6 HV: Add const qualifiers where required
e280d95 hv: vmx_vapic: fix two build warnings
39b4fec hv: apicv: explicit log for SMI IPI unsupported
604b5a4 hv: apicv: remove APIC_OFFSET_SELF_IPI(0x3F0) register
93f9126 hv: apicv: remove x2apic related code
8d38318 hv: virq: disable interrupt-window exiting in vmexit handler
f4513f9 update to fix format issue of ReST
5a6ee3f update doc -Using Ubuntu as the Service OS
4ecbdf0 tools: acrn-crashlog: update core_pattern content conditionally
8ff0efc update user name cl_sos
99e8997 DM: Add boot option of “i915.enable_guc=0” to disable Guc on UOS new kernel
36d5fdb DM/Samples: Add the boot option of “i915.enable_guc=0” to disable guc on SOS new kernel
5b8c7a5 hv: VM BSP vcpu mode for ACRN partition mode
c234acb fix spec_ctrl msr save/restore
022ef92 hv: Add vrtc emulation support for ACRN partition mode
f63c7a7 dm: virtio: set VBS-K status to VIRTIO_DEV_INIT_SUCCESS after reset
1378a84 dm: virtio: add support for VBS-K device reset
16a8174 hv: vioapic: bug fix update PTDEV RTE
101ab60 hv: Build fix for Partition mode
d030595 HV: remove ‘spinlock_rfags’ declaration
932bc32 DM: virtio rpmb backend driver updates
3df3c9f hv: vuart: fix ‘Shifting value too far’
de487ff hv:fix return value violations for vpic/vioapic
cad8492 enable weston to fix: #663
f2a3e1f quick fix: fix build failure for release version
bb5377b HV: change wake vector info to accommodate ww32 sbl
f8f49d4 dump vcpu registers on correct vcpu
4b03c97 add smp_call_function support
8ef0721 idle: enable IRQ in default idle
e19d36f change pcpu_sync_sleep to wait_sync_change
49d3446 lapic: add send_dest_ipi function
6e96243 HV: io: drop REQ_STATE_FAILED
ca83c09 hv: treewide: fix multiple MISRAC violations
0292e14 DM USB: xHCI: enable xHCI SOS S3 support
0b405ee DM USB: xHCI: change flow of creation of virtual USB device
b359dc3 DM USB: xHCI: code cleanup: change variable name
27eeea4 DM USB: xHCI: refine port assignment logic
5cc389a DM USB: xHCI: limit bus and port numbers of xHCI
2abec44 DM USB: introduce struct usb_native_devinfo
363b4da DM USB: xHCI: refine xHCI PORTSC Register related functions
b746377 DM USB: xHCI: fix an xHCI issue to enable UOS s3 feature
b5a233d HV: Enclose debug specific code with #ifdef HV_DEBUG
b086162 dm: monitor: bugfix: update wakeup reason before call resume() callback
a86a25f tools: acrnd: Fixed get_sos_wakeup_reason()
2d802d0 tools: vm_resume() requires wakeup reason
64a9b2b Revert “[REVERT-ME]: disable turbo mode”
18d44cc tools: acrnalyze: Make the result easier to read
08dd698 hv: pirq: rename common irq APIs
8fda0d8 hv: pirq: add static irq:vector mappings
f6e45c9 hv: pirq: remove unnecessary dev_handler_node struct
d773df9 hv: pirq: remove support of physical irq sharing
6744a17 hv: treewide: fix ‘Shifting value too far’
a9151ff hv: add compile time assert for static checks
69522dc hv: move boot_ctx offset definitions
197706f HV: Use the CPUID(0x16) to obtain tsc_hz when zero tsc_hz is returned by 0x15 cpuid
7d83abb HV: Add the emulation of CPUID with 0x16 leaf
e0eeb8a HV: Limit the CPUID with >= 0x15 leaf
d5d3d2d tools: acrnlog: Add [-t interval] [-h] to usage
a9a2f91 tools: acrntrace: Remove unused parameters “-r” related things
76e43ac HV: handle trusty on vm reset
c55b696 HV: remove ‘warm_reboot()’function and other minor cleanup
77011ce HV: Merge hypervisor debug header files
a6bc36f HV: refine shell.c & shell_priv.h
28c8923 HV: rename ‘shell_internal.h’ to ‘shell_priv.h’
2fbf707 HV: Logical conjunction needs brackets
6f1c5fa HV: Logical conjunction needs brackets under /arch/x86/guest
7a739cc DM: Add dm for IPU mediation
a568c9e dm: bios: update vsbl to v0.8.1
5a559ce fixed cpu info incorrect and remove 2M hugepages
f11b263 remove 2M hugepages
462284f HV: add pcpu id check before send IPI
c25a62e hv: Create E820 entries for OS in partitioning mode ACRN
ab29614 HV: VMX reshuffle: put EPT check before enabling
112b4ea hv: Fixing build issue with PARTITION_MODE
7380c16 hv: Add vuart flag to VM descriptions in partition mode
9e02ef5 hv: Partition mode ACRN -kernel load and bootargs load address
4e99afc hv: treewide: fix ‘Empty parameter list to procedure/function’
fc2701d HV: move vioapic.c & vpic.c to ‘dm’ folder
8348800 dm: virtio_rnd: use delayed blocking IO to make virtio_rnd works on Linux based SOS
98aa74b hv: treewide: fix ‘No default case in switch statement’
2a65681 misc: totally remove misc folder
49322ac dm: storage: support cache mode toggling
f4fcf5d dm: virtio: remove hv_caps from virtio_ops
a2b2991 doc: update virtio-blk usage in HLD
2592ea8 dm: storage: support writethru and writeback mode
42cabf6 hv: Handling IO exits in ACRN for partition mode
a8fcc0f HV: Add vm_id entry to VM description in partitioning mode
d0e9f24 hv: Interrupt handling in ACRN partition mode
0c88f9b hv: Build mptable for OS in partition mode
e40b998 hv: Add EPT mapping for UOS in partitioning mode
c492a14 hv: pirq: do not indicate priority when allocate vector
229bf32 hv:Refine destroy_secure_world API
40196d1 hv: treewide: fix ‘inline function should be declared static’
cdd19dc hv: treewide: fix ‘Variable should be declared static’
183ca5d HV: Adding hostbridge vdev device support for partition hypervisor
181de19 HV: Adding passthru vdev device support for partition hypervisor
5f3ea06 HV: Implementing PCI CFG vm-exit handler for partition hypervisor
86180bd HV: Calling into VPCI init/unit functions for partition hypervisor
65bd038 HV: Compiling in VCPI code for partition hypervisor
f60fcb6 HV: Defining the per-vm static vpci table for partition hypervisor
2b22e88 hv: init: rm the code of creating guest init page table
33e1149 hv: init: unify init logic for vm0 bsp
4acce93 hv: move save_segment/load_segment to a header file
43db87c hv: rename acrn_efi.h to vm0_boot.h
adddf51 hv: move define of struct cpu_gp_regs to a separate headfile
5a5b2a1 hv: init: save boot context from bootloader/bios
ac39b90 DM: update GSI sharing info
2fc3bde HV: trusty: new hypercall to save/restore context of secure world
3225b16 HV: trusty: log printing cleanup
9ba14da HV: trusty: remove unused HC ID
b5b769f HV: trusty: refine secure_world_control
ff96453 hv: Boot multiple OS for Partitioning mode ACRN
5e32c02 tools:acrn-crashlog: Enhance some functions
10f0bb0 hv: remove push/pop instruction emulation.
fa9fec5 hv: inject invalid opcode if decode instruction fails
1a00d6c hv: add more exception injection API
96e99e3 hv: use more reliable method to get guest DPL.
63fe48c hv: get correct fault address for copy_to/from_gva
55105db DM: notify VHM request complete after pausing the VM
4753da4 doc: add interrupt high-level design doc
11c209e DM: add tag info while no repo in release
8af90e0 misc: Remove unnecessary ExecStop in systemd services
4106fad hv: treewide: fix ‘Switch empty default has no comment’
af7943c DM: check more in guest service & launch script
04b4c91 hv: Adding a wrapper on top of prepare_vm0
638d714 DM: adapt to the new VHM request state transitions
ea13758 DM: add wrappers to gcc built-in atomic operations
c0544c9 hv: treewide: fix ‘Potential side effect problem in expression’
b1612e3 add cpu_do_idle to handle idle
b78aa34 HV: instr_emul: Make vm_update_register/rflags as void
12726db HV: instr_emul: Make vie_read/write_bytereg as non-failed function
59c0f35 HV: instr_emul: Make vm_set/get_register as non-failed function
b6b7e75 HV: instr_emul: Make vm_get_seg_desc a void function
e625bd7 HV: vmx code clean up
820b5e4 HV: instr_emul: Remove dead code
f03ae8d HV: instr_emul: Rearrange logic of instr_emul*
ce79d3a HV: instr_emul: Handle error gracefully
8836abe HV: instr_emul: Unify params passing to emulate_xxx
cebc8d9 DM USB: xHCI: Refine drd code to fix a potential NULL pointer issue.
7109ab4 hv:removed assert in free_ept_mem
a5121e9 dm: uart: add state check of backend tty before uart_closetty
fe51acf Revert “[REVERT-ME]:handle discontinuous hpa for trusty”
63ef123 move global x2apic_enabled into arch dir
72f9c9a pm: use cpu_context for s3 save/restore
8a95b2a vcpu: add ext context support for world switch
3d5d6c9 vcpu: add get/set register APIs
5aa1ad3 HV:treewide:fix value outside range of underlying type
c663267 hv: timer: request timer irq once only
b4a2ff5 hv: treewide: fix ‘Prototype and definition name mismatch’
f42878e hv: apicv: improve the default apicv reset flow
6e86d48 hv: vioapic: set remote IRR to zero once trigger mode switch to edge
1e18867 hv: vioapic: remove EOI register support
f96f048 hv: vioapic: change the variable type of pin to uint32_t
b13882f hv: vioapic: improve the vioapic reset flow
86de47b hv: vioapic: correct the ioapic id mask
68cbdb3 hv: vioapic: avoid deliver unnecessary interrupt for level trigger
771c6db hv: vioapic: refine vioapic_mmio_rw function
f0d2291 hv: vioapic: check vector prior to irr in EOI write emulation
fc41629 hv: vioapic: refine vioapic mmio access related code
66814d8 tools: fix resuming vm issue in acrnctl
7b34ae8 tools: fix resuming vm issue in acrnd
6cd6e3d tools: fix an issue acrnd does not notify the vm stop state to cbc lifecycle service
331300d tools: fix an invalid parameter of send_msg in query_state
7345677 hv:cleanup vmid related code
2299926 HV: Refine ‘hv_main()’ function usage
9d9c97d doc: fix table in acrn-shell documentation
093f2f9 Update acrn-shell.rst
9689227 Update acrn-shell.rst
f9bf917 HV: Refine hypervisor shell commands
6643adf HV: Adding mptable support for partition mode ACRN
fd0c918 hv: treewide: fix ‘Procedure parameter has a type but no identifier’
c27e250 HV: instr_emul: Move op_byte from vie_op to instr_emul_vie
baf055e HV: instr_emul: Using size2mask array directly
b6a0a36 HV: instr_emul: Remove vie_read_register
3702659 HV: Rename functions, variables starting with “_”
a71dede hv: treewide: fix ‘Array has no bounds specified’
a3b44a2 hv:Replace 0(cpu_id) with BOOT_CPU_ID
7a3d03c dm: uart: fix acrn-dm crash issue when invoke uart_closetty function
8f39a22 hv: cpu: remove unnecessary cpu_id valid check
a98113b HV: fully check VMCS control settings
ae8836d hv:fix return value violation for vioapic_get_rte
cd3a62f HV: Refine invalid parameter handling in hypervisor shell
61782d7 hv:Rename port/mmio read and write APIs
7db4c0a DM: Add function to update PM_WAK_STS
a8a27d8 dm: add S3 support for UOS
8ee4c0b DM: add vm_stop/reset_watchdog
a2241d9 DM: register pm ops to monitor
f576f97 hv: add vm restart API
a4eebb0 hv: cleanup inline assembly code in vmx.c a little bit
77c3917 HV:treewide:avoid using multiple # or ## in a macro
581a336 HV: Add Partitioning mode option for ACRN
93ed037 hv:cleanup console/uart code
22005c6 HV: Refine hypervisor shell commands
1664e0c HV:fix rest integer violations
56904bc doc: CSS tweak for table caption location
64f6295 acrn-manager: create acrn-hypervisor-dev package
51c75e9 hv: treewide: fix ‘Function prototype/defn param type mismatch’
cf8fd8c Revert “HV: clear memory region used by UOS before it exit”
9c24c5c HV:Rename ‘shell_internal.c’ to ‘shell.c’
3b06282 HV:Remove i/o session sw interface from hypervisor shell
a8e9d83 samples: change WIFI BDF to 3:0:0
00bfde3 HV: rename resume_vm to start_vm in hypercall api
5e31e7c IOC mediator: Add parking brake and Hvac signals
457ecd6 hv: softirq: refine softirq
073583c hv: softirq: move softirq.c to common directory
dec24a9 hv: add check to invalid CR8 writing from guest
13a50c9 hv: Explicitly trap VMXE and PCIDE bit for CR4 write
f0ef41c hv: Extend the always off mask of CR0 and CR4
d18642a hv: Add function to check whether cr0 written operation is valid
ce7257e doc: tweak logo href to projectacrn.org
6d25535 doc: fix doc errors from acrn_vhm_mm.h API changes
014bef6 doc: add virtio-console HLD document
50af102 dm: bios: update vSBL binary to v0.8
87a4abd tools: acrn-crashlog: fix build warnings with gcc8.1.1
6e77a8d HV:treewide:rename enum vpic_wire_mode, stack_canary, segment_override, pde_index
52fe9f4 hv: use macro instead of specify number
8ed98d3 DM: fix make install issue in auto boot UOS service
8e2c730 HV:VLAPIC:add suffix “_fn” for function pointer
2c95a8c HV:treewide:rename struct pic and iommu_domain
17771c0 HV: io: refine state transitions of VHM requests
941eb9d HV: io: move I/O emulation post-work to io.c
d817951 HV: io: add post-work for PCICFG and WP requests
26ab2c9 HV: io: move MMIO handler registration to io.c
b21b172 HV: io: refactoring vmexit handler on EPT violation
50e4bc1 HV: io: refactoring vmexit handler on I/O instruction
d4d8a12 doc: tweak formatting for :kbd: role
9c3d77e doc: tweak known-issues pattern for hypercall API
99ebd92 hv:Delete serial files
ae30040 hv:Reshuffle console/uart code
b743627 IOC mediator: fix IOC mediator blocks acrn-dm shutdown flow
159d57b HV:treewide:rename union lapic_id and struct segment
c477211 HV:treewide:rename struct key_info, pir_desc, map_params
f614fcf hv: debug: add CR4 to vcpu_dumpreg output
8205c9a HV:INSTR_EMUL:Rename struct vie, vie_op, and emul_ctxt
3446e84 HV:treewide:rename struct timer as struct hv_timer
cf7a940 HV: clear memory region used by UOS before it exit
a2fe964 HV: Rename functions beginning with “_”
d40a6b9 DM: add service to support auto boot UOS
496e400 HV:treewide:fix rest of violations related parameter changed
42c77e4 Documentation: add needed library for acrnprobe
a4aed45 tools: acrn-crashlog: replace debugfs with api
ea8cb41 tools: acrn-crashlog: replace fdisk and losetup with api
134e79a tools: acrn-crashlog: New apis to replace debugfs
db05675 tools: acrn-crashlog: New apis to replace losetup and fdisk
c01e675 HV:VLAPIC:rename variable vlapic_timer in the struct and function
59771ff HV:treewide:fix “Reference parameter to procedure is reassigned”
9d4c9d7 HV: stop retrieving seed from multiboot modules
1b527e5 HV: parse seed through cmdline during boot stage
58b42ba HV:treewide:rename struct vpic as struct acrn_vpic
33fdfd0 HV:treewide:rename struct vlapic as struct acrn_vlapic
9ea50a5 acrn.conf: remove maxcpus from cmdline
10ed599 HV: cleanup sprintf&string.c MISRA-C issues
88f74b5 HV: io: unify vhm_request req and mem_io in vcpu
1915eec HV: io: separate I/O emulation interface declarations
3cab926 DM: add param: -V 5 to auto check/boot UOS image
45d6f72 HV:refine ‘create_vm()’ to avoid potential crash and memory leak
53a5941 doc: add GVT-G porting guide
746cbab doc: add UART virtualization documentation
6c54cba doc: cleanup css, search, version choices
f815415 hv: ept: add lookup_address to lookup the page table
e2516fa hv: mmu: reimplement mmu_add to add page table mapping
c779958 hv: mmu: replace the old mmu_del
236bb10 hv: mmu: refine delete page table mapping
34c6862 hv: hypercall: add support to change guest page write permission
efd5ac4 hv: mmu: fix wrong to modify a large page attributes
5189bcd HV:treewide:fix “Attempt to change parameter passed by value”
e71a088 samples: offline SOS cpus before launch uos
d5ead61 samples: remove maxcpus from bootargs
2dca23c add hypercall hc_sos_offline_cpu support
589c723 add CONFIG_VM0_DESC support
2283378 refine definition for foreach_vcpu
3117870 hv:Change shell_init to void type
a1923dd hv: add a missing semicolon in vmexit.c
6788c09 hv: bug fix on operating spin_lock
ff05a6e hv:Remove dead code in console.c
a661ffa fix x86 dir integer violations
f1b9f5a hv: cpu: using struct cpu_gp_regs for general-purpose regs in inter_excp_ctx
586b527 hv: cpu: remove general-purpose register mapping in instruction emulation
b2802f3 hv: cpu: align general-purpose register layout with vmx
3d6ff0e tools: acrntrace: save trace data file under current dir by default
3abfdba doc: add script for syncing acrn-kernel for API gen
363a84c DOC:GSG: Fix few mistakes about updating acrn.conf and efibootmgr options
f18a02a HV: MISRA cleanup for platform acpi info
ee13110 HV: change wake vector address to accommodate sbl
4344832 Revert “DM sample: force enabling HDMI1 and HDMI2 connectors”
f7f04ba hv: mmu: minor fix about hv mmu && ept modify
502e3e2 hv: mmu: refine set guest memory region API
27fbf9b HV:treewide:Fixing pointer castings
a368b57 hv: fix typo in relocation code
b35e330 HV: make: check CONFIG_RELEASE=y for release build
da0f28c HV: Bracket for the same level of precedence
91337da HV: logical and high level precedence expression needs brackets
7aec679 HV: Clean up the unused or legacy code-like comment
c776137 doc: fix doc error filter patterns
fb8bce1 hv: treewide: fix ‘Array has no bounds specified’
af194bc HV: fix bug of restore rsp context
4fd870f hv: efi: remove multiple defined struct efi_ctx & dt_addr_t
d5be735 hv: correct the way to check if a MSR is a fixed MTRR register
bd69799 fix assign.c integer violations
f0a3585 HV: common: cleanup of remaining integral-type issues
112b5b8 HV: guest: cleanup of remaining integral type violations
1a1ee93 HV: hypercall: make hypercall functions return int32_t
ad73bb5 HV: treewide: unify the type of bit-field members
c0b55cd HV:vtd:fix all integer related violations
4c941ed HV:vtd.h fixed inline function violations
a17653b HV:transfer DMAR_[GS]ET_BITSLICE to inline function
e2ad788 doc: clean up tools docs
38b9b7d HV: cpuid: Disable Intel RDT for guest OS
9ac1be2 DM USB: enable isochronous transfer
b95f939 DM USB: temporary solution for corner case of control transfer
3389e83 DM USB: add some BCD codes
b9597d4 DM USB: xHCI: add microframe index(MFINDEX) register emulation support
a49d483 DM USB: process LIBUSB_TRANSFER_STALL error
640d896 DM USB: change TRB ring processing logic for ISOC transfer
d24213d DM USB: xHCI: fix xhci speed emulation logic
d6cc701 DM USB: refine logic of toggling interface state
5317124 DM USB: xHCI: add support for USB 3.0 devices
8317dea DM USB: fix guest kernel short packets warning
7431a90 DM USB: add code for error processing
00fbfd6 DM USB: fix an USB endpoint reset flow issue
cb93887 DM USB: modify some logs to help debug
aecb67b DM USB: support multiple interfaces USB device
38e2e45 hv: ept: move EPT PML4 table allocation to create_vm
1815a1b hv: ept: store virtual address of EPT PML4 table
23a5c74 HV: handle integral issues as MISRA-C report
0252ae9 hv: treewide: fix ‘No definition in system for prototyped procedure’
d28fff2 HV:treewide:Update the type of return value and parameters of atomic operations
3aa7d59 hv: check eptp value before calling free_ept_mem()
3571afc HV: hypercall: revisit types in structure parameters
f691cab HV: treewide: terminate ‘if .. else if’ constructs with ‘else’
e13c852 HV:INSTR_EMUL: Clean up CPU_reg_name
f4ca3cc hv: instr_emul: fix ‘Parameter indexing array too big at call’
84d320d HV:treewide:Fix type conversion in VMX, timer and MTTR module
f7efd0f hv: mmu: replace modify_mem with mmu_modify
0a33c0d hv: mmu: replace ept_update_mt with ept_modify_mr
1991823 hv: mmu: revisit mmu modify page table attributes
20c80ea HV: bug fix on emulating msi message from guest
9695d3b tools: replace payload[0] of struct mngr_msg with an union
ec86009 tools: acrn-manager: code cleanup
be80086 tools: Makefile: fix lack of dependence for acrm_mngr.h
a257f2f HV: Fixes index out of bounds for addressing irq.
988a3fe doc: use code-block:: none for command examples
dc6d775 tools: acrnd: update README.rst
0631473 [doc] Add API document for ACRN-GT
7e9b7f6 HV: instr_emul: Replace ASSERT/panic with pr_err
f912953 HV:treewide:Update exec_vmread/exec_vmwrite and exec_vmread64/exec_vmwrite64
612cdce HV:treewide:Add exec_vmread32 and exec_vmwrite32 functions
6543796 HV:treewide: Add exec_vmread16 and exec_vmwrite16 functions
d3b9712 HV:INSTR:Rearrange register names in the enum cpu_reg_name
055153b HV:treewide:Replace HOST_GDT_RING0_CODE/DATA_SEL with constant
f2774e4 HV:common:fix “integer type violations”
aa2b2d8 hv: change several APIs to void type
8017ebd HV:vtd:dma change the macro to the inline function
d8c3765 HV:vtd:cap change the macro to the inline function
69ebf4c HV: vioapic: cleaning up integral-type-related violations
a1069a5 HV: ioapic: unify the access pattern to RTEs
9878543 DM: add system reset (with RAM content kept)
b33012a DM: add vm reset API
8d12c06 dm: introduce system/full reset and suspend
76662a6 loader: Update the memory address of GUEST_CFG_OFFSET
a91952d HV: per_cpu: drop dependency on version.h and add license header
116038f HV: make: consider header dependencies when rebuilding
11239ae update launch_uos.sh to align with ACRN v0.1
b2e676a update kernel-pk version to align with ACNR v0.1
ea0bbd5 doc: reorganize doc tree
e042558 doc: update GSG for v0.1, add console code-block
1c712c5 delete pci_devices_ignore=(0:18:1)
2f2d108 HV: handle integral issue report by MISRA-C
7706e5c tools: acrnd: store/load timer list
e435f03 tools: acrnd: handle timer request from UOS
ee9ec9d tools: acrnd: the acrnd work list
f5e9c76 tools: acrnd: handle resume request from SOS-LCS
04ed916 tools: acrnd: handle stop request from SOS-LCS
bcb101f tools: acrnd: the daemon for acrn-manager
c4f9a2f tools: rework on vm ops
f0fe17d hv: sprintf: fix ‘Declaration does not specify an array’
aa5027a HV:misc:fix “signed/unsigned conversion with cast”
619c600 hv: cpu state update should be moved just before halt.
621425d hv: further fix to configurable relocation
944776f HV: Fix new MISRAC violations for brackets
90b342b HV: prototyping non-static function
8925eb5 hv: set guest segment base to zero if VCPU does not start in real mode
b831120 HV: coding style cleanup for TRACE_2L & TRACE_4I usage
c808972 hv: fix the potential dead loop in _parse_madt
4627cd4 HV: build: drop useless files
680c64d HV:transfer vmid’s type to uint16_t
6ad1508 dm: virtio-net: add variable name in function declaration
cb0009f hv: cpu: fix ‘Pointer arithmetic is not on array’
44a175e HV: instr_emul: Add new function vie_update_rflags
2f3eb67 HV: Remove SIB decode related code in decode_modrm
0fbdf37 HV: instr_emul: Cleanup ASSERT
e3302e8 HV:transfer vm_hw_logical_core_ids’s type and rename it
1d628c6 hv:fix MISRA-C return value violation
2a2adc7 HV:CPU:Fix a mistake introduced by MARCO replacing patch
e3452cf HV: vlapic: minimize explicit casts by adjusting types
e08a58e HV: vlapic: save complex expressions to local variables
f05e2fc HV: vlapic: cleanup types in formatting strings
6dd78d5 HV: vlapic: convert loop variables to unsigned
87f2d4c HV: vlapic: add suffix ‘U’ when necessary
1af8586 HV: Fix missing brackets for MISRA C Violations
af806a9 HV: Fix missing brackets for MISRA C Violations
4aa6cda HV: Fix missing brackets for MISRA C Violations
d16d9e5 HV: Fix missing brackets for MISRA C Violations
82e0cdb HV: Fix missing brackets for MISRA C Violations
dbfd0e5 HV: Fix missing brackets for MISRA C Violations
88a3205 HV: Fix missing brackets for MISRA C Violations
b4a6b93 doc: add v0.1 doc choice
3fe0fed version: 0.2-unstable
b4fb261 hv: fix bug in some embedded assembly code in vmx
8336101 DM: Fix potential buffer overflow and uninitialized variable
194fd8b hv: irq: fix ‘Pointer arithmetic is not on array’
401ffd1 HV: pm: cleanup for MISRA integral type violations
202bc54 HV: trusty: revise trusty_boot_param structure
b30ba3d tools:acrn-crashlog: Detect and classify the crash in ACRN and kernel
a5853d6 tools:acrn-crashlog: Improve the process of crash reclassify
0683b16 tools:acrn-crashlog: Get reboot reason in acrnprobe
2d03706 hv:change shell_puts to void type
4cab8b9 HV: code cleanup as MISRA-C report for guest/vmsr
8c43ad5 HV: add the missing brackets to loop body
fd81655 HV: add the missing brackets to loop body
df038fc HV: vmx: Change variable field to uint32_t
43e4bd4 version: v0.1