Changeset 32458 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Sep 13, 2010 4:30:10 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 65829
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMGC/TRPMGCHandlers.cpp
r31636 r32458 186 186 */ 187 187 if ( rc == VINF_SUCCESS 188 && ( VM_FF_ISPENDING(pVM, VM_FF_TM_VIRTUAL_SYNC | VM_FF_REQUEST | VM_FF_PGM_NO_MEMORY )188 && ( VM_FF_ISPENDING(pVM, VM_FF_TM_VIRTUAL_SYNC | VM_FF_REQUEST | VM_FF_PGM_NO_MEMORY | VM_FF_PDM_DMA) 189 189 || VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_TIMER | VMCPU_FF_TO_R3 | VMCPU_FF_INTERRUPT_APIC | VMCPU_FF_INTERRUPT_PIC | VMCPU_FF_REQUEST | VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL) 190 190 ) … … 205 205 /* The Virtual Sync clock has stopped. */ 206 206 else if (VM_FF_ISPENDING(pVM, VM_FF_TM_VIRTUAL_SYNC)) 207 rc = VINF_EM_RAW_TO_R3; 208 /* DMA work pending? */ 209 else if (VM_FF_ISPENDING(pVM, VM_FF_PDM_DMA)) 207 210 rc = VINF_EM_RAW_TO_R3; 208 211 /* Pending interrupt: dispatch it. */ … … 243 246 #endif 244 247 } 248 /** @todo move up before SyncCR3 */ 245 249 /* Pending request packets might contain actions that need immediate attention, such as pending hardware interrupts. */ 246 250 else if ( VM_FF_ISPENDING(pVM, VM_FF_REQUEST) -
trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp
r31786 r32458 1030 1030 1031 1031 /* Check for pending actions that force us to go back to ring 3. */ 1032 if ( VM_FF_ISPENDING(pVM, VM_FF_HWACCM_TO_R3_MASK | VM_FF_REQUEST | VM_FF_PGM_POOL_FLUSH_PENDING )1032 if ( VM_FF_ISPENDING(pVM, VM_FF_HWACCM_TO_R3_MASK | VM_FF_REQUEST | VM_FF_PGM_POOL_FLUSH_PENDING | VM_FF_PDM_DMA) 1033 1033 || VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_HWACCM_TO_R3_MASK | VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL | VMCPU_FF_REQUEST)) 1034 1034 { … … 1072 1072 { 1073 1073 rc = VINF_PGM_POOL_FLUSH_PENDING; 1074 goto end; 1075 } 1076 1077 /* Check if DMA work is pending (2nd+ run). */ 1078 if (VM_FF_ISPENDING(pVM, VM_FF_PDM_DMA) && cResume > 1) 1079 { 1080 rc = VINF_EM_RAW_TO_R3; 1074 1081 goto end; 1075 1082 } -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r32419 r32458 2435 2435 2436 2436 /* Check for pending actions that force us to go back to ring 3. */ 2437 if ( VM_FF_ISPENDING(pVM, VM_FF_HWACCM_TO_R3_MASK | VM_FF_REQUEST | VM_FF_PGM_POOL_FLUSH_PENDING )2437 if ( VM_FF_ISPENDING(pVM, VM_FF_HWACCM_TO_R3_MASK | VM_FF_REQUEST | VM_FF_PGM_POOL_FLUSH_PENDING | VM_FF_PDM_DMA) 2438 2438 || VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_HWACCM_TO_R3_MASK | VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL | VMCPU_FF_REQUEST)) 2439 2439 { … … 2477 2477 { 2478 2478 rc = VINF_PGM_POOL_FLUSH_PENDING; 2479 goto end; 2480 } 2481 2482 /* Check if DMA work is pending (2nd+ run). */ 2483 if (VM_FF_ISPENDING(pVM, VM_FF_PDM_DMA) && cResume > 1) 2484 { 2485 rc = VINF_EM_RAW_TO_R3; 2479 2486 goto end; 2480 2487 }
Note:
See TracChangeset
for help on using the changeset viewer.