Changeset 69819 in vbox
- Timestamp:
- Nov 24, 2017 5:27:07 AM (7 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
r69764 r69819 2552 2552 * 2553 2553 * @param pCtx The guest-CPU context. 2554 * 2555 * @sa hmR0SvmCanNstGstTakePhysIntr. 2554 2556 */ 2555 2557 VMM_INT_DECL(bool) CPUMCanSvmNstGstTakePhysIntr(PCCPUMCTX pCtx) … … 2591 2593 #else 2592 2594 Assert(CPUMIsGuestInSvmNestedHwVirtMode(pCtx)); 2595 Assert(pCtx->hwvirt.svm.fGif); 2593 2596 2594 2597 PCSVMVMCBCTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl; … … 2598 2601 2599 2602 if (!pCtx->rflags.Bits.u1IF) 2600 return false;2601 2602 if (!pCtx->hwvirt.svm.fGif)2603 2603 return false; 2604 2604 -
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r69801 r69819 2737 2737 { 2738 2738 pCtx->cr2 = uFaultAddress; 2739 /* The VMCB clean bit for CR2 will be updated while re-loading the guest state. */ 2739 2740 HMCPU_CF_SET(pVCpu, HM_CHANGED_GUEST_CR2); 2740 2741 } … … 3052 3053 * nested-guest VMCB which may have been suitably modified for executing 3053 3054 * using hardware-assisted SVM. 3055 * 3056 * @sa CPUMCanSvmNstGstTakePhysIntr. 3054 3057 */ 3055 3058 static bool hmR0SvmCanNstGstTakePhysIntr(PVMCPU pVCpu, PCCPUMCTX pCtx) … … 3179 3182 * nested-guest VMCB interrupt control fields besides V_INTR_MASKING, see hmR0SvmVmRunCacheVmcb. 3180 3183 */ 3181 if ( (pVmcbNstGstCache->u64InterceptCtrl & SVM_CTRL_INTERCEPT_VINTR)3182 && VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_INTERRUPT_NESTED_GUEST)3184 if ( VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_INTERRUPT_NESTED_GUEST) 3185 && (pVmcbNstGstCache->u64InterceptCtrl & SVM_CTRL_INTERCEPT_VINTR) 3183 3186 && CPUMCanSvmNstGstTakeVirtIntr(pCtx)) 3184 3187 {
Note:
See TracChangeset
for help on using the changeset viewer.