acrn-hypervisor/hypervisor/arch/x86
Xiangyang Wu f912953539 HV:treewide:Update exec_vmread/exec_vmwrite and exec_vmread64/exec_vmwrite64
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>
2018-07-18 12:31:42 +08:00
..
configs HV: config: add Kconfig and defconfigs for sbl & uefi 2018-06-08 17:21:13 +08:00
debug HV: prototyping non-static function 2018-07-16 10:35:54 +08:00
guest HV:treewide:Update exec_vmread/exec_vmwrite and exec_vmread64/exec_vmwrite64 2018-07-18 12:31:42 +08:00
assign.c HV:common:fix "integer type violations" 2018-07-18 12:31:14 +08:00
cpu_primary.S HV:treewide:Replace HOST_GDT_RING0_CODE/DATA_SEL with constant 2018-07-18 12:31:42 +08:00
cpu_state_tbl.c HV:CPU: Add 'U/UL' for unsigned const value 2018-07-09 10:27:21 +08:00
cpu.c HV:common:fix "integer type violations" 2018-07-18 12:31:14 +08:00
cpuid.c HV: Fix missing brackets for MISRA C Violations 2018-07-13 09:09:12 +08:00
ept.c HV:treewide:Update exec_vmread/exec_vmwrite and exec_vmread64/exec_vmwrite64 2018-07-18 12:31:42 +08:00
gdt.c HV:misc:add suffix U to the numeric constant 2018-07-05 11:29:46 +08:00
idt.S HV:treewide:Replace HOST_GDT_RING0_CODE/DATA_SEL with constant 2018-07-18 12:31:42 +08:00
io.c HV: coding style cleanup for TRACE_2L & TRACE_4I usage 2018-07-16 10:32:14 +08:00
ioapic.c HV: vioapic: cleaning up integral-type-related violations 2018-07-17 15:37:45 +08:00
irq.c hv: change several APIs to void type 2018-07-18 12:30:37 +08:00
Kconfig HV: build: make relocation-related code configurable 2018-07-11 19:18:26 +08:00
lapic.c hv: change several APIs to void type 2018-07-18 12:30:37 +08:00
mmu.c HV: Fix new MISRAC violations for brackets 2018-07-16 11:02:38 +08:00
mtrr.c HV:Treewide:Update the type of vcpu id as uint16_t 2018-07-04 14:28:52 +08:00
notify.c HV: Fix new MISRAC violations for brackets 2018-07-16 11:02:38 +08:00
pm.c HV: pm: cleanup for misra integral type violations 2018-07-12 17:31:11 +08:00
retpoline-thunk.S license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
softirq.c HV: handle integral issue report by MISRA-C 2018-07-16 16:24:29 +08:00
timer.c HV: coding style cleanup for TRACE_2L & TRACE_4I usage 2018-07-16 10:32:14 +08:00
trampoline.S HV:treewide:Replace HOST_GDT_RING0_CODE/DATA_SEL with constant 2018-07-18 12:31:42 +08:00
trusty2.c [REVERT-ME]:handle discontinuous hpa for trusty 2018-07-11 11:11:24 +08:00
trusty.c HV:treewide:Update exec_vmread/exec_vmwrite and exec_vmread64/exec_vmwrite64 2018-07-18 12:31:42 +08:00
virq.c HV:treewide:Add exec_vmread32 and exec_vmwrite32 functions 2018-07-18 12:31:42 +08:00
vmexit.c HV:treewide:Add exec_vmread32 and exec_vmwrite32 functions 2018-07-18 12:31:42 +08:00
vmx_asm.S HV:CPU:Constant values replace with CPU MACRO 2018-07-09 09:24:56 +08:00
vmx.c HV:treewide:Update exec_vmread/exec_vmwrite and exec_vmread64/exec_vmwrite64 2018-07-18 12:31:42 +08:00
vtd.c hv: change several APIs to void type 2018-07-18 12:30:37 +08:00
wakeup.S HV:CPU:Fix a mistake introduced by MARCO replacing patch 2018-07-13 11:27:56 +08:00