Changeset 48148 in vbox for trunk/src/VBox
- Timestamp:
- Aug 29, 2013 12:04:40 PM (11 years ago)
- Location:
- trunk/src/VBox/Runtime
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/solaris/timer-r0drv-solaris.c
r44528 r48148 206 206 return VERR_NOT_SUPPORTED; 207 207 208 /* One-shot timers are not supported by the cyclic system. */ 209 if (u64NanoInterval == 0) 210 return VERR_NOT_SUPPORTED; 211 208 212 /* 209 213 * Allocate and initialize the timer handle. … … 342 346 pSingleTimer->hFireTime.cyt_interval = pTimer->interval; 343 347 348 /* Disable interrupts to prevent timer firing between cyclic_add() and cyclic_bind(). */ 349 RTCCUINTREG uEflags = ASMIntDisableFlags(); 350 344 351 pTimer->hCyclicId = cyclic_add(&pSingleTimer->hHandler, &pSingleTimer->hFireTime); 345 352 if (iCpu != SOL_TIMER_ANY_CPU) 346 353 cyclic_bind(pTimer->hCyclicId, cpu[iCpu], NULL /* cpupart */); 347 354 355 ASMSetFlags(uEflags); 348 356 mutex_exit(&cpu_lock); 349 357 } -
trunk/src/VBox/Runtime/testcase/tstRTR0TimerDriver.cpp
r48129 r48148 61 61 * Standard timers. 62 62 */ 63 # ifndef RT_OS_SOLARIS // one-shot timers currently not supported on Solaris64 63 RTR3TestR0SimpleTest(TSTRTR0TIMER_ONE_SHOT_BASIC, "Basic one shot"); 65 # endif66 64 RTR3TestR0SimpleTest(TSTRTR0TIMER_PERIODIC_BASIC, "Basic periodic"); 67 65 if (RTTestErrorCount(g_hTest) == 0) 68 66 { 69 67 # if 1 70 # ifndef RT_OS_SOLARIS // one-shot timers currently not supported on Solaris71 68 RTR3TestR0SimpleTest(TSTRTR0TIMER_ONE_SHOT_RESTART, "Restart one shot from callback"); 72 69 RTR3TestR0SimpleTest(TSTRTR0TIMER_ONE_SHOT_DESTROY, "Destroy one shot from callback"); 73 # endif74 70 RTR3TestR0SimpleTest(TSTRTR0TIMER_PERIODIC_CSSD_LOOPS, "Create-start-stop-destroy loops"); 75 71 for (uint32_t i = 0; i <= 7; i++) 76 72 RTR3TestR0SimpleTestWithArg(TSTRTR0TIMER_PERIODIC_CHANGE_INTERVAL, i, "Change interval from callback, variation %u", i); 77 73 # endif 78 # ifndef RT_OS_SOLARIS // one-shot timers currently not supported on Solaris79 74 RTR3TestR0SimpleTest(TSTRTR0TIMER_ONE_SHOT_SPECIFIC, "One shot cpu specific"); 80 # endif81 # ifndef RT_OS_SOLARIS // periodic specific timers have currently a bug on Solaris82 75 RTR3TestR0SimpleTest(TSTRTR0TIMER_PERIODIC_SPECIFIC, "Periodic cpu specific"); 83 # endif84 76 RTR3TestR0SimpleTest(TSTRTR0TIMER_PERIODIC_OMNI, "Periodic omni timer"); 85 77 } … … 108 100 RTR3TestR0SimpleTest(TSTRTR0TIMER_ONE_SHOT_SPECIFIC_HIRES, "One shot hires cpu specific"); 109 101 # endif 110 # ifndef RT_OS_SOLARIS // periodic specific timers have currently a bug on Solaris111 102 RTR3TestR0SimpleTest(TSTRTR0TIMER_PERIODIC_SPECIFIC_HIRES, "Periodic hires cpu specific"); 112 # endif113 103 RTR3TestR0SimpleTest(TSTRTR0TIMER_PERIODIC_OMNI, "Periodic omni hires timer"); 114 104 }
Note:
See TracChangeset
for help on using the changeset viewer.