From 2ef85b1c76daef1ffc15dde9ef75012022fdaef3 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 8 Mar 2018 06:20:10 +0100 Subject: config: Simplify clustered scheduler configuration Do not use names derived from scheduler implementation details. Instead use names derived from the scheduler configuration or documentation. Provide defines for backward compatibility. Update #3325. --- cpukit/include/rtems/confdefs.h | 151 +++++++++++++++++++++------------------ cpukit/include/rtems/scheduler.h | 108 +++++++++++++++++++++++----- 2 files changed, 173 insertions(+), 86 deletions(-) (limited to 'cpukit/include/rtems') diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h index 04b9708aca..bbcfb612ff 100755 --- a/cpukit/include/rtems/confdefs.h +++ b/cpukit/include/rtems/confdefs.h @@ -709,11 +709,26 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; * An application can define its own scheduling policy by defining * CONFIGURE_SCHEDULER_USER and the following: * - * - CONFIGURE_SCHEDULER_CONTEXT - * - CONFIGURE_SCHEDULER_CONTROLS + * - CONFIGURE_SCHEDULER + * - CONFIGURE_SCHEDULER_TABLE_ENTRIES * - CONFIGURE_SCHEDULER_USER_PER_THREAD */ +#ifdef CONFIGURE_SCHEDULER_CONTEXT + #warning "CONFIGURE_SCHEDULER_CONTEXT has been renamed to CONFIGURE_SCHEDULER since RTEMS 5.1" + #define CONFIGURE_SCHEDULER CONFIGURE_SCHEDULER_CONTEXT +#endif + +#ifdef CONFIGURE_SCHEDULER_CONTROLS + #warning "CONFIGURE_SCHEDULER_CONTROLS has been renamed to CONFIGURE_SCHEDULER_TABLE_ENTRIES since RTEMS 5.1" + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES CONFIGURE_SCHEDULER_CONTROLS +#endif + +#ifdef CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS + #warning "CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS has been renamed to CONFIGURE_SCHEDULER_ASSIGNMENTS since RTEMS 5.1" + #define CONFIGURE_SCHEDULER_ASSIGNMENTS CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS +#endif + #if !defined(CONFIGURE_SCHEDULER_USER) && \ !defined(CONFIGURE_SCHEDULER_PRIORITY) && \ !defined(CONFIGURE_SCHEDULER_PRIORITY_SMP) && \ @@ -750,16 +765,16 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_SCHEDULER_NAME rtems_build_name('U', 'P', 'D', ' ') #endif - #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT \ + #define CONFIGURE_SCHEDULER \ RTEMS_SCHEDULER_CONTEXT_PRIORITY( \ dflt, \ CONFIGURE_MAXIMUM_PRIORITY + 1 \ ) /** Configure the controls for this scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTROLS \ + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ RTEMS_SCHEDULER_CONTROL_PRIORITY(dflt, CONFIGURE_SCHEDULER_NAME) #endif #endif @@ -774,16 +789,16 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'P', 'D', ' ') #endif - #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT \ + #define CONFIGURE_SCHEDULER \ RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP( \ dflt, \ CONFIGURE_MAXIMUM_PRIORITY + 1 \ ) /** Configure the controls for this scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTROLS \ + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ RTEMS_SCHEDULER_CONTROL_PRIORITY_SMP(dflt, CONFIGURE_SCHEDULER_NAME) #endif #endif @@ -798,16 +813,16 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'P', 'A', ' ') #endif - #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT \ + #define CONFIGURE_SCHEDULER \ RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP( \ dflt, \ CONFIGURE_MAXIMUM_PRIORITY + 1 \ ) /** Configure the controls for this scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTROLS \ + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ RTEMS_SCHEDULER_CONTROL_PRIORITY_AFFINITY_SMP( \ dflt, \ CONFIGURE_SCHEDULER_NAME \ @@ -825,16 +840,16 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'A', 'P', 'A') #endif - #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT \ + #define CONFIGURE_SCHEDULER \ RTEMS_SCHEDULER_CONTEXT_STRONG_APA( \ dflt, \ CONFIGURE_MAXIMUM_PRIORITY + 1 \ ) /** Configure the controls for this scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTROLS \ + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ RTEMS_SCHEDULER_CONTROL_STRONG_APA(dflt, CONFIGURE_SCHEDULER_NAME) #endif #endif @@ -848,12 +863,12 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_SCHEDULER_NAME rtems_build_name('U', 'P', 'S', ' ') #endif - #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT RTEMS_SCHEDULER_CONTEXT_SIMPLE(dflt) + #define CONFIGURE_SCHEDULER RTEMS_SCHEDULER_CONTEXT_SIMPLE(dflt) /** Configure the controls for this scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTROLS \ + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ RTEMS_SCHEDULER_CONTROL_SIMPLE(dflt, CONFIGURE_SCHEDULER_NAME) #endif #endif @@ -867,13 +882,13 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'P', 'S', ' ') #endif - #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT \ + #define CONFIGURE_SCHEDULER \ RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP(dflt) /** Configure the controls for this scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTROLS \ + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ RTEMS_SCHEDULER_CONTROL_SIMPLE_SMP(dflt, CONFIGURE_SCHEDULER_NAME) #endif #endif @@ -887,12 +902,12 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_SCHEDULER_NAME rtems_build_name('U', 'E', 'D', 'F') #endif - #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT RTEMS_SCHEDULER_CONTEXT_EDF(dflt) + #define CONFIGURE_SCHEDULER RTEMS_SCHEDULER_CONTEXT_EDF(dflt) /** Configure the controls for this scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTROLS \ + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ RTEMS_SCHEDULER_CONTROL_EDF(dflt, CONFIGURE_SCHEDULER_NAME) #endif #endif @@ -906,13 +921,13 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'E', 'D', 'F') #endif - #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT \ + #define CONFIGURE_SCHEDULER \ RTEMS_SCHEDULER_CONTEXT_EDF_SMP(dflt, CONFIGURE_MAXIMUM_PROCESSORS) /** Configure the controls for this scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTROLS \ + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ RTEMS_SCHEDULER_CONTROL_EDF_SMP(dflt, CONFIGURE_SCHEDULER_NAME) #endif #endif @@ -926,12 +941,12 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #define CONFIGURE_SCHEDULER_NAME rtems_build_name('U', 'C', 'B', 'S') #endif - #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + #if !defined(CONFIGURE_SCHEDULER_TABLE_ENTRIES) /** Configure the context needed by the scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTEXT RTEMS_SCHEDULER_CONTEXT_CBS(dflt) + #define CONFIGURE_SCHEDULER RTEMS_SCHEDULER_CONTEXT_CBS(dflt) /** Configure the controls for this scheduler instance */ - #define CONFIGURE_SCHEDULER_CONTROLS \ + #define CONFIGURE_SCHEDULER_TABLE_ENTRIES \ RTEMS_SCHEDULER_CONTROL_CBS(dflt, CONFIGURE_SCHEDULER_NAME) #endif @@ -953,12 +968,12 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; * this code to know which scheduler is configured by the user. */ #ifdef CONFIGURE_INIT - #if defined(CONFIGURE_SCHEDULER_CONTEXT) - CONFIGURE_SCHEDULER_CONTEXT; + #if defined(CONFIGURE_SCHEDULER) + CONFIGURE_SCHEDULER; #endif const Scheduler_Control _Scheduler_Table[] = { - CONFIGURE_SCHEDULER_CONTROLS + CONFIGURE_SCHEDULER_TABLE_ENTRIES }; #define CONFIGURE_SCHEDULER_COUNT RTEMS_ARRAY_SIZE( _Scheduler_Table ) @@ -967,109 +982,109 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; const size_t _Scheduler_Count = CONFIGURE_SCHEDULER_COUNT; const Scheduler_Assignment _Scheduler_Initial_assignments[] = { - #if defined(CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS) - CONFIGURE_SMP_SCHEDULER_ASSIGNMENTS + #if defined(CONFIGURE_SCHEDULER_ASSIGNMENTS) + CONFIGURE_SCHEDULER_ASSIGNMENTS #else - #define _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT \ + #define _CONFIGURE_SCHEDULER_ASSIGN \ RTEMS_SCHEDULER_ASSIGN( \ 0, \ RTEMS_SCHEDULER_ASSIGN_PROCESSOR_OPTIONAL \ ) - _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + _CONFIGURE_SCHEDULER_ASSIGN #if CONFIGURE_MAXIMUM_PROCESSORS >= 2 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 3 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 4 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 5 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 6 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 7 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 8 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 9 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 10 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 11 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 12 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 13 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 14 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 15 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 16 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 17 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 18 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 19 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 20 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 21 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 22 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 23 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 24 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 25 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 26 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 27 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 28 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 29 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 30 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 31 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif #if CONFIGURE_MAXIMUM_PROCESSORS >= 32 - , _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + , _CONFIGURE_SCHEDULER_ASSIGN #endif - #undef _CONFIGURE_SMP_SCHEDULER_ASSIGN_OPT + #undef _CONFIGURE_SCHEDULER_ASSIGN #endif }; diff --git a/cpukit/include/rtems/scheduler.h b/cpukit/include/rtems/scheduler.h index b8ad83ee92..336ca71fe6 100644 --- a/cpukit/include/rtems/scheduler.h +++ b/cpukit/include/rtems/scheduler.h @@ -63,16 +63,24 @@ #define SCHEDULER_CBS_CONTEXT_NAME( name ) \ SCHEDULER_CONTEXT_NAME( CBS_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_CBS( name ) \ + #define RTEMS_SCHEDULER_CBS( name ) \ static Scheduler_EDF_Context SCHEDULER_CBS_CONTEXT_NAME( name ) - #define RTEMS_SCHEDULER_CONTROL_CBS( name, obj_name ) \ + #define RTEMS_SCHEDULER_TABLE_CBS( name, obj_name ) \ { \ &SCHEDULER_CBS_CONTEXT_NAME( name ).Base, \ SCHEDULER_CBS_ENTRY_POINTS, \ SCHEDULER_CBS_MAXIMUM_PRIORITY, \ ( obj_name ) \ } + + /* Provided for backward compatibility */ + + #define RTEMS_SCHEDULER_CONTEXT_CBS( name ) \ + RTEMS_SCHEDULER_CBS( name ) + + #define RTEMS_SCHEDULER_CONTROL_CBS( name, obj_name ) \ + RTEMS_SCHEDULER_TABLE_CBS( name, obj_name ) #endif #ifdef CONFIGURE_SCHEDULER_EDF @@ -81,16 +89,24 @@ #define SCHEDULER_EDF_CONTEXT_NAME( name ) \ SCHEDULER_CONTEXT_NAME( EDF_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_EDF( name ) \ + #define RTEMS_SCHEDULER_EDF( name ) \ static Scheduler_EDF_Context SCHEDULER_EDF_CONTEXT_NAME( name ) - #define RTEMS_SCHEDULER_CONTROL_EDF( name, obj_name ) \ + #define RTEMS_SCHEDULER_TABLE_EDF( name, obj_name ) \ { \ &SCHEDULER_EDF_CONTEXT_NAME( name ).Base, \ SCHEDULER_EDF_ENTRY_POINTS, \ SCHEDULER_EDF_MAXIMUM_PRIORITY, \ ( obj_name ) \ } + + /* Provided for backward compatibility */ + + #define RTEMS_SCHEDULER_CONTEXT_EDF( name ) \ + RTEMS_SCHEDULER_EDF( name ) + + #define RTEMS_SCHEDULER_CONTROL_EDF( name, obj_name ) \ + RTEMS_SCHEDULER_TABLE_EDF( name, obj_name ) #endif #ifdef CONFIGURE_SCHEDULER_EDF_SMP @@ -99,19 +115,27 @@ #define SCHEDULER_EDF_SMP_CONTEXT_NAME( name ) \ SCHEDULER_CONTEXT_NAME( EDF_SMP_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_EDF_SMP( name, max_cpu_count ) \ + #define RTEMS_SCHEDULER_EDF_SMP( name, max_cpu_count ) \ static struct { \ Scheduler_EDF_SMP_Context Base; \ Scheduler_EDF_SMP_Ready_queue Ready[ ( max_cpu_count ) + 1 ]; \ } SCHEDULER_EDF_SMP_CONTEXT_NAME( name ) - #define RTEMS_SCHEDULER_CONTROL_EDF_SMP( name, obj_name ) \ + #define RTEMS_SCHEDULER_TABLE_EDF_SMP( name, obj_name ) \ { \ &SCHEDULER_EDF_SMP_CONTEXT_NAME( name ).Base.Base.Base, \ SCHEDULER_EDF_SMP_ENTRY_POINTS, \ SCHEDULER_EDF_MAXIMUM_PRIORITY, \ ( obj_name ) \ } + + /* Provided for backward compatibility */ + + #define RTEMS_SCHEDULER_CONTEXT_EDF_SMP( name, max_cpu_count ) \ + RTEMS_SCHEDULER_EDF_SMP( name, max_cpu_count ) + + #define RTEMS_SCHEDULER_CONTROL_EDF_SMP( name, obj_name ) \ + RTEMS_SCHEDULER_TABLE_EDF_SMP( name, obj_name ) #endif #ifdef CONFIGURE_SCHEDULER_PRIORITY @@ -120,13 +144,13 @@ #define SCHEDULER_PRIORITY_CONTEXT_NAME( name ) \ SCHEDULER_CONTEXT_NAME( priority_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_PRIORITY( name, prio_count ) \ + #define RTEMS_SCHEDULER_PRIORITY( name, prio_count ) \ static struct { \ Scheduler_priority_Context Base; \ Chain_Control Ready[ ( prio_count ) ]; \ } SCHEDULER_PRIORITY_CONTEXT_NAME( name ) - #define RTEMS_SCHEDULER_CONTROL_PRIORITY( name, obj_name ) \ + #define RTEMS_SCHEDULER_TABLE_PRIORITY( name, obj_name ) \ { \ &SCHEDULER_PRIORITY_CONTEXT_NAME( name ).Base.Base, \ SCHEDULER_PRIORITY_ENTRY_POINTS, \ @@ -135,6 +159,14 @@ ) - 1, \ ( obj_name ) \ } + + /* Provided for backward compatibility */ + + #define RTEMS_SCHEDULER_CONTEXT_PRIORITY( name, prio_count ) \ + RTEMS_SCHEDULER_PRIORITY( name, prio_count ) + + #define RTEMS_SCHEDULER_CONTROL_PRIORITY( name, obj_name ) \ + RTEMS_SCHEDULER_TABLE_PRIORITY( name, obj_name ) #endif #ifdef CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP @@ -143,13 +175,13 @@ #define SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ) \ SCHEDULER_CONTEXT_NAME( priority_affinity_SMP_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP( name, prio_count ) \ + #define RTEMS_SCHEDULER_PRIORITY_AFFINITY_SMP( name, prio_count ) \ static struct { \ Scheduler_priority_SMP_Context Base; \ Chain_Control Ready[ ( prio_count ) ]; \ } SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ) - #define RTEMS_SCHEDULER_CONTROL_PRIORITY_AFFINITY_SMP( name, obj_name ) \ + #define RTEMS_SCHEDULER_TABLE_PRIORITY_AFFINITY_SMP( name, obj_name ) \ { \ &SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ).Base.Base.Base, \ SCHEDULER_PRIORITY_AFFINITY_SMP_ENTRY_POINTS, \ @@ -158,6 +190,14 @@ ) - 1, \ ( obj_name ) \ } + + /* Provided for backward compatibility */ + + #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP( name, prio_count ) \ + RTEMS_SCHEDULER_PRIORITY_AFFINITY_SMP( name, prio_count ) + + #define RTEMS_SCHEDULER_CONTROL_PRIORITY_AFFINITY_SMP( name, obj_name ) \ + RTEMS_SCHEDULER_TABLE_PRIORITY_AFFINITY_SMP( name, obj_name ) #endif #ifdef CONFIGURE_SCHEDULER_PRIORITY_SMP @@ -166,13 +206,13 @@ #define SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ) \ SCHEDULER_CONTEXT_NAME( priority_SMP_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP( name, prio_count ) \ + #define RTEMS_SCHEDULER_PRIORITY_SMP( name, prio_count ) \ static struct { \ Scheduler_priority_SMP_Context Base; \ Chain_Control Ready[ ( prio_count ) ]; \ } SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ) - #define RTEMS_SCHEDULER_CONTROL_PRIORITY_SMP( name, obj_name ) \ + #define RTEMS_SCHEDULER_TABLE_PRIORITY_SMP( name, obj_name ) \ { \ &SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ).Base.Base.Base, \ SCHEDULER_PRIORITY_SMP_ENTRY_POINTS, \ @@ -181,6 +221,14 @@ ) - 1, \ ( obj_name ) \ } + + /* Provided for backward compatibility */ + + #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP( name, prio_count ) \ + RTEMS_SCHEDULER_PRIORITY_SMP( name, prio_count ) + + #define RTEMS_SCHEDULER_CONTROL_PRIORITY_SMP( name, obj_name ) \ + RTEMS_SCHEDULER_TABLE_PRIORITY_SMP( name, obj_name ) #endif #ifdef CONFIGURE_SCHEDULER_STRONG_APA @@ -189,13 +237,13 @@ #define SCHEDULER_STRONG_APA_CONTEXT_NAME( name ) \ SCHEDULER_CONTEXT_NAME( strong_APA_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_STRONG_APA( name, prio_count ) \ + #define RTEMS_SCHEDULER_STRONG_APA( name, prio_count ) \ static struct { \ Scheduler_strong_APA_Context Base; \ Chain_Control Ready[ ( prio_count ) ]; \ } SCHEDULER_STRONG_APA_CONTEXT_NAME( name ) - #define RTEMS_SCHEDULER_CONTROL_STRONG_APA( name, obj_name ) \ + #define RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name ) \ { \ &SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Base.Base.Base, \ SCHEDULER_STRONG_APA_ENTRY_POINTS, \ @@ -204,6 +252,14 @@ ) - 1, \ ( obj_name ) \ } + + /* Provided for backward compatibility */ + + #define RTEMS_SCHEDULER_CONTEXT_STRONG_APA( name, prio_count ) \ + RTEMS_SCHEDULER_STRONG_APA( name, prio_count ) + + #define RTEMS_SCHEDULER_CONTROL_STRONG_APA( name, obj_name ) \ + RTEMS_SCHEDULER_TABLE_STRONG_APA( name, obj_name ) #endif #ifdef CONFIGURE_SCHEDULER_SIMPLE @@ -212,17 +268,25 @@ #define SCHEDULER_SIMPLE_CONTEXT_NAME( name ) \ SCHEDULER_CONTEXT_NAME( simple_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_SIMPLE( name ) \ + #define RTEMS_SCHEDULER_SIMPLE( name ) \ static Scheduler_simple_Context \ SCHEDULER_SIMPLE_CONTEXT_NAME( name ) - #define RTEMS_SCHEDULER_CONTROL_SIMPLE( name, obj_name ) \ + #define RTEMS_SCHEDULER_TABLE_SIMPLE( name, obj_name ) \ { \ &SCHEDULER_SIMPLE_CONTEXT_NAME( name ).Base, \ SCHEDULER_SIMPLE_ENTRY_POINTS, \ SCHEDULER_SIMPLE_MAXIMUM_PRIORITY, \ ( obj_name ) \ } + + /* Provided for backward compatibility */ + + #define RTEMS_SCHEDULER_CONTEXT_SIMPLE( name ) \ + RTEMS_SCHEDULER_SIMPLE( name ) + + #define RTEMS_SCHEDULER_CONTROL_SIMPLE( name, obj_name ) \ + RTEMS_SCHEDULER_TABLE_SIMPLE( name, obj_name ) #endif #ifdef CONFIGURE_SCHEDULER_SIMPLE_SMP @@ -231,17 +295,25 @@ #define SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name ) \ SCHEDULER_CONTEXT_NAME( simple_SMP_ ## name ) - #define RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP( name ) \ + #define RTEMS_SCHEDULER_SIMPLE_SMP( name ) \ static Scheduler_simple_SMP_Context \ SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name ) - #define RTEMS_SCHEDULER_CONTROL_SIMPLE_SMP( name, obj_name ) \ + #define RTEMS_SCHEDULER_TABLE_SIMPLE_SMP( name, obj_name ) \ { \ &SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name ).Base.Base, \ SCHEDULER_SIMPLE_SMP_ENTRY_POINTS, \ SCHEDULER_SIMPLE_SMP_MAXIMUM_PRIORITY, \ ( obj_name ) \ } + + /* Provided for backward compatibility */ + + #define RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP( name ) \ + RTEMS_SCHEDULER_SIMPLE_SMP( name ) + + #define RTEMS_SCHEDULER_CONTROL_SIMPLE_SMP( name, obj_name ) \ + RTEMS_SCHEDULER_TABLE_SIMPLE_SMP( name, obj_name ) #endif #endif /* _RTEMS_SAPI_SCHEDULER_H */ -- cgit v1.2.3