VirtualBox

Changeset 53789 in vbox


Ignore:
Timestamp:
Jan 13, 2015 4:43:25 PM (10 years ago)
Author:
vboxsync
Message:

Improved the ugly SVGA_REG_BUSY read hack a bit.

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/tm.h

    r53615 r53789  
    118118VMM_INT_DECL(uint64_t)  TMVirtualSyncGetEx(PVM pVM, bool fCheckTimers);
    119119VMM_INT_DECL(uint64_t)  TMVirtualSyncGetWithDeadlineNoCheck(PVM pVM, uint64_t *pcNsToDeadline);
    120 VMM_INT_DECL(uint64_t)  TMVirtualSyncGetNsToDeadline(PVM pVM);
     120VMMDECL(uint64_t)       TMVirtualSyncGetNsToDeadline(PVM pVM);
    121121VMM_INT_DECL(uint64_t)  TMVirtualToNano(PVM pVM, uint64_t u64VirtualTicks);
    122122VMM_INT_DECL(uint64_t)  TMVirtualToMicro(PVM pVM, uint64_t u64VirtualTicks);
  • trunk/src/VBox/Devices/Graphics/DevVGA-SVGA.cpp

    r53787 r53789  
    793793                    RTSemEventMultiReset(pSVGAState->hBusyDelayedEmts);
    794794                if (pThis->svga.fBusy)
    795                     RTSemEventMultiWait(pSVGAState->hBusyDelayedEmts, 50);
     795                {
     796                    /** @todo If this code is going to stay, we need to call into the halt/wait
     797                     *        code in VMEmt.cpp here, otherwise all kind of EMT interaction will
     798                     *        suffer when the guest is polling on a busy FIFO. */
     799                    uint64_t cNsMaxWait = TMVirtualSyncGetNsToDeadline(PDMDevHlpGetVM(pThis->pDevInsR3));
     800                    if (cNsMaxWait >= RT_NS_100US)
     801                        RTSemEventMultiWaitEx(pSVGAState->hBusyDelayedEmts,
     802                                              RTSEMWAIT_FLAGS_NANOSECS |  RTSEMWAIT_FLAGS_RELATIVE,
     803                                              RT_MIN(cNsMaxWait, RT_NS_10MS));
     804                }
    796805
    797806                ASMAtomicDecU32(&pSVGAState->cBusyDelayedEmts);
  • trunk/src/VBox/VMM/VMMAll/TMAllVirtual.cpp

    r46420 r53789  
    926926 * @remarks May set the timer and virtual sync FFs.
    927927 */
    928 VMM_INT_DECL(uint64_t) TMVirtualSyncGetNsToDeadline(PVM pVM)
     928VMMDECL(uint64_t) TMVirtualSyncGetNsToDeadline(PVM pVM)
    929929{
    930930    uint64_t cNsToDeadline;
Note: See TracChangeset for help on using the changeset viewer.

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