Changeset 14580 in vbox
- Timestamp:
- Nov 25, 2008 4:03:04 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/hwacc_vmx.h
r14557 r14580 886 886 * @{ 887 887 */ 888 #define VMX_VMCS _RO_VM_INSTR_ERROR 0x4400889 #define VMX_VMCS _RO_EXIT_REASON 0x4402890 #define VMX_VMCS _RO_EXIT_INTERRUPTION_INFO 0x4404891 #define VMX_VMCS _RO_EXIT_INTERRUPTION_ERRCODE 0x4406892 #define VMX_VMCS _RO_IDT_INFO 0x4408893 #define VMX_VMCS _RO_IDT_ERRCODE 0x440A894 #define VMX_VMCS _RO_EXIT_INSTR_LENGTH 0x440C895 #define VMX_VMCS _RO_EXIT_INSTR_INFO 0x440E888 #define VMX_VMCS32_RO_VM_INSTR_ERROR 0x4400 889 #define VMX_VMCS32_RO_EXIT_REASON 0x4402 890 #define VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO 0x4404 891 #define VMX_VMCS32_RO_EXIT_INTERRUPTION_ERRCODE 0x4406 892 #define VMX_VMCS32_RO_IDT_INFO 0x4408 893 #define VMX_VMCS32_RO_IDT_ERRCODE 0x440A 894 #define VMX_VMCS32_RO_EXIT_INSTR_LENGTH 0x440C 895 #define VMX_VMCS32_RO_EXIT_INSTR_INFO 0x440E 896 896 /** @} */ 897 897 … … 1543 1543 #if HC_ARCH_BITS == 64 1544 1544 uint64_t uLastError = 0; 1545 int rc = VMXReadVMCS(VMX_VMCS _RO_VM_INSTR_ERROR, &uLastError);1545 int rc = VMXReadVMCS(VMX_VMCS32_RO_VM_INSTR_ERROR, &uLastError); 1546 1546 AssertRC(rc); 1547 1547 return (uint32_t)uLastError; … … 1549 1549 #else /* 32-bit host: */ 1550 1550 uint32_t uLastError = 0; 1551 int rc = VMXReadVMCS32(VMX_VMCS _RO_VM_INSTR_ERROR, &uLastError);1551 int rc = VMXReadVMCS32(VMX_VMCS32_RO_VM_INSTR_ERROR, &uLastError); 1552 1552 AssertRC(rc); 1553 1553 return uLastError; -
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r14530 r14580 2266 2266 } 2267 2267 2268 #if defHC_ARCH_BITS == 322268 #if HC_ARCH_BITS == 32 2269 2269 /** 2270 2270 * Prepares for and executes VMRUN (64 bits guests from a 32 bits hosts). -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r14530 r14580 66 66 RTCCUINTREG instrError; 67 67 68 VMXReadVMCS(VMX_VMCS _RO_VM_INSTR_ERROR, &instrError);68 VMXReadVMCS(VMX_VMCS32_RO_VM_INSTR_ERROR, &instrError); 69 69 pVCpu->hwaccm.s.vmx.lasterror.ulInstrError = instrError; 70 70 } … … 1993 1993 1994 1994 /* Investigate why there was a VM-exit. */ 1995 rc = VMXReadVMCS(VMX_VMCS _RO_EXIT_REASON, &exitReason);1995 rc = VMXReadVMCS(VMX_VMCS32_RO_EXIT_REASON, &exitReason); 1996 1996 STAM_COUNTER_INC(&pVCpu->hwaccm.s.paStatExitReasonR0[exitReason & MASK_EXITREASON_STAT]); 1997 1997 1998 1998 exitReason &= 0xffff; /* bit 0-15 contain the exit code. */ 1999 rc |= VMXReadVMCS(VMX_VMCS _RO_VM_INSTR_ERROR, &instrError);2000 rc |= VMXReadVMCS(VMX_VMCS _RO_EXIT_INSTR_LENGTH, &cbInstr);2001 rc |= VMXReadVMCS(VMX_VMCS _RO_EXIT_INTERRUPTION_INFO, &val);1999 rc |= VMXReadVMCS(VMX_VMCS32_RO_VM_INSTR_ERROR, &instrError); 2000 rc |= VMXReadVMCS(VMX_VMCS32_RO_EXIT_INSTR_LENGTH, &cbInstr); 2001 rc |= VMXReadVMCS(VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO, &val); 2002 2002 intInfo = val; 2003 rc |= VMXReadVMCS(VMX_VMCS _RO_EXIT_INTERRUPTION_ERRCODE, &val);2003 rc |= VMXReadVMCS(VMX_VMCS32_RO_EXIT_INTERRUPTION_ERRCODE, &val); 2004 2004 errCode = val; /* might not be valid; depends on VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID. */ 2005 rc |= VMXReadVMCS(VMX_VMCS _RO_EXIT_INSTR_INFO, &val);2005 rc |= VMXReadVMCS(VMX_VMCS32_RO_EXIT_INSTR_INFO, &val); 2006 2006 instrInfo = val; 2007 2007 rc |= VMXReadVMCS(VMX_VMCS_RO_EXIT_QUALIFICATION, &val); … … 2017 2017 2018 2018 /* Check if an injected event was interrupted prematurely. */ 2019 rc = VMXReadVMCS(VMX_VMCS _RO_IDT_INFO, &val);2019 rc = VMXReadVMCS(VMX_VMCS32_RO_IDT_INFO, &val); 2020 2020 AssertRC(rc); 2021 2021 pVCpu->hwaccm.s.Event.intInfo = VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(val); … … 2030 2030 if (VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID(pVCpu->hwaccm.s.Event.intInfo)) 2031 2031 { 2032 rc = VMXReadVMCS(VMX_VMCS _RO_IDT_ERRCODE, &val);2032 rc = VMXReadVMCS(VMX_VMCS32_RO_IDT_ERRCODE, &val); 2033 2033 AssertRC(rc); 2034 2034 pVCpu->hwaccm.s.Event.errCode = val; … … 3215 3215 RTCCUINTREG exitReason, instrError, val; 3216 3216 3217 rc = VMXReadVMCS(VMX_VMCS _RO_EXIT_REASON, &exitReason);3218 rc |= VMXReadVMCS(VMX_VMCS _RO_VM_INSTR_ERROR, &instrError);3217 rc = VMXReadVMCS(VMX_VMCS32_RO_EXIT_REASON, &exitReason); 3218 rc |= VMXReadVMCS(VMX_VMCS32_RO_VM_INSTR_ERROR, &instrError); 3219 3219 AssertRC(rc); 3220 3220 if (rc == VINF_SUCCESS)
Note:
See TracChangeset
for help on using the changeset viewer.