Changeset 19697 in vbox
- Timestamp:
- May 14, 2009 2:00:44 PM (16 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/HWACCM.cpp
r19679 r19697 314 314 HWACCM_REG_COUNTER(&pVCpu->hwaccm.s.StatExitRdtsc, "/HWACCM/CPU%d/Exit/Instr/Rdtsc"); 315 315 HWACCM_REG_COUNTER(&pVCpu->hwaccm.s.StatExitRdpmc, "/HWACCM/CPU%d/Exit/Instr/Rdpmc"); 316 HWACCM_REG_COUNTER(&pVCpu->hwaccm.s.StatExitRdmsr, "/HWACCM/CPU%d/Exit/Instr/Rdmsr"); 317 HWACCM_REG_COUNTER(&pVCpu->hwaccm.s.StatExitWrmsr, "/HWACCM/CPU%d/Exit/Instr/Wrmsr"); 318 HWACCM_REG_COUNTER(&pVCpu->hwaccm.s.StatExitMwait, "/HWACCM/CPU%d/Exit/Instr/Mwait"); 316 319 HWACCM_REG_COUNTER(&pVCpu->hwaccm.s.StatExitDRxWrite, "/HWACCM/CPU%d/Exit/Instr/DR/Write"); 317 320 HWACCM_REG_COUNTER(&pVCpu->hwaccm.s.StatExitDRxRead, "/HWACCM/CPU%d/Exit/Instr/DR/Read"); -
trunk/src/VBox/VMM/HWACCMInternal.h
r19679 r19697 616 616 STAMCOUNTER StatExitDRxWrite; 617 617 STAMCOUNTER StatExitDRxRead; 618 STAMCOUNTER StatExitRdmsr; 619 STAMCOUNTER StatExitWrmsr; 618 620 STAMCOUNTER StatExitCLTS; 619 621 STAMCOUNTER StatExitHlt; 622 STAMCOUNTER StatExitMwait; 620 623 STAMCOUNTER StatExitLMSW; 621 624 STAMCOUNTER StatExitIOWrite; -
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r19693 r19697 2025 2025 case SVM_EXIT_HLT: 2026 2026 /** Check if external interrupts are pending; if so, don't switch back. */ 2027 STAM_COUNTER_INC(&pVCpu->hwaccm.s.StatExitHlt); 2027 2028 pCtx->rip++; /* skip hlt */ 2028 2029 if ( pCtx->eflags.Bits.u1IF … … 2035 2036 case SVM_EXIT_MWAIT_UNCOND: 2036 2037 Log2(("SVM: mwait\n")); 2038 STAM_COUNTER_INC(&pVCpu->hwaccm.s.StatExitMwait); 2037 2039 rc = EMInterpretMWait(pVM, pVCpu, CPUMCTX2CORE(pCtx)); 2038 2040 if ( rc == VINF_EM_HALT … … 2084 2086 2085 2087 /* Note: the intel manual claims there's a REX version of RDMSR that's slightly different, so we play safe by completely disassembling the instruction. */ 2088 STAM_COUNTER_INC((pVMCB->ctrl.u64ExitInfo1 == 0) ? &pVCpu->hwaccm.s.StatExitRdmsr : &pVCpu->hwaccm.s.StatExitWrmsr); 2086 2089 Log(("SVM: %s\n", (pVMCB->ctrl.u64ExitInfo1 == 0) ? "rdmsr" : "wrmsr")); 2087 2090 rc = EMInterpretInstruction(pVM, pVCpu, CPUMCTX2CORE(pCtx), 0, &cbSize); -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r19693 r19697 3003 3003 uint32_t cbSize; 3004 3004 3005 STAM_COUNTER_INC((exitReason == VMX_EXIT_RDMSR) ? &pVCpu->hwaccm.s.StatExitRdmsr : &pVCpu->hwaccm.s.StatExitWrmsr); 3006 3005 3007 /* Note: the intel manual claims there's a REX version of RDMSR that's slightly different, so we play safe by completely disassembling the instruction. */ 3006 3008 Log2(("VMX: %s\n", (exitReason == VMX_EXIT_RDMSR) ? "rdmsr" : "wrmsr")); … … 3371 3373 case VMX_EXIT_HLT: /* 12 Guest software attempted to execute HLT. */ 3372 3374 /** Check if external interrupts are pending; if so, don't switch back. */ 3375 STAM_COUNTER_INC(&pVCpu->hwaccm.s.StatExitHlt); 3373 3376 pCtx->rip++; /* skip hlt */ 3374 3377 if ( pCtx->eflags.Bits.u1IF … … 3381 3384 case VMX_EXIT_MWAIT: /* 36 Guest software executed MWAIT. */ 3382 3385 Log2(("VMX: mwait\n")); 3386 STAM_COUNTER_INC(&pVCpu->hwaccm.s.StatExitMwait); 3383 3387 rc = EMInterpretMWait(pVM, pVCpu, CPUMCTX2CORE(pCtx)); 3384 3388 if ( rc == VINF_EM_HALT
Note:
See TracChangeset
for help on using the changeset viewer.