- Timestamp:
- Apr 19, 2018 10:03:20 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r71914 r71915 2734 2734 2735 2735 #ifdef VBOX_WITH_NESTED_HWVIRT 2736 /* 2737 * Guest Virtual GIF (Global Interrupt Flag). 2738 */ 2739 if (pVmcb->ctrl.IntCtrl.n.u1VGifEnable == 1) 2740 { 2741 Assert(pVCpu->CTX_SUFF(pVM)->hm.s.svm.fVGif); 2742 Assert(!CPUMIsGuestInSvmNestedHwVirtMode(pMixedCtx)); 2743 pMixedCtx->hwvirt.fGif = pVmcb->ctrl.IntCtrl.n.u1VGif; 2736 if (!CPUMIsGuestInSvmNestedHwVirtMode(pMixedCtx)) 2737 { 2738 if (pVmcb->ctrl.IntCtrl.n.u1VGifEnable) 2739 { 2740 /* 2741 * Guest Virtual GIF (Global Interrupt Flag). 2742 * We don't yet support passing VGIF feature to the guest. 2743 */ 2744 Assert(pVCpu->CTX_SUFF(pVM)->hm.s.svm.fVGif); 2745 pMixedCtx->hwvirt.fGif = pVmcb->ctrl.IntCtrl.n.u1VGif; 2746 } 2747 } 2748 else 2749 { 2750 /* Sync/verify nested-guest's V_IRQ pending and our force-flag. */ 2751 if (!pVmcb->ctrl.IntCtrl.n.u1VIrqPending) 2752 { 2753 if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_INTERRUPT_NESTED_GUEST)) 2754 VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_INTERRUPT_NESTED_GUEST); 2755 } 2756 else 2757 Assert(VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_INTERRUPT_NESTED_GUEST)); 2744 2758 } 2745 2759 #endif … … 3133 3147 * RDTSC/RDTSCP as well. 3134 3148 */ 3135 bool fParavirtTsc;3136 uint64_t uTscOffset;3149 bool fParavirtTsc; 3150 uint64_t uTscOffset; 3137 3151 bool const fCanUseRealTsc = TMCpuTickCanUseRealTSC(pVM, pVCpu, &uTscOffset, &fParavirtTsc); 3138 3152
Note:
See TracChangeset
for help on using the changeset viewer.