summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/bfin
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-05-27 17:31:46 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-05-31 15:20:31 +0200
commite3be6915989d79a8797b775974f501a359226319 (patch)
treeba03a5fdc008b33da067bb9837f8b6c6d82317e0 /c/src/lib/libcpu/bfin
parentbsps: Use _Objects_Information_table (diff)
downloadrtems-e3be6915989d79a8797b775974f501a359226319.tar.bz2
score: Remove idle field of Per_CPU_Control
This field is unused except for special case simulator clock drivers. In these places use an alternative. Add and use _Thread_Set_global_exit_status() and _Thread_Get_global_exit_status().
Diffstat (limited to 'c/src/lib/libcpu/bfin')
-rw-r--r--c/src/lib/libcpu/bfin/clock/clock.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/c/src/lib/libcpu/bfin/clock/clock.c b/c/src/lib/libcpu/bfin/clock/clock.c
index 530e5bad48..46525863b8 100644
--- a/c/src/lib/libcpu/bfin/clock/clock.c
+++ b/c/src/lib/libcpu/bfin/clock/clock.c
@@ -39,8 +39,11 @@ static rtems_isr clockISR(rtems_vector_number vector) {
#ifdef CLOCK_DRIVER_USE_FAST_IDLE
do {
rtems_clock_tick();
- } while (_Thread_Executing == _Thread_Idle &&
- _Thread_Heir == _Thread_Executing);
+ } while (
+ _Thread_Heir == _Thread_Executing
+ && _Thread_Executing->Start.entry_point
+ == rtems_configuration_get_idle_task()
+ );
#else
rtems_clock_tick();
#endif