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().
This commit is contained in:
Sebastian Huber
2013-05-27 17:31:46 +02:00
parent 17e09f8e0b
commit e3be691598
9 changed files with 53 additions and 22 deletions

View File

@@ -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

View File

@@ -98,8 +98,11 @@ static void clockHandler(void)
#if (CLOCK_DRIVER_USE_FAST_IDLE == 1)
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();