vmx_vmwrite
vmx_vmwrite(VMCS_PROCBASED_CTLS, ctls1);
vmx_vmwrite(VMCS_PROCBASED_CTLS, ctls1);
vmx_vmwrite(VMCS_GUEST_RFLAGS, rflags | PSL_RF);
vmx_vmwrite(VMCS_ENTRY_INTR_INFO, info);
vmx_vmwrite(VMCS_ENTRY_EXCEPTION_ERROR, error);
vmx_vmwrite(VMCS_GUEST_RIP, rip + inslen);
vmx_vmwrite(VMCS_GUEST_RFLAGS, rflags & ~PSL_RF);
vmx_vmwrite(VMCS_GUEST_INTERRUPTIBILITY,
vmx_vmwrite(VMCS_GUEST_IA32_EFER, efer);
vmx_vmwrite(VMCS_ENTRY_CTLS, ctls1);
vmx_vmwrite(VMCS_CR0_SHADOW, fakecr0);
vmx_vmwrite(VMCS_GUEST_CR0, realcr0);
vmx_vmwrite(VMCS_GUEST_CR4, cr4);
vmx_vmwrite(VMCS_GUEST_RSP, cpudata->gcr8);
vmx_vmwrite(VMCS_GUEST_IA32_PAT, val);
vmx_vmwrite(VMCS_HOST_IDTR_BASE, (uint64_t)os_curcpu_idt());
vmx_vmwrite(VMCS_HOST_FS_BASE, rdmsr(MSR_FSBASE));
vmx_vmwrite(VMCS_HOST_CR3, x86_get_cr3());
vmx_vmwrite(VMCS_HOST_CR4, x86_get_cr4());
vmx_vmwrite(VMCS_ENTRY_INTR_INFO, info);
vmx_vmwrite(VMCS_ENTRY_EXCEPTION_ERROR, err);
vmx_vmwrite(VMCS_ENTRY_INSTRUCTION_LENGTH, inslen);
vmx_vmwrite(VMCS_HOST_TR_SELECTOR, os_curcpu_tss_sel());
vmx_vmwrite(VMCS_HOST_TR_BASE, (uint64_t)os_curcpu_tss());
vmx_vmwrite(VMCS_HOST_GDTR_BASE, (uint64_t)os_curcpu_gdt());
vmx_vmwrite(VMCS_HOST_GS_BASE, rdmsr(MSR_GSBASE));
vmx_vmwrite(VMCS_TSC_OFFSET, cpudata->gtsc_offset);
vmx_vmwrite(vmx_guest_segs[idx].selector, segs[idx].selector);
vmx_vmwrite(vmx_guest_segs[idx].attrib, attrib);
vmx_vmwrite(vmx_guest_segs[idx].limit, segs[idx].limit);
vmx_vmwrite(vmx_guest_segs[idx].base, segs[idx].base);
vmx_vmwrite(VMCS_GUEST_RIP, state->gprs[NVMM_X64_GPR_RIP]);
vmx_vmwrite(VMCS_GUEST_RSP, state->gprs[NVMM_X64_GPR_RSP]);
vmx_vmwrite(VMCS_GUEST_RFLAGS, state->gprs[NVMM_X64_GPR_RFLAGS]);
vmx_vmwrite(VMCS_CR0_SHADOW,
vmx_vmwrite(VMCS_GUEST_CR0,
vmx_vmwrite(VMCS_GUEST_CR3, state->crs[NVMM_X64_CR_CR3]);
vmx_vmwrite(VMCS_GUEST_CR4,
vmx_vmwrite(VMCS_GUEST_DR7, cpudata->drs[NVMM_X64_DR_DR7]);
vmx_vmwrite(VMCS_GUEST_IA32_EFER,
vmx_vmwrite(VMCS_GUEST_IA32_PAT,
vmx_vmwrite(VMCS_GUEST_IA32_SYSENTER_CS,
vmx_vmwrite(VMCS_GUEST_IA32_SYSENTER_ESP,
vmx_vmwrite(VMCS_GUEST_IA32_SYSENTER_EIP,
vmx_vmwrite(VMCS_ENTRY_CTLS, ctls1);
vmx_vmwrite(VMCS_GUEST_INTERRUPTIBILITY, intstate);
vmx_vmwrite(VMCS_VPID, i);
vmx_vmwrite(VMCS_LINK_POINTER, 0xFFFFFFFFFFFFFFFFULL);
vmx_vmwrite(VMCS_PINBASED_CTLS, vmx_pinbased_ctls);
vmx_vmwrite(VMCS_PROCBASED_CTLS, vmx_procbased_ctls);
vmx_vmwrite(VMCS_PROCBASED_CTLS2, vmx_procbased_ctls2);
vmx_vmwrite(VMCS_ENTRY_CTLS, vmx_entry_ctls);
vmx_vmwrite(VMCS_EXIT_CTLS, vmx_exit_ctls);
vmx_vmwrite(VMCS_MSR_BITMAP, (uint64_t)cpudata->msrbm_pa);
vmx_vmwrite(VMCS_ENTRY_MSR_LOAD_ADDRESS, cpudata->gmsr_pa);
vmx_vmwrite(VMCS_EXIT_MSR_STORE_ADDRESS, cpudata->gmsr_pa);
vmx_vmwrite(VMCS_ENTRY_MSR_LOAD_COUNT, vmx_msrlist_entry_nmsr);
vmx_vmwrite(VMCS_EXIT_MSR_STORE_COUNT, VMX_MSRLIST_EXIT_NMSR);
vmx_vmwrite(VMCS_CR0_MASK, CR0_STATIC_MASK);
vmx_vmwrite(VMCS_CR4_MASK, CR4_INVALID);
vmx_vmwrite(VMCS_CR4_SHADOW, 0);
vmx_vmwrite(VMCS_HOST_RIP, (uint64_t)(uintptr_t)vmx_resume_rip);
vmx_vmwrite(VMCS_HOST_CS_SELECTOR, GSEL(GCODE_SEL, SEL_KPL));
vmx_vmwrite(VMCS_HOST_SS_SELECTOR, GSEL(GDATA_SEL, SEL_KPL));
vmx_vmwrite(VMCS_HOST_DS_SELECTOR, GSEL(GDATA_SEL, SEL_KPL));
vmx_vmwrite(VMCS_HOST_ES_SELECTOR, GSEL(GDATA_SEL, SEL_KPL));
vmx_vmwrite(VMCS_HOST_FS_SELECTOR, 0);
vmx_vmwrite(VMCS_HOST_GS_SELECTOR, 0);
vmx_vmwrite(VMCS_HOST_IA32_SYSENTER_CS, 0);
vmx_vmwrite(VMCS_HOST_IA32_SYSENTER_ESP, 0);
vmx_vmwrite(VMCS_HOST_IA32_SYSENTER_EIP, 0);
vmx_vmwrite(VMCS_HOST_IA32_PAT, rdmsr(MSR_CR_PAT));
vmx_vmwrite(VMCS_HOST_IA32_EFER, rdmsr(MSR_EFER));
vmx_vmwrite(VMCS_HOST_CR0, x86_get_cr0() & ~CR0_TS);
vmx_vmwrite(VMCS_EPTP, eptp);