Changeset 46774 in vbox for trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
- Timestamp:
- Jun 25, 2013 12:27:49 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r46762 r46774 740 740 Assert(pVM->hm.s.svm.fSupported); 741 741 742 bool fFlushPending = pVM->hm.s.svm.fAlwaysFlushTLB | VMCPU_FF_IS_ SET(pVCpu, VMCPU_FF_TLB_FLUSH);742 bool fFlushPending = pVM->hm.s.svm.fAlwaysFlushTLB | VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_TLB_FLUSH); 743 743 744 744 /* Skip it if a TLB flush is already pending. */ … … 1966 1966 pVmcb->ctrl.EventInject.u = pEvent->u; 1967 1967 STAM_COUNTER_INC(&pVCpu->hm.s.paStatInjectedIrqsR0[pEvent->n.u8Vector & MASK_INJECT_IRQ_STAT]); 1968 1969 Log4(("hmR0SvmInjectEventVmcb: u=%#RX64 u8Vector=%#x Type=%#x ErrorCodeValid=%RTbool ErrorCode=%#RX32\n", pEvent->u, 1970 pEvent->n.u8Vector, (uint8_t)pEvent->n.u3Type, !!pEvent->n.u1ErrorCodeValid, pEvent->n.u32ErrorCode)); 1968 1971 } 1969 1972 … … 2145 2148 pVmcb->ctrl.u32InterceptCtrl1 |= SVM_CTRL1_INTERCEPT_VINTR; 2146 2149 pVmcb->ctrl.u64VmcbCleanBits &= ~(HMSVM_VMCB_CLEAN_INTERCEPTS | HMSVM_VMCB_CLEAN_TPR); 2150 2151 Log4(("Setting virtual interrupt intercept\n")); 2147 2152 } 2148 2153 } … … 2185 2190 hmR0SvmSetVirtIntrIntercept(pVmcb); 2186 2191 } /** @todo SMI. SMIs take priority over NMIs. */ 2187 else if (VMCPU_FF_IS_ SET(pVCpu, VMCPU_FF_INTERRUPT_NMI)) /* NMI. NMIs take priority over regular interrupts . */2192 else if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_INTERRUPT_NMI)) /* NMI. NMIs take priority over regular interrupts . */ 2188 2193 { 2189 2194 if (!fIntShadow) … … 2416 2421 if (VMCPU_FF_IS_PENDING(pVCpu,VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL)) 2417 2422 { 2418 int rc = PGMSyncCR3(pVCpu, pCtx->cr0, pCtx->cr3, pCtx->cr4, VMCPU_FF_IS_ SET(pVCpu, VMCPU_FF_PGM_SYNC_CR3));2423 int rc = PGMSyncCR3(pVCpu, pCtx->cr0, pCtx->cr3, pCtx->cr4, VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_PGM_SYNC_CR3)); 2419 2424 if (rc != VINF_SUCCESS) 2420 2425 { … … 2836 2841 case SVM_EXIT_MWAIT: 2837 2842 return hmR0SvmExitMwait(pVCpu, pCtx, pSvmTransient); 2843 2844 case SVM_EXIT_HLT: 2845 return hmR0SvmExitHlt(pVCpu, pCtx, pSvmTransient); 2838 2846 2839 2847 case SVM_EXIT_READ_CR0:
Note:
See TracChangeset
for help on using the changeset viewer.