diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-04 10:56:36 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-04-15 08:37:11 +0200 |
commit | e1598a616db1e9dadfd74abeb20b1f1ec5daaa7f (patch) | |
tree | 0aabc512f4beb2b30eba7885926d06a878988855 /cpukit/score/include/rtems/score/schedulersimplesmp.h | |
parent | dc18190be4bdfa5b0fc297760f64e7915c131ff3 (diff) |
score: Static scheduler configuration
Do not allocate the scheduler control structures from the workspace.
This is a preparation step for configuration of clustered/partitioned
schedulers on SMP.
Diffstat (limited to 'cpukit/score/include/rtems/score/schedulersimplesmp.h')
-rw-r--r-- | cpukit/score/include/rtems/score/schedulersimplesmp.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/cpukit/score/include/rtems/score/schedulersimplesmp.h b/cpukit/score/include/rtems/score/schedulersimplesmp.h index a6d826208d..dcdc6819a5 100644 --- a/cpukit/score/include/rtems/score/schedulersimplesmp.h +++ b/cpukit/score/include/rtems/score/schedulersimplesmp.h @@ -49,6 +49,11 @@ extern "C" { * @{ */ +typedef struct { + Scheduler_SMP_Context Base; + Chain_Control Ready; +} Scheduler_simple_SMP_Context; + /** * @brief Entry points for the Simple SMP Scheduler. */ @@ -73,40 +78,40 @@ extern "C" { _Scheduler_default_Set_affinity \ } -void _Scheduler_simple_smp_Initialize( void ); +void _Scheduler_simple_smp_Initialize( const Scheduler_Control *scheduler ); void _Scheduler_simple_smp_Block( - Scheduler_Control *base, + const Scheduler_Control *scheduler, Thread_Control *thread ); void _Scheduler_simple_smp_Enqueue_priority_fifo( - Scheduler_Control *base, + const Scheduler_Control *scheduler, Thread_Control *thread ); void _Scheduler_simple_smp_Enqueue_priority_lifo( - Scheduler_Control *base, + const Scheduler_Control *scheduler, Thread_Control *thread ); void _Scheduler_simple_smp_Extract( - Scheduler_Control *base, + const Scheduler_Control *scheduler, Thread_Control *thread ); void _Scheduler_simple_smp_Yield( - Scheduler_Control *base, + const Scheduler_Control *scheduler, Thread_Control *thread ); void _Scheduler_simple_smp_Schedule( - Scheduler_Control *base, + const Scheduler_Control *scheduler, Thread_Control *thread ); void _Scheduler_simple_smp_Start_idle( - Scheduler_Control *base, + const Scheduler_Control *scheduler, Thread_Control *thread, Per_CPU_Control *cpu ); |