diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-12-23 07:29:47 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-01-19 08:36:14 +0100 |
commit | 76ac1ee3bba2a20ded7ea12394af0a633be25ff9 (patch) | |
tree | 802c0a592b72ce017bb0e739f138d1877b9475ab /c/src/lib/libbsp/shared/clockdrv_shell.h | |
parent | taskcreate.c: Add method name to comment to be clearer (diff) | |
download | rtems-76ac1ee3bba2a20ded7ea12394af0a633be25ff9.tar.bz2 |
score: Fix simple timecounter support
Update #2502.
Diffstat (limited to 'c/src/lib/libbsp/shared/clockdrv_shell.h')
-rw-r--r-- | c/src/lib/libbsp/shared/clockdrv_shell.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/shared/clockdrv_shell.h b/c/src/lib/libbsp/shared/clockdrv_shell.h index ee4cf9c239..9bf5d9b73a 100644 --- a/c/src/lib/libbsp/shared/clockdrv_shell.h +++ b/c/src/lib/libbsp/shared/clockdrv_shell.h @@ -44,6 +44,13 @@ #define Clock_driver_support_find_timer() #endif +/** + * @brief Do nothing by default. + */ +#ifndef Clock_driver_support_at_tick + #define Clock_driver_support_at_tick() +#endif + /* * A specialized clock driver may use for example rtems_timecounter_tick_simple() * instead of the default. @@ -108,7 +115,14 @@ rtems_isr Clock_isr( && _Thread_Executing->Start.Entry.Kinds.Idle.entry == rtems_configuration_get_idle_task() ) { - _Timecounter_Tick_simple(interval, (*tc->tc_get_timecount)(tc)); + ISR_lock_Context lock_context; + + _Timecounter_Acquire(&lock_context); + _Timecounter_Tick_simple( + interval, + (*tc->tc_get_timecount)(tc), + &lock_context + ); } Clock_driver_support_at_tick(); |