bsps: Do not use fast idle clock for SMP

We may have more than one idle thread.  Thus, the clock driver fast idle
logic would be a bit more complicated.
This commit is contained in:
Sebastian Huber
2016-06-30 06:27:51 +02:00
parent 09c87fb06b
commit 729cf694e8

View File

@@ -137,19 +137,21 @@ rtems_isr Clock_isr(
Clock_driver_timecounter_tick();
while (
_Thread_Heir == _Thread_Executing
&& _Thread_Executing->Start.Entry.Kinds.Idle.entry
== rtems_configuration_get_idle_task()
) {
ISR_lock_Context lock_context;
if (!rtems_configuration_is_smp_enabled()) {
while (
_Thread_Heir == _Thread_Executing
&& _Thread_Executing->Start.Entry.Kinds.Idle.entry
== rtems_configuration_get_idle_task()
) {
ISR_lock_Context lock_context;
_Timecounter_Acquire(&lock_context);
_Timecounter_Tick_simple(
interval,
(*tc->tc_get_timecount)(tc),
&lock_context
);
_Timecounter_Acquire(&lock_context);
_Timecounter_Tick_simple(
interval,
(*tc->tc_get_timecount)(tc),
&lock_context
);
}
}
Clock_driver_support_at_tick();