VirtualBox

Changeset 87774 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Feb 16, 2021 11:40:35 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
142830
Message:

VMM/TM: Removed pVMR3, pVMR0 and pVMRC from TMTIMER. [build fix] bugref:9943

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/TMAll.cpp

    r87773 r87774  
    450450 * Links a timer into the active list of a timer queue.
    451451 *
     452 * @param   pVM             The cross context VM structure.
    452453 * @param   pQueue          The queue.
    453454 * @param   pTimer          The timer.
     
    456457 * @remarks Called while owning the relevant queue lock.
    457458 */
    458 DECL_FORCE_INLINE(void) tmTimerQueueLinkActive(PTMTIMERQUEUE pQueue, PTMTIMER pTimer, uint64_t u64Expire)
     459DECL_FORCE_INLINE(void) tmTimerQueueLinkActive(PVMCC pVM, PTMTIMERQUEUE pQueue, PTMTIMER pTimer, uint64_t u64Expire)
    459460{
    460461    Assert(!pTimer->offNext);
    461462    Assert(!pTimer->offPrev);
    462463    Assert(pTimer->enmState == TMTIMERSTATE_ACTIVE || pTimer->enmClock != TMCLOCK_VIRTUAL_SYNC); /* (active is not a stable state) */
     464    RT_NOREF(pVM);
    463465
    464466    PTMTIMER pCur = TMTIMER_GET_HEAD(pQueue);
     
    478480                    TMTIMER_SET_HEAD(pQueue, pTimer);
    479481                    ASMAtomicWriteU64(&pQueue->u64Expire, u64Expire);
    480                     DBGFTRACE_U64_TAG2(pTimer->CTX_SUFF(pVM), u64Expire, "tmTimerQueueLinkActive head", pTimer->szName);
     482                    DBGFTRACE_U64_TAG2(pVM, u64Expire, "tmTimerQueueLinkActive head", pTimer->szName);
    481483                }
    482484                TMTIMER_SET_PREV(pCur, pTimer);
     
    487489                TMTIMER_SET_NEXT(pCur, pTimer);
    488490                TMTIMER_SET_PREV(pTimer, pCur);
    489                 DBGFTRACE_U64_TAG2(pTimer->CTX_SUFF(pVM), u64Expire, "tmTimerQueueLinkActive tail", pTimer->szName);
     491                DBGFTRACE_U64_TAG2(pVM, u64Expire, "tmTimerQueueLinkActive tail", pTimer->szName);
    490492                return;
    491493            }
     
    496498        TMTIMER_SET_HEAD(pQueue, pTimer);
    497499        ASMAtomicWriteU64(&pQueue->u64Expire, u64Expire);
    498         DBGFTRACE_U64_TAG2(pTimer->CTX_SUFF(pVM), u64Expire, "tmTimerQueueLinkActive empty", pTimer->szName);
     500        DBGFTRACE_U64_TAG2(pVM, u64Expire, "tmTimerQueueLinkActive empty", pTimer->szName);
    499501    }
    500502}
     
    531533                if (RT_UNLIKELY(!tmTimerTry(pTimer, TMTIMERSTATE_PENDING_SCHEDULE, TMTIMERSTATE_PENDING_RESCHEDULE)))
    532534                    break; /* retry */
    533                 tmTimerQueueUnlinkActive(pQueue, pTimer);
     535                tmTimerQueueUnlinkActive(pVM, pQueue, pTimer);
    534536                RT_FALL_THRU();
    535537
     
    541543                if (RT_UNLIKELY(!tmTimerTry(pTimer, TMTIMERSTATE_ACTIVE, TMTIMERSTATE_PENDING_SCHEDULE)))
    542544                    break; /* retry */
    543                 tmTimerQueueLinkActive(pQueue, pTimer, pTimer->u64Expire);
     545                tmTimerQueueLinkActive(pVM, pQueue, pTimer, pTimer->u64Expire);
    544546                return;
    545547
     
    550552                if (RT_UNLIKELY(!tmTimerTry(pTimer, TMTIMERSTATE_PENDING_STOP_SCHEDULE, TMTIMERSTATE_PENDING_STOP)))
    551553                    break; /* retry */
    552                 tmTimerQueueUnlinkActive(pQueue, pTimer);
     554                tmTimerQueueUnlinkActive(pVM, pQueue, pTimer);
    553555                RT_FALL_THRU();
    554556
     
    11671169 * @param   u64Expire       The new expire time.
    11681170 */
    1169 static int tmTimerSetOptimizedStart(PVM pVM, PTMTIMER pTimer, uint64_t u64Expire)
     1171static int tmTimerSetOptimizedStart(PVMCC pVM, PTMTIMER pTimer, uint64_t u64Expire)
    11701172{
    11711173    Assert(!pTimer->offPrev);
     
    11911193     * Link the timer into the active list.
    11921194     */
    1193     tmTimerQueueLinkActive(&pVM->tm.s.CTX_SUFF(paTimerQueues)[enmClock], pTimer, u64Expire);
     1195    tmTimerQueueLinkActive(pVM, &pVM->tm.s.CTX_SUFF(paTimerQueues)[enmClock], pTimer, u64Expire);
    11941196
    11951197    STAM_COUNTER_INC(&pVM->tm.s.StatTimerSetOpt);
     
    12331235            pTimer->u64Expire = u64Expire;
    12341236            TM_SET_STATE(pTimer, TMTIMERSTATE_ACTIVE);
    1235             tmTimerQueueLinkActive(pQueue, pTimer, u64Expire);
     1237            tmTimerQueueLinkActive(pVM, pQueue, pTimer, u64Expire);
    12361238            rc = VINF_SUCCESS;
    12371239            break;
     
    12391241        case TMTIMERSTATE_ACTIVE:
    12401242            STAM_COUNTER_INC(&pVM->tm.s.StatTimerSetVsStActive);
    1241             tmTimerQueueUnlinkActive(pQueue, pTimer);
     1243            tmTimerQueueUnlinkActive(pVM, pQueue, pTimer);
    12421244            pTimer->u64Expire = u64Expire;
    1243             tmTimerQueueLinkActive(pQueue, pTimer, u64Expire);
     1245            tmTimerQueueLinkActive(pVM, pQueue, pTimer, u64Expire);
    12441246            rc = VINF_SUCCESS;
    12451247            break;
     
    14921494     */
    14931495    DBGFTRACE_U64_TAG2(pVM, u64Expire, "tmTimerSetRelativeOptimizedStart", pTimer->szName);
    1494     tmTimerQueueLinkActive(&pVM->tm.s.CTX_SUFF(paTimerQueues)[enmClock], pTimer, u64Expire);
     1496    tmTimerQueueLinkActive(pVM, &pVM->tm.s.CTX_SUFF(paTimerQueues)[enmClock], pTimer, u64Expire);
    14951497
    14961498    STAM_COUNTER_INC(&pVM->tm.s.StatTimerSetRelativeOpt);
     
    15401542            pTimer->u64Expire = u64Expire;
    15411543            TM_SET_STATE(pTimer, TMTIMERSTATE_ACTIVE);
    1542             tmTimerQueueLinkActive(pQueue, pTimer, u64Expire);
     1544            tmTimerQueueLinkActive(pVM, pQueue, pTimer, u64Expire);
    15431545            rc = VINF_SUCCESS;
    15441546            break;
     
    15461548        case TMTIMERSTATE_ACTIVE:
    15471549            STAM_COUNTER_INC(&pVM->tm.s.StatTimerSetRelativeVsStActive);
    1548             tmTimerQueueUnlinkActive(pQueue, pTimer);
     1550            tmTimerQueueUnlinkActive(pVM, pQueue, pTimer);
    15491551            pTimer->u64Expire = u64Expire;
    1550             tmTimerQueueLinkActive(pQueue, pTimer, u64Expire);
     1552            tmTimerQueueLinkActive(pVM, pQueue, pTimer, u64Expire);
    15511553            rc = VINF_SUCCESS;
    15521554            break;
     
    18821884    {
    18831885        case TMTIMERSTATE_ACTIVE:
    1884             tmTimerQueueUnlinkActive(pQueue, pTimer);
     1886            tmTimerQueueUnlinkActive(pVM, pQueue, pTimer);
    18851887            TM_SET_STATE(pTimer, TMTIMERSTATE_STOPPED);
    18861888            rc = VINF_SUCCESS;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette