summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-12-23 07:29:47 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-01-19 08:36:14 +0100
commit76ac1ee3bba2a20ded7ea12394af0a633be25ff9 (patch)
tree802c0a592b72ce017bb0e739f138d1877b9475ab /c/src/lib/libbsp/shared
parenttaskcreate.c: Add method name to comment to be clearer (diff)
downloadrtems-76ac1ee3bba2a20ded7ea12394af0a633be25ff9.tar.bz2
score: Fix simple timecounter support
Update #2502.
Diffstat (limited to 'c/src/lib/libbsp/shared')
-rw-r--r--c/src/lib/libbsp/shared/clockdrv_shell.h16
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();