Changeset 74785 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Oct 12, 2018 10:14:19 AM (6 years ago)
- Location:
- trunk/src/VBox/VMM/VMMR3
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/DBGF.cpp
r73414 r74785 299 299 unfortunately required by plugin unloading. */ 300 300 if ( VM_FF_IS_PENDING(pVM, VM_FF_REQUEST) 301 || VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_REQUEST))301 || VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_REQUEST)) 302 302 { 303 303 LogFlow(("DBGFR3PowerOff: Processes priority requests...\n")); … … 392 392 /* Process priority stuff. */ 393 393 if ( VM_FF_IS_PENDING(pVM, VM_FF_REQUEST) 394 || VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_REQUEST))394 || VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_REQUEST)) 395 395 { 396 396 int rc = VMR3ReqProcessU(pVM->pUVM, VMCPUID_ANY, true /*fPriorityOnly*/); … … 835 835 int rc; 836 836 if ( !VM_FF_IS_PENDING(pVM, VM_FF_EMT_RENDEZVOUS | VM_FF_REQUEST) 837 && !VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_REQUEST))837 && !VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_REQUEST)) 838 838 { 839 839 rc = RTSemPingWait(&pVM->dbgf.s.PingPong, cPollHack); … … 853 853 } 854 854 else if ( VM_FF_IS_PENDING(pVM, VM_FF_REQUEST) 855 || VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_REQUEST))855 || VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_REQUEST)) 856 856 { 857 857 LogFlow(("dbgfR3VMMWait: Processes requests...\n")); -
trunk/src/VBox/VMM/VMMR3/EM.cpp
r73617 r74785 1650 1650 VBOXVMM_EM_FF_HIGH(pVCpu, pVM->fGlobalForcedActions, pVCpu->fLocalForcedActions, VBOXSTRICTRC_VAL(rc)); 1651 1651 1652 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_PDM_CRITSECT))1652 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_PDM_CRITSECT)) 1653 1653 PDMCritSectBothFF(pVCpu); 1654 1654 1655 1655 /* Update CR3 (Nested Paging case for HM). */ 1656 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_HM_UPDATE_CR3))1656 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_HM_UPDATE_CR3)) 1657 1657 { 1658 1658 CPUM_IMPORT_EXTRN_RCSTRICT(pVCpu, CPUMCTX_EXTRN_CR0 | CPUMCTX_EXTRN_CR3 | CPUMCTX_EXTRN_CR4 | CPUMCTX_EXTRN_EFER, rc); … … 1660 1660 if (RT_FAILURE(rc2)) 1661 1661 return rc2; 1662 Assert(!VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_HM_UPDATE_CR3));1662 Assert(!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_HM_UPDATE_CR3)); 1663 1663 } 1664 1664 1665 1665 /* Update PAE PDPEs. This must be done *after* PGMUpdateCR3() and used only by the Nested Paging case for HM. */ 1666 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_HM_UPDATE_PAE_PDPES))1666 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_HM_UPDATE_PAE_PDPES)) 1667 1667 { 1668 1668 CPUM_IMPORT_EXTRN_RCSTRICT(pVCpu, CPUMCTX_EXTRN_CR0 | CPUMCTX_EXTRN_CR3 | CPUMCTX_EXTRN_CR4 | CPUMCTX_EXTRN_EFER, rc); … … 1673 1673 1674 1674 PGMGstUpdatePaePdpes(pVCpu, pPdpes); 1675 Assert(!VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_HM_UPDATE_PAE_PDPES));1675 Assert(!VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_HM_UPDATE_PAE_PDPES)); 1676 1676 } 1677 1677 else … … 1680 1680 1681 1681 /* IEM has pending work (typically memory write after INS instruction). */ 1682 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_IEM))1682 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_IEM)) 1683 1683 rc = IEMR3ProcessForceFlag(pVM, pVCpu, rc); 1684 1684 1685 1685 /* IOM has pending work (comitting an I/O or MMIO write). */ 1686 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_IOM))1686 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_IOM)) 1687 1687 { 1688 1688 rc = IOMR3ProcessForceFlag(pVM, pVCpu, rc); … … 1696 1696 1697 1697 #ifdef VBOX_WITH_RAW_MODE 1698 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_CSAM_PENDING_ACTION))1698 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_CSAM_PENDING_ACTION)) 1699 1699 CSAMR3DoPendingAction(pVM, pVCpu); 1700 1700 #endif … … 1779 1779 } 1780 1780 1781 if ( VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_INTERRUPT_NESTED_GUEST)1781 if ( VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INTERRUPT_NESTED_GUEST) 1782 1782 && CPUMCanSvmNstGstTakeVirtIntr(pVCpu, &pVCpu->cpum.GstCtx)) 1783 1783 { … … 1916 1916 * Debugger Facility polling. 1917 1917 */ 1918 if ( VM_FF_IS_ PENDING(pVM, VM_FF_DBGF)1919 || VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_DBGF) )1918 if ( VM_FF_IS_SET(pVM, VM_FF_DBGF) 1919 || VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_DBGF) ) 1920 1920 { 1921 1921 CPUM_IMPORT_EXTRN_RCSTRICT(pVCpu, ~CPUMCTX_EXTRN_KEEPER_MASK, rc); … … 1938 1938 * CSAM page scanning. 1939 1939 */ 1940 if ( !VM_FF_IS_ PENDING(pVM, VM_FF_PGM_NO_MEMORY)1941 && VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_CSAM_SCAN_PAGE))1940 if ( !VM_FF_IS_SET(pVM, VM_FF_PGM_NO_MEMORY) 1941 && VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_CSAM_SCAN_PAGE)) 1942 1942 { 1943 1943 /** @todo check for 16 or 32 bits code! (D bit in the code selector) */ … … 2056 2056 * (Executed in no particular order.) 2057 2057 */ 2058 if ( !VM_FF_IS_ PENDING(pVM, VM_FF_PGM_NO_MEMORY)2058 if ( !VM_FF_IS_SET(pVM, VM_FF_PGM_NO_MEMORY) 2059 2059 && VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_NORMAL_PRIORITY_MASK)) 2060 2060 { … … 2062 2062 * Requests from other threads. 2063 2063 */ 2064 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_REQUEST))2064 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_REQUEST)) 2065 2065 { 2066 2066 CPUM_IMPORT_EXTRN_RCSTRICT(pVCpu, ~CPUMCTX_EXTRN_KEEPER_MASK, rc); … … 2100 2100 * Timers before interrupts. 2101 2101 */ 2102 if ( VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_TIMER)2102 if ( VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_TIMER) 2103 2103 && !VM_FF_IS_PENDING(pVM, VM_FF_PGM_NO_MEMORY)) 2104 2104 TMR3TimerQueuesDo(pVM); … … 2122 2122 * you might think. 2123 2123 */ 2124 if ( VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS)2124 if ( VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS) 2125 2125 && !VM_FF_IS_PENDING(pVM, VM_FF_PGM_NO_MEMORY)) 2126 2126 { … … 2142 2142 && (!rc || rc >= VINF_EM_RESCHEDULE_HM)) 2143 2143 { 2144 if ( !VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS)2144 if ( !VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS) 2145 2145 && !TRPMHasTrap(pVCpu)) /* an interrupt could already be scheduled for dispatching in the recompiler. */ 2146 2146 { … … 2210 2210 */ 2211 2211 if ( ( VM_FF_IS_PENDING(pVM, VM_FF_DBGF) 2212 || VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_DBGF) )2212 || VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_DBGF) ) 2213 2213 && !VM_FF_IS_PENDING(pVM, VM_FF_PGM_NO_MEMORY) ) 2214 2214 { … … 2722 2722 if ( enmOldState == EMSTATE_HALTED 2723 2723 && ( (pVCpu->em.s.MWait.fWait & EMMWAIT_FLAG_ACTIVE) 2724 || VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_UNHALT))2724 || VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_UNHALT)) 2725 2725 && ( enmNewState == EMSTATE_RAW 2726 2726 || enmNewState == EMSTATE_HM … … 2739 2739 pVCpu->em.s.MWait.fWait &= ~(EMMWAIT_FLAG_ACTIVE | EMMWAIT_FLAG_BREAKIRQIF0); 2740 2740 } 2741 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_UNHALT))2741 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_UNHALT)) 2742 2742 { 2743 2743 LogFlow(("EMR3ExecuteVM: Clearing UNHALT\n")); -
trunk/src/VBox/VMM/VMMR3/EMRaw.cpp
r72634 r74785 1180 1180 * PGMSyncCR3+pgmR3PoolClearAll is pending. 1181 1181 */ 1182 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_TRPM_SYNC_IDT))1183 { 1184 if ( VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_PGM_SYNC_CR3)1182 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_TRPM_SYNC_IDT)) 1183 { 1184 if ( VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_PGM_SYNC_CR3) 1185 1185 && EMIsRawRing0Enabled(pVM) 1186 1186 && CSAMIsEnabled(pVM)) … … 1199 1199 * Sync TSS. 1200 1200 */ 1201 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_SELM_SYNC_TSS))1201 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_SELM_SYNC_TSS)) 1202 1202 { 1203 1203 int rc = SELMR3SyncTSS(pVM, pVCpu); -
trunk/src/VBox/VMM/VMMR3/VMM.cpp
r73481 r74785 2845 2845 * when entering other critsects here. 2846 2846 */ 2847 if (VMCPU_FF_IS_ PENDING(pVCpu, VMCPU_FF_PDM_CRITSECT))2847 if (VMCPU_FF_IS_SET(pVCpu, VMCPU_FF_PDM_CRITSECT)) 2848 2848 PDMCritSectBothFF(pVCpu); 2849 2849
Note:
See TracChangeset
for help on using the changeset viewer.