From f20b3d568da270e603a27699b6707643a3e7e8ad Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 9 Aug 2013 13:34:18 +0200 Subject: score: Add _Scheduler_priority_Get_ready_queues() Add and use _Scheduler_priority_Get_ready_queues() --- cpukit/score/include/rtems/score/schedulerpriorityimpl.h | 13 +++++++++---- cpukit/score/src/schedulerpriorityupdate.c | 7 +++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/cpukit/score/include/rtems/score/schedulerpriorityimpl.h b/cpukit/score/include/rtems/score/schedulerpriorityimpl.h index 7400e58734..0fbece6460 100644 --- a/cpukit/score/include/rtems/score/schedulerpriorityimpl.h +++ b/cpukit/score/include/rtems/score/schedulerpriorityimpl.h @@ -36,6 +36,12 @@ extern "C" { */ /**@{**/ +RTEMS_INLINE_ROUTINE Chain_Control * +_Scheduler_priority_Get_ready_queues( void ) +{ + return ( Chain_Control * ) _Scheduler.information; +} + /** * @brief Ready queue initialization. * @@ -52,7 +58,7 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Ready_queue_initialize(void) ); /* initialize ready queue structures */ - ready_queues = (Chain_Control *) _Scheduler.information; + ready_queues = _Scheduler_priority_Get_ready_queues(); for( index=0; index <= PRIORITY_MAXIMUM; index++) _Chain_Initialize_empty( &ready_queues[index] ); } @@ -181,9 +187,8 @@ RTEMS_INLINE_ROUTINE void _Scheduler_priority_Schedule_body( bool force_dispatch ) { - Thread_Control *heir = _Scheduler_priority_Ready_queue_first( - (Chain_Control *) _Scheduler.information - ); + Chain_Control *ready_queues = _Scheduler_priority_Get_ready_queues(); + Thread_Control *heir = _Scheduler_priority_Ready_queue_first( ready_queues ); ( void ) thread; diff --git a/cpukit/score/src/schedulerpriorityupdate.c b/cpukit/score/src/schedulerpriorityupdate.c index 1935e137f1..de3f02615c 100644 --- a/cpukit/score/src/schedulerpriorityupdate.c +++ b/cpukit/score/src/schedulerpriorityupdate.c @@ -27,11 +27,10 @@ void _Scheduler_priority_Update( { Scheduler_priority_Per_thread *sched_info_of_thread = _Scheduler_priority_Get_scheduler_info( the_thread ); - Chain_Control *rq; + Chain_Control *ready_queues = _Scheduler_priority_Get_ready_queues(); - rq = (Chain_Control *) _Scheduler.information; - - sched_info_of_thread->ready_chain = &rq[ the_thread->current_priority ]; + sched_info_of_thread->ready_chain = + &ready_queues[ the_thread->current_priority ]; _Priority_bit_map_Initialize_information( &sched_info_of_thread->Priority_map, -- cgit v1.2.3