summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/kern_tc.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/src/kern_tc.c')
-rw-r--r--cpukit/score/src/kern_tc.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/cpukit/score/src/kern_tc.c b/cpukit/score/src/kern_tc.c
index f6a1136d31..4257533455 100644
--- a/cpukit/score/src/kern_tc.c
+++ b/cpukit/score/src/kern_tc.c
@@ -64,7 +64,9 @@ __FBSDID("$FreeBSD r284178 2015-06-09T11:49:56Z$");
#ifdef __rtems__
#include <limits.h>
#include <rtems.h>
-ISR_LOCK_DEFINE(static, _Timecounter_Lock, "Timecounter");
+ISR_LOCK_DEFINE(, _Timecounter_Lock, "Timecounter")
+#define _Timecounter_Release(lock_context) \
+ _ISR_lock_Release_and_ISR_enable(&_Timecounter_Lock, lock_context)
#define hz rtems_clock_get_ticks_per_second()
#define printf(...)
#define log(...)
@@ -1383,7 +1385,7 @@ tc_windup(void)
#ifdef __rtems__
ISR_lock_Context lock_context;
- _ISR_lock_ISR_disable_and_acquire(&_Timecounter_Lock, &lock_context);
+ _Timecounter_Acquire(&lock_context);
#endif /* __rtems__ */
/*
@@ -1538,7 +1540,7 @@ tc_windup(void)
timekeep_push_vdso();
#endif /* __rtems__ */
#ifdef __rtems__
- _ISR_lock_Release_and_ISR_enable(&_Timecounter_Lock, &lock_context);
+ _Timecounter_Release(&lock_context);
#endif /* __rtems__ */
}
@@ -1963,14 +1965,12 @@ _Timecounter_Tick(void)
}
#ifdef __rtems__
void
-_Timecounter_Tick_simple(uint32_t delta, uint32_t offset)
+_Timecounter_Tick_simple(uint32_t delta, uint32_t offset,
+ ISR_lock_Context *lock_context)
{
struct bintime bt;
struct timehands *th;
uint32_t ogen;
- ISR_lock_Context lock_context;
-
- _ISR_lock_ISR_disable_and_acquire(&_Timecounter_Lock, &lock_context);
th = timehands;
ogen = th->th_generation;
@@ -1997,7 +1997,7 @@ _Timecounter_Tick_simple(uint32_t delta, uint32_t offset)
time_second = th->th_microtime.tv_sec;
time_uptime = th->th_offset.sec;
- _ISR_lock_Release_and_ISR_enable(&_Timecounter_Lock, &lock_context);
+ _Timecounter_Release(lock_context);
_Watchdog_Tick();
}