mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-03 12:49:45 +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> |
||
---|---|---|
.. | ||
x86 |