儲存庫 vbox 的更動 75998
- 時間撮記:
- 2018-12-6 上午07:35:24 (6 年 以前)
- svn:sync-xref-src-repo-rev:
- 127219
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/VMM/VMMAll/EMAll.cpp
r75646 r75998 249 249 VMM_INT_DECL(bool) EMMonitorWaitShouldContinue(PVMCPU pVCpu, PCPUMCTX pCtx) 250 250 { 251 if ( pCtx->eflags.Bits.u1IF 252 || ( (pVCpu->em.s.MWait.fWait & (EMMWAIT_FLAG_ACTIVE | EMMWAIT_FLAG_BREAKIRQIF0)) 253 == (EMMWAIT_FLAG_ACTIVE | EMMWAIT_FLAG_BREAKIRQIF0)) ) 254 { 255 if (VMCPU_FF_IS_ANY_SET(pVCpu, (VMCPU_FF_UPDATE_APIC | VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC))) 251 if (CPUMGetGuestGif(pCtx)) 252 { 253 if ( CPUMIsGuestPhysIntrEnabled(pVCpu) 254 || ( CPUMIsGuestInNestedHwvirtMode(pCtx) 255 && CPUMIsGuestVirtIntrEnabled(pVCpu)) 256 || ( (pVCpu->em.s.MWait.fWait & (EMMWAIT_FLAG_ACTIVE | EMMWAIT_FLAG_BREAKIRQIF0)) 257 == (EMMWAIT_FLAG_ACTIVE | EMMWAIT_FLAG_BREAKIRQIF0)) ) 256 258 { 257 pVCpu->em.s.MWait.fWait &= ~(EMMWAIT_FLAG_ACTIVE | EMMWAIT_FLAG_BREAKIRQIF0); 258 return true; 259 if (VMCPU_FF_IS_ANY_SET(pVCpu, ( VMCPU_FF_UPDATE_APIC | VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC 260 | VMCPU_FF_INTERRUPT_NESTED_GUEST))) 261 { 262 pVCpu->em.s.MWait.fWait &= ~(EMMWAIT_FLAG_ACTIVE | EMMWAIT_FLAG_BREAKIRQIF0); 263 return true; 264 } 259 265 } 260 266 } … … 274 280 VMM_INT_DECL(bool) EMShouldContinueAfterHalt(PVMCPU pVCpu, PCPUMCTX pCtx) 275 281 { 276 /** @todo Shouldn't we be checking GIF here? */ 277 if (pCtx->eflags.Bits.u1IF) 278 return VMCPU_FF_IS_ANY_SET(pVCpu, (VMCPU_FF_UPDATE_APIC | VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC)); 282 if (CPUMGetGuestGif(pCtx)) 283 { 284 if (CPUMIsGuestPhysIntrEnabled(pVCpu)) 285 return VMCPU_FF_IS_ANY_SET(pVCpu, (VMCPU_FF_UPDATE_APIC | VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC)); 286 287 if ( CPUMIsGuestInNestedHwvirtMode(pCtx) 288 && CPUMIsGuestVirtIntrEnabled(pVCpu)) 289 return VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INTERRUPT_NESTED_GUEST); 290 } 279 291 return false; 280 292 }
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器