Changeset 46918 in vbox
- Timestamp:
- Jul 2, 2013 5:45:04 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/EM.cpp
r46780 r46918 1838 1838 /** @todo this really isn't nice, should properly handle this */ 1839 1839 rc2 = TRPMR3InjectEvent(pVM, pVCpu, TRPM_HARDWARE_INT); 1840 if (pVM->em.s.fIemExecutesAll && rc2 == VINF_EM_RESCHEDULE_REM) 1841 rc2 = VINF_EM_RESCHEDULE; 1840 1842 #ifdef VBOX_STRICT 1841 1843 rcIrq = rc2; … … 1849 1851 else if (REMR3QueryPendingInterrupt(pVM, pVCpu) != REM_NO_PENDING_IRQ) 1850 1852 { 1853 Log2(("REMR3QueryPendingInterrupt -> %#x\n", REMR3QueryPendingInterrupt(pVM, pVCpu))); 1851 1854 rc2 = VINF_EM_RESCHEDULE_REM; 1852 1855 UPDATE_RC(); … … 2050 2053 else 2051 2054 pVCpu->em.s.enmState = emR3Reschedule(pVM, pVCpu, pVCpu->em.s.pCtx); 2055 Log(("EMR3ExecuteVM: enmState=%s\n", emR3GetStateName(pVCpu->em.s.enmState))); 2052 2056 2053 2057 STAM_REL_PROFILE_ADV_START(&pVCpu->em.s.StatTotal, x); … … 2097 2101 case VINF_EM_RESCHEDULE_RAW: 2098 2102 Log2(("EMR3ExecuteVM: VINF_EM_RESCHEDULE_RAW: %d -> %d (EMSTATE_RAW)\n", enmOldState, EMSTATE_RAW)); 2099 pVCpu->em.s.enmState = EMSTATE_RAW;2103 Assert(!pVM->em.s.fIemExecutesAll || pVCpu->em.s.enmState != EMSTATE_IEM); 2100 2104 break; 2101 2105 … … 2105 2109 case VINF_EM_RESCHEDULE_HM: 2106 2110 Log2(("EMR3ExecuteVM: VINF_EM_RESCHEDULE_HM: %d -> %d (EMSTATE_HM)\n", enmOldState, EMSTATE_HM)); 2111 Assert(!pVM->em.s.fIemExecutesAll || pVCpu->em.s.enmState != EMSTATE_IEM); 2107 2112 Assert(!pVCpu->em.s.fForceRAW); 2108 2113 pVCpu->em.s.enmState = EMSTATE_HM; … … 2114 2119 case VINF_EM_RESCHEDULE_REM: 2115 2120 Log2(("EMR3ExecuteVM: VINF_EM_RESCHEDULE_REM: %d -> %d (EMSTATE_REM)\n", enmOldState, EMSTATE_REM)); 2121 Assert(!pVM->em.s.fIemExecutesAll || pVCpu->em.s.enmState != EMSTATE_IEM); 2116 2122 pVCpu->em.s.enmState = EMSTATE_REM; 2117 2123 break;
Note:
See TracChangeset
for help on using the changeset viewer.