mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-31 11:25:30 +00:00
In the hypervisor, VMCS fields include 16-bit fields, 32-bit fields, 64-bit fields and natural-width fields. In the current implement, there are exec_vmread/exec_vmwrite used for accessing 32-bit fields, 64-bit field and natural-width fields. This usage will confue developer. So there are many type casting for the return value and parameters vmread/vmwrite operations. Since exec_vmread/exec_vmwrite and exec_vmread64/exec_vmwrite64 are the same, update current exec_vmread/exec_vmwrite implement into exec_vmread64/exec_vmwrite64 implement and add MACRO define for exec_vmread/exec_vmwrite in head file; To access 64-bit fields in VMCS, callers use exec_vmread64/exec_vmwrite64; Update related variables type for vmread/vmwrite operations; Update related caller according to VMCS fields size. Note:Natural-width fields have 64 bits on processors that support Intel 64 architecture.To access natural-width fields in VMCS, callers still use exec_vmread/exec_vmwrite, keep the current implementation. V1--V2: This is new part of this patch serial to only update 64-bit vmread/vmread opertions and related caller, for netural width fields, still use exec_vmread or exec_vmwrite. V2-->V3: Fix few mistake updations for netural fields in VMCS, just keep exec_vmread/exec_vmwrite to access them; Fix few mistake updations for 64-bit fields in VMCS. V3--V4: Add "016ll" for 64-bit variable in log function; Few updates for coding style; Rename lssd32_idx as tr_sel in VMX module. V4-->V5: Use CPU_NATURAL_LAST in the vm_get_register and vm_set_register to make condition statement more understandable. Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com> Reviewed-by: Junjie Mao <junjie.mao@intel.com> |
||
---|---|---|
.. | ||
arch/x86 | ||
boot | ||
bsp | ||
common | ||
debug | ||
include | ||
lib | ||
scripts/kconfig | ||
Kconfig | ||
MAINTAINERS | ||
Makefile | ||
README.rst |
Embedded-Hypervisor ################### This open source embedded hypervisor defines a software architecture for running multiple software subsystems managed securely on a consolidated system (by means of a virtual machine manager), and defines a reference framework Device Model implementation for devices emulation This embedded hypervisor is type-1 reference hypervisor, running directly on the system hardware. It can be used for building software defined cockpit (SDC) or In-Vehicle Experience (IVE) solutions running on Intel Architecture Apollo Lake platforms. As a reference implementation, it provides the basis for embedded hypervisor vendors to build solutions with an open source reference I/O mediation solution, and provides auto makers a reference software stack for SDC usage. This embedded hypervisor is able to support both Linux* and Android* as a Guest OS, managed by the hypervisor, where applications can run. This embedded hypervisor is a partitioning hypervisor reference stack, also suitable for non-automotive IoT & embedded device solutions. It will be addressing the gap that currently exists between datacenter hypervisors, hard partitioning hypervisors, and select industrial applications. Extending the scope of this open source embedded hypervisor relies on the involvement of community developers like you!