diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-29 12:09:32 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-05-02 07:46:17 +0200 |
commit | 981eed21761cd0036f0ac61042adea09d8a595a2 (patch) | |
tree | 199a5373376456b11fa6a9c61cfe3a80b024e49b /cpukit/sapi/include/confdefs.h | |
parent | posix: Avoid Giant lock in _POSIX_signals_Send() (diff) | |
download | rtems-981eed21761cd0036f0ac61042adea09d8a595a2.tar.bz2 |
score: Add dummy Strong APA scheduler
Start with a copy of the Priority SMP scheduler implementation.
Update #2510.
Diffstat (limited to 'cpukit/sapi/include/confdefs.h')
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 006cdbd6f5..ceed2a4b9d 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -771,6 +771,7 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; * - CONFIGURE_SCHEDULER_PRIORITY_SMP - Deterministic Priority SMP Scheduler * - CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP - Deterministic * Priority SMP Affinity Scheduler + * - CONFIGURE_SCHEDULER_STRONG_APA - Strong APA Scheduler * - CONFIGURE_SCHEDULER_SIMPLE - Light-weight Priority Scheduler * - CONFIGURE_SCHEDULER_SIMPLE_SMP - Simple SMP Priority Scheduler * - CONFIGURE_SCHEDULER_EDF - EDF Scheduler @@ -795,6 +796,7 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; !defined(CONFIGURE_SCHEDULER_PRIORITY) && \ !defined(CONFIGURE_SCHEDULER_PRIORITY_SMP) && \ !defined(CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP) && \ + !defined(CONFIGURE_SCHEDULER_STRONG_APA) && \ !defined(CONFIGURE_SCHEDULER_SIMPLE) && \ !defined(CONFIGURE_SCHEDULER_SIMPLE_SMP) && \ !defined(CONFIGURE_SCHEDULER_EDF) && \ @@ -890,6 +892,30 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #endif /* + * If the Strong APA Scheduler is selected, then configure for + * it. + */ +#if defined(CONFIGURE_SCHEDULER_STRONG_APA) + #if !defined(CONFIGURE_SCHEDULER_NAME) + /** Configure the name of the scheduler instance */ + #define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'A', 'P', 'A') + #endif + + #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + /** Configure the context needed by the scheduler instance */ + #define CONFIGURE_SCHEDULER_CONTEXT \ + RTEMS_SCHEDULER_CONTEXT_STRONG_APA( \ + dflt, \ + CONFIGURE_MAXIMUM_PRIORITY + 1 \ + ) + + /** Configure the controls for this scheduler instance */ + #define CONFIGURE_SCHEDULER_CONTROLS \ + RTEMS_SCHEDULER_CONTROL_STRONG_APA(dflt, CONFIGURE_SCHEDULER_NAME) + #endif +#endif + +/* * If the Simple Priority Scheduler is selected, then configure for it. */ #if defined(CONFIGURE_SCHEDULER_SIMPLE) @@ -3264,6 +3290,9 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #ifdef CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP Scheduler_priority_affinity_SMP_Node Priority_affinity_SMP; #endif + #ifdef CONFIGURE_SCHEDULER_STRONG_APA + Scheduler_strong_APA_Node Strong_APA; + #endif #ifdef CONFIGURE_SCHEDULER_USER_PER_THREAD CONFIGURE_SCHEDULER_USER_PER_THREAD User; #endif |