diff options
Diffstat (limited to 'cpukit/rtems')
-rw-r--r-- | cpukit/rtems/src/ratemontimeout.c | 5 | ||||
-rw-r--r-- | cpukit/rtems/src/timercreate.c | 9 | ||||
-rw-r--r-- | cpukit/rtems/src/timerserver.c | 7 |
3 files changed, 13 insertions, 8 deletions
diff --git a/cpukit/rtems/src/ratemontimeout.c b/cpukit/rtems/src/ratemontimeout.c index e2593f58b8..07549c4492 100644 --- a/cpukit/rtems/src/ratemontimeout.c +++ b/cpukit/rtems/src/ratemontimeout.c @@ -46,7 +46,10 @@ static void _Rate_monotonic_Renew_deadline( _Rate_monotonic_Release( the_period, lock_context ); } -void _Rate_monotonic_Timeout( Watchdog_Control *the_watchdog ) +void _Rate_monotonic_Timeout( + Watchdog_Control *the_watchdog, + Per_CPU_Control *cpu +) { Rate_monotonic_Control *the_period; Thread_Control *owner; diff --git a/cpukit/rtems/src/timercreate.c b/cpukit/rtems/src/timercreate.c index ad47ce505a..ae7c64a535 100644 --- a/cpukit/rtems/src/timercreate.c +++ b/cpukit/rtems/src/timercreate.c @@ -36,13 +36,14 @@ RTEMS_STATIC_ASSERT( Timer_server_Control *volatile _Timer_server; -void _Timer_Routine_adaptor( Watchdog_Control *the_watchdog ) +void _Timer_Routine_adaptor( + Watchdog_Control *the_watchdog, + Per_CPU_Control *cpu +) { - Timer_Control *the_timer; - Per_CPU_Control *cpu; + Timer_Control *the_timer; the_timer = RTEMS_CONTAINER_OF( the_watchdog, Timer_Control, Ticker ); - cpu = _Watchdog_Get_CPU( &the_timer->Ticker ); the_timer->stop_time = _Timer_Get_CPU_ticks( cpu ); ( *the_timer->routine )( the_timer->Object.id, the_timer->user_data ); diff --git a/cpukit/rtems/src/timerserver.c b/cpukit/rtems/src/timerserver.c index 09e792aa1c..95a8e2b53c 100644 --- a/cpukit/rtems/src/timerserver.c +++ b/cpukit/rtems/src/timerserver.c @@ -50,11 +50,13 @@ static void _Timer_server_Release( _ISR_lock_Release_and_ISR_enable( &ts->Lock, lock_context ); } -void _Timer_server_Routine_adaptor( Watchdog_Control *the_watchdog ) +void _Timer_server_Routine_adaptor( + Watchdog_Control *the_watchdog, + Per_CPU_Control *cpu +) { Timer_Control *the_timer; ISR_lock_Context lock_context; - Per_CPU_Control *cpu; Timer_server_Control *ts; bool wakeup; @@ -66,7 +68,6 @@ void _Timer_server_Routine_adaptor( Watchdog_Control *the_watchdog ) _Assert( _Watchdog_Get_state( &the_timer->Ticker ) == WATCHDOG_INACTIVE ); _Watchdog_Set_state( &the_timer->Ticker, WATCHDOG_PENDING ); - cpu = _Watchdog_Get_CPU( &the_timer->Ticker ); the_timer->stop_time = _Timer_Get_CPU_ticks( cpu ); wakeup = _Chain_Is_empty( &ts->Pending ); _Chain_Append_unprotected( &ts->Pending, &the_timer->Ticker.Node.Chain ); |