hv:Change several VMX APIs to void type

-- Change vmx_off/exec_vmxon/exec_vmclear/exec_vmptrld/
  exec_vmxon_instr/init_vmcs to void type
-- for vmxon/vmclear/vmptrld, add pre-conditions to
   guarantee sucessful execution.

Tracked-On: #861
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
This commit is contained in:
Mingqiang Chi
2018-09-05 15:13:30 +08:00
committed by lijinxia
parent e4e38e1bfb
commit 5c5aed6188
2 changed files with 53 additions and 98 deletions

View File

@@ -415,7 +415,7 @@
#define VMX_SUPPORT_UNRESTRICTED_GUEST (1U<<5)
/* External Interfaces */
int exec_vmxon_instr(uint16_t pcpu_id);
void exec_vmxon_instr(uint16_t pcpu_id);
/**
* Read field from VMCS.
@@ -436,12 +436,12 @@ void exec_vmwrite32(uint32_t field, uint32_t value);
void exec_vmwrite64(uint32_t field_full, uint64_t value);
#define exec_vmwrite exec_vmwrite64
int init_vmcs(struct vcpu *vcpu);
void init_vmcs(struct vcpu *vcpu);
int vmx_off(uint16_t pcpu_id);
void vmx_off(uint16_t pcpu_id);
int exec_vmclear(void *addr);
int exec_vmptrld(void *addr);
void exec_vmclear(void *addr);
void exec_vmptrld(void *addr);
uint64_t vmx_rdmsr_pat(struct vcpu *vcpu);
int vmx_wrmsr_pat(struct vcpu *vcpu, uint64_t value);