summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/kern_tc.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-02-18 08:36:16 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-03-04 13:36:10 +0100
commit90d8567d34a6d80da04b1cb37b667a3173f584c4 (patch)
tree221e66b9da1dd9dd79d01e507f0026bfb477b810 /cpukit/score/src/kern_tc.c
parentscore: Add _SMP_Before_multitasking_action() (diff)
downloadrtems-90d8567d34a6d80da04b1cb37b667a3173f584c4.tar.bz2
score: Distribute clock tick to all online CPUs
Update #2554.
Diffstat (limited to 'cpukit/score/src/kern_tc.c')
-rw-r--r--cpukit/score/src/kern_tc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/cpukit/score/src/kern_tc.c b/cpukit/score/src/kern_tc.c
index 16d76a1789..e56c292ea3 100644
--- a/cpukit/score/src/kern_tc.c
+++ b/cpukit/score/src/kern_tc.c
@@ -1974,10 +1974,15 @@ tc_ticktock(int cnt)
void
_Timecounter_Tick(void)
{
+ Per_CPU_Control *cpu_self = _Per_CPU_Get();
+
+ if (_Per_CPU_Is_boot_processor(cpu_self)) {
#endif /* __rtems__ */
tc_windup();
#ifdef __rtems__
- _Watchdog_Tick();
+ };
+
+ _Watchdog_Tick(cpu_self);
#endif /* __rtems__ */
}
#ifdef __rtems__
@@ -2016,7 +2021,7 @@ _Timecounter_Tick_simple(uint32_t delta, uint32_t offset,
_Timecounter_Release(lock_context);
- _Watchdog_Tick();
+ _Watchdog_Tick(_Per_CPU_Get());
}
#endif /* __rtems__ */