VirtualBox

Ignore:
Timestamp:
Oct 15, 2008 12:18:57 AM (16 years ago)
Author:
vboxsync
Message:

SUPDrv: Disable interrupts when executing supdrvGipUpdate/PerCpu on all platforms. This assumes RTMpCpuId and RtMpTimeSystemNanoTS are safe.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/SUPDrv.c

    r13258 r13271  
    45914591static DECLCALLBACK(void) supdrvGipSyncTimer(PRTTIMER pTimer, void *pvUser, uint64_t iTick)
    45924592{
    4593 #ifdef RT_OS_SOLARIS
    4594     RTCCUINTREG     fOldFlags = ASMIntDisableFlags(); /* brute force for S10. */
    4595 #endif
     4593    RTCCUINTREG     fOldFlags = ASMIntDisableFlags(); /* No interruptions please (real problem on S10). */
    45964594    PSUPDRVDEVEXT   pDevExt   = (PSUPDRVDEVEXT)pvUser;
     4595
    45974596    supdrvGipUpdate(pDevExt->pGip, RTTimeSystemNanoTS());
    45984597
    4599 #ifdef RT_OS_SOLARIS
    46004598    ASMSetFlags(fOldFlags);
    4601 #endif
    46024599}
    46034600
     
    46104607static DECLCALLBACK(void) supdrvGipAsyncTimer(PRTTIMER pTimer, void *pvUser, uint64_t iTick)
    46114608{
    4612 #ifdef RT_OS_SOLARIS
    4613     RTCCUINTREG     fOldFlags = ASMIntDisableFlags(); /* brute force for S10. */
    4614 #endif
     4609    RTCCUINTREG     fOldFlags = ASMIntDisableFlags(); /* No interruptions please (real problem on S10). */
    46154610    PSUPDRVDEVEXT   pDevExt   = (PSUPDRVDEVEXT)pvUser;
    46164611    RTCPUID         idCpu     = RTMpCpuId();
     
    46234618        supdrvGipUpdatePerCpu(pDevExt->pGip, NanoTS, ASMGetApicId());
    46244619
    4625 #ifdef RT_OS_SOLARIS
    46264620    ASMSetFlags(fOldFlags);
    4627 #endif
    46284621}
    46294622
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