Changeset 44267 in vbox for trunk/src/VBox
- Timestamp:
- Jan 10, 2013 11:43:26 AM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 83147
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r44262 r44267 762 762 VMXSetupCachedReadVmcs(pCache, VMX_VMCS32_RO_VM_INSTR_ERROR); 763 763 VMXSetupCachedReadVmcs(pCache, VMX_VMCS32_RO_EXIT_INSTR_LENGTH); 764 VMXSetupCachedReadVmcs(pCache, VMX_VMCS32_RO_EXIT_INTERRUPTION_ERR CODE);764 VMXSetupCachedReadVmcs(pCache, VMX_VMCS32_RO_EXIT_INTERRUPTION_ERROR_CODE); 765 765 VMXSetupCachedReadVmcs(pCache, VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO); 766 766 VMXSetupCachedReadVmcs(pCache, VMX_VMCS32_RO_EXIT_INSTR_INFO); 767 767 VMXSetupCachedReadVmcs(pCache, VMX_VMCS_RO_EXIT_QUALIFICATION); 768 768 VMXSetupCachedReadVmcs(pCache, VMX_VMCS32_RO_IDT_INFO); 769 VMXSetupCachedReadVmcs(pCache, VMX_VMCS32_RO_IDT_ERR CODE);769 VMXSetupCachedReadVmcs(pCache, VMX_VMCS32_RO_IDT_ERROR_CODE); 770 770 771 771 if (pVM->hm.s.fNestedPaging) … … 1178 1178 break; 1179 1179 case VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_INT: 1180 case VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_XCPT: 1180 case VMX_EXIT_INTERRUPTION_INFO_TYPE_SW_XCPT: /** @todo Is classifying #BP, #OF as TRPM_SOFTWARE_INT correct? */ 1181 1181 case VMX_EXIT_INTERRUPTION_INFO_TYPE_DB_XCPT: 1182 1182 enmTrapType = TRPM_SOFTWARE_INT; … … 3309 3309 rc2 |= VMXReadCachedVmcs(VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO, &intInfo); 3310 3310 /* might not be valid; depends on VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID. */ 3311 rc2 |= VMXReadCachedVmcs(VMX_VMCS32_RO_EXIT_INTERRUPTION_ERR CODE, &errCode);3311 rc2 |= VMXReadCachedVmcs(VMX_VMCS32_RO_EXIT_INTERRUPTION_ERROR_CODE, &errCode); 3312 3312 rc2 |= VMXReadCachedVmcs(VMX_VMCS32_RO_EXIT_INSTR_INFO, &instrInfo); 3313 3313 rc2 |= VMXReadCachedVmcs(VMX_VMCS_RO_EXIT_QUALIFICATION, &exitQualification); … … 3344 3344 if (VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID(pVCpu->hm.s.Event.u64IntrInfo)) 3345 3345 { 3346 rc2 = VMXReadCachedVmcs(VMX_VMCS32_RO_IDT_ERR CODE, &val);3346 rc2 = VMXReadCachedVmcs(VMX_VMCS32_RO_IDT_ERROR_CODE, &val); 3347 3347 AssertRC(rc2); 3348 3348 pVCpu->hm.s.Event.u32ErrCode = val; … … 4276 4276 STAM_COUNTER_INC((exitReason == VMX_EXIT_RDMSR) ? &pVCpu->hm.s.StatExitRdmsr : &pVCpu->hm.s.StatExitWrmsr); 4277 4277 4278 /*4279 * Note: The Intel spec. claims there's an REX version of RDMSR that's slightly different,4280 * so we play safe by completely disassembling the instruction.4281 */4282 4278 Log2(("VMX: %s\n", (exitReason == VMX_EXIT_RDMSR) ? "rdmsr" : "wrmsr")); 4283 4279 rc = EMInterpretInstruction(pVCpu, CPUMCTX2CORE(pCtx), 0); … … 5433 5429 case VMX_VMCS32_RO_VM_INSTR_ERROR: 5434 5430 case VMX_VMCS32_RO_EXIT_INSTR_LENGTH: 5435 case VMX_VMCS32_RO_EXIT_INTERRUPTION_ERR CODE:5431 case VMX_VMCS32_RO_EXIT_INTERRUPTION_ERROR_CODE: 5436 5432 case VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO: 5437 5433 case VMX_VMCS32_RO_EXIT_INSTR_INFO: 5438 5434 case VMX_VMCS_RO_EXIT_QUALIFICATION: 5439 5435 case VMX_VMCS32_RO_IDT_INFO: 5440 case VMX_VMCS32_RO_IDT_ERR CODE:5436 case VMX_VMCS32_RO_IDT_ERROR_CODE: 5441 5437 case VMX_VMCS_GUEST_CR3: 5442 5438 case VMX_VMCS64_EXIT_GUEST_PHYS_ADDR_FULL: -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.h
r43930 r44267 88 88 #define VMX_VMCS32_RO_VM_INSTR_ERROR_CACHE_IDX 49 89 89 #define VMX_VMCS32_RO_EXIT_INSTR_LENGTH_CACHE_IDX 50 90 #define VMX_VMCS32_RO_EXIT_INTERRUPTION_ERR CODE_CACHE_IDX5190 #define VMX_VMCS32_RO_EXIT_INTERRUPTION_ERROR_CODE_CACHE_IDX 51 91 91 #define VMX_VMCS32_RO_EXIT_INSTR_INFO_CACHE_IDX 52 92 92 #define VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO_CACHE_IDX 53 93 93 #define VMX_VMCS_RO_EXIT_QUALIFICATION_CACHE_IDX 54 94 94 #define VMX_VMCS32_RO_IDT_INFO_CACHE_IDX 55 95 #define VMX_VMCS32_RO_IDT_ERR CODE_CACHE_IDX5696 #define VMX_VMCS_MAX_CACHE_IDX (VMX_VMCS32_RO_IDT_ERR CODE_CACHE_IDX + 1)95 #define VMX_VMCS32_RO_IDT_ERROR_CODE_CACHE_IDX 56 96 #define VMX_VMCS_MAX_CACHE_IDX (VMX_VMCS32_RO_IDT_ERROR_CODE_CACHE_IDX + 1) 97 97 #define VMX_VMCS_GUEST_CR3_CACHE_IDX 57 98 98 #define VMX_VMCS64_EXIT_GUEST_PHYS_ADDR_FULL_CACHE_IDX 58 -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r44259 r44267 554 554 HM_REG_COUNTER(&pVCpu->hm.s.StatExitPreemptTimer, "/HM/CPU%d/Exit/PreemptTimer"); 555 555 HM_REG_COUNTER(&pVCpu->hm.s.StatExitTprBelowThreshold, "/HM/CPU%d/Exit/TprBelowThreshold"); 556 HM_REG_COUNTER(&pVCpu->hm.s.StatExitTaskSwitch, "/HM/CPU%d/Exit/TaskSwitch"); 556 557 HM_REG_COUNTER(&pVCpu->hm.s.StatExitMtf, "/HM/CPU%d/Exit/MonitorTrapFlag"); 557 558 -
trunk/src/VBox/VMM/include/HMInternal.h
r44259 r44267 789 789 STAMCOUNTER StatExitPreemptTimer; 790 790 STAMCOUNTER StatExitTprBelowThreshold; 791 STAMCOUNTER StatExitTaskSwitch; 791 792 STAMCOUNTER StatExitMtf; 792 793 STAMCOUNTER StatIntReinject;
Note:
See TracChangeset
for help on using the changeset viewer.