Changeset 0231ebc in rtems
- Timestamp:
- 03/07/18 15:29:52 (5 years ago)
- Branches:
- 5, master
- Children:
- 828049cb
- Parents:
- d39cc068
- git-author:
- Sebastian Huber <sebastian.huber@…> (03/07/18 15:29:52)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (03/08/18 06:05:07)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/include/rtems/scheduler.h
rd39cc068 r0231ebc 6 6 7 7 /* 8 * Copyright (c) 2014, 201 7embedded brains GmbH. All rights reserved.8 * Copyright (c) 2014, 2018 embedded brains GmbH. All rights reserved. 9 9 * 10 10 * embedded brains GmbH … … 24 24 #include <rtems/score/scheduler.h> 25 25 26 #define RTEMS_SCHEDULER_CONTEXT_NAME( name ) \26 #define SCHEDULER_CONTEXT_NAME( name ) \ 27 27 _Configuration_Scheduler_ ## name 28 28 … … 61 61 #include <rtems/score/schedulercbs.h> 62 62 63 #define RTEMS_SCHEDULER_CONTEXT_CBS_NAME( name ) \64 RTEMS_SCHEDULER_CONTEXT_NAME( CBS_ ## name )63 #define SCHEDULER_CBS_CONTEXT_NAME( name ) \ 64 SCHEDULER_CONTEXT_NAME( CBS_ ## name ) 65 65 66 66 #define RTEMS_SCHEDULER_CONTEXT_CBS( name ) \ 67 static Scheduler_EDF_Context RTEMS_SCHEDULER_CONTEXT_CBS_NAME( name )67 static Scheduler_EDF_Context SCHEDULER_CBS_CONTEXT_NAME( name ) 68 68 69 69 #define RTEMS_SCHEDULER_CONTROL_CBS( name, obj_name ) \ 70 70 { \ 71 & RTEMS_SCHEDULER_CONTEXT_CBS_NAME( name ).Base, \71 &SCHEDULER_CBS_CONTEXT_NAME( name ).Base, \ 72 72 SCHEDULER_CBS_ENTRY_POINTS, \ 73 73 SCHEDULER_CBS_MAXIMUM_PRIORITY, \ … … 79 79 #include <rtems/score/scheduleredf.h> 80 80 81 #define RTEMS_SCHEDULER_CONTEXT_EDF_NAME( name ) \82 RTEMS_SCHEDULER_CONTEXT_NAME( EDF_ ## name )81 #define SCHEDULER_EDF_CONTEXT_NAME( name ) \ 82 SCHEDULER_CONTEXT_NAME( EDF_ ## name ) 83 83 84 84 #define RTEMS_SCHEDULER_CONTEXT_EDF( name ) \ 85 static Scheduler_EDF_Context RTEMS_SCHEDULER_CONTEXT_EDF_NAME( name )85 static Scheduler_EDF_Context SCHEDULER_EDF_CONTEXT_NAME( name ) 86 86 87 87 #define RTEMS_SCHEDULER_CONTROL_EDF( name, obj_name ) \ 88 88 { \ 89 & RTEMS_SCHEDULER_CONTEXT_EDF_NAME( name ).Base, \89 &SCHEDULER_EDF_CONTEXT_NAME( name ).Base, \ 90 90 SCHEDULER_EDF_ENTRY_POINTS, \ 91 91 SCHEDULER_EDF_MAXIMUM_PRIORITY, \ … … 97 97 #include <rtems/score/scheduleredfsmp.h> 98 98 99 #define RTEMS_SCHEDULER_CONTEXT_EDF_SMP_NAME( name ) \100 RTEMS_SCHEDULER_CONTEXT_NAME( EDF_SMP_ ## name )99 #define SCHEDULER_EDF_SMP_CONTEXT_NAME( name ) \ 100 SCHEDULER_CONTEXT_NAME( EDF_SMP_ ## name ) 101 101 102 102 #define RTEMS_SCHEDULER_CONTEXT_EDF_SMP( name, max_cpu_count ) \ … … 104 104 Scheduler_EDF_SMP_Context Base; \ 105 105 Scheduler_EDF_SMP_Ready_queue Ready[ ( max_cpu_count ) + 1 ]; \ 106 } RTEMS_SCHEDULER_CONTEXT_EDF_SMP_NAME( name )106 } SCHEDULER_EDF_SMP_CONTEXT_NAME( name ) 107 107 108 108 #define RTEMS_SCHEDULER_CONTROL_EDF_SMP( name, obj_name ) \ 109 109 { \ 110 & RTEMS_SCHEDULER_CONTEXT_EDF_SMP_NAME( name ).Base.Base.Base, \110 &SCHEDULER_EDF_SMP_CONTEXT_NAME( name ).Base.Base.Base, \ 111 111 SCHEDULER_EDF_SMP_ENTRY_POINTS, \ 112 112 SCHEDULER_EDF_MAXIMUM_PRIORITY, \ … … 118 118 #include <rtems/score/schedulerpriority.h> 119 119 120 #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_NAME( name ) \121 RTEMS_SCHEDULER_CONTEXT_NAME( priority_ ## name )120 #define SCHEDULER_PRIORITY_CONTEXT_NAME( name ) \ 121 SCHEDULER_CONTEXT_NAME( priority_ ## name ) 122 122 123 123 #define RTEMS_SCHEDULER_CONTEXT_PRIORITY( name, prio_count ) \ … … 125 125 Scheduler_priority_Context Base; \ 126 126 Chain_Control Ready[ ( prio_count ) ]; \ 127 } RTEMS_SCHEDULER_CONTEXT_PRIORITY_NAME( name )127 } SCHEDULER_PRIORITY_CONTEXT_NAME( name ) 128 128 129 129 #define RTEMS_SCHEDULER_CONTROL_PRIORITY( name, obj_name ) \ 130 130 { \ 131 & RTEMS_SCHEDULER_CONTEXT_PRIORITY_NAME( name ).Base.Base, \131 &SCHEDULER_PRIORITY_CONTEXT_NAME( name ).Base.Base, \ 132 132 SCHEDULER_PRIORITY_ENTRY_POINTS, \ 133 133 RTEMS_ARRAY_SIZE( \ 134 RTEMS_SCHEDULER_CONTEXT_PRIORITY_NAME( name ).Ready \134 SCHEDULER_PRIORITY_CONTEXT_NAME( name ).Ready \ 135 135 ) - 1, \ 136 136 ( obj_name ) \ … … 141 141 #include <rtems/score/schedulerpriorityaffinitysmp.h> 142 142 143 #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP_NAME( name ) \144 RTEMS_SCHEDULER_CONTEXT_NAME( priority_affinity_SMP_ ## name )143 #define SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ) \ 144 SCHEDULER_CONTEXT_NAME( priority_affinity_SMP_ ## name ) 145 145 146 146 #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP( name, prio_count ) \ … … 148 148 Scheduler_priority_SMP_Context Base; \ 149 149 Chain_Control Ready[ ( prio_count ) ]; \ 150 } RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP_NAME( name )150 } SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ) 151 151 152 152 #define RTEMS_SCHEDULER_CONTROL_PRIORITY_AFFINITY_SMP( name, obj_name ) \ 153 153 { \ 154 & RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP_NAME( name ).Base.Base.Base, \154 &SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ).Base.Base.Base, \ 155 155 SCHEDULER_PRIORITY_AFFINITY_SMP_ENTRY_POINTS, \ 156 156 RTEMS_ARRAY_SIZE( \ 157 RTEMS_SCHEDULER_CONTEXT_PRIORITY_AFFINITY_SMP_NAME( name ).Ready \157 SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ).Ready \ 158 158 ) - 1, \ 159 159 ( obj_name ) \ … … 164 164 #include <rtems/score/schedulerprioritysmp.h> 165 165 166 #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP_NAME( name ) \167 RTEMS_SCHEDULER_CONTEXT_NAME( priority_SMP_ ## name )166 #define SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ) \ 167 SCHEDULER_CONTEXT_NAME( priority_SMP_ ## name ) 168 168 169 169 #define RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP( name, prio_count ) \ … … 171 171 Scheduler_priority_SMP_Context Base; \ 172 172 Chain_Control Ready[ ( prio_count ) ]; \ 173 } RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP_NAME( name )173 } SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ) 174 174 175 175 #define RTEMS_SCHEDULER_CONTROL_PRIORITY_SMP( name, obj_name ) \ 176 176 { \ 177 & RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP_NAME( name ).Base.Base.Base, \177 &SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ).Base.Base.Base, \ 178 178 SCHEDULER_PRIORITY_SMP_ENTRY_POINTS, \ 179 179 RTEMS_ARRAY_SIZE( \ 180 RTEMS_SCHEDULER_CONTEXT_PRIORITY_SMP_NAME( name ).Ready \180 SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ).Ready \ 181 181 ) - 1, \ 182 182 ( obj_name ) \ … … 187 187 #include <rtems/score/schedulerstrongapa.h> 188 188 189 #define RTEMS_SCHEDULER_CONTEXT_STRONG_APA_NAME( name ) \190 RTEMS_SCHEDULER_CONTEXT_NAME( strong_APA_ ## name )189 #define SCHEDULER_STRONG_APA_CONTEXT_NAME( name ) \ 190 SCHEDULER_CONTEXT_NAME( strong_APA_ ## name ) 191 191 192 192 #define RTEMS_SCHEDULER_CONTEXT_STRONG_APA( name, prio_count ) \ … … 194 194 Scheduler_strong_APA_Context Base; \ 195 195 Chain_Control Ready[ ( prio_count ) ]; \ 196 } RTEMS_SCHEDULER_CONTEXT_STRONG_APA_NAME( name )196 } SCHEDULER_STRONG_APA_CONTEXT_NAME( name ) 197 197 198 198 #define RTEMS_SCHEDULER_CONTROL_STRONG_APA( name, obj_name ) \ 199 199 { \ 200 & RTEMS_SCHEDULER_CONTEXT_STRONG_APA_NAME( name ).Base.Base.Base, \200 &SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Base.Base.Base, \ 201 201 SCHEDULER_STRONG_APA_ENTRY_POINTS, \ 202 202 RTEMS_ARRAY_SIZE( \ 203 RTEMS_SCHEDULER_CONTEXT_STRONG_APA_NAME( name ).Ready \203 SCHEDULER_STRONG_APA_CONTEXT_NAME( name ).Ready \ 204 204 ) - 1, \ 205 205 ( obj_name ) \ … … 210 210 #include <rtems/score/schedulersimple.h> 211 211 212 #define RTEMS_SCHEDULER_CONTEXT_SIMPLE_NAME( name ) \213 RTEMS_SCHEDULER_CONTEXT_NAME( simple_ ## name )212 #define SCHEDULER_SIMPLE_CONTEXT_NAME( name ) \ 213 SCHEDULER_CONTEXT_NAME( simple_ ## name ) 214 214 215 215 #define RTEMS_SCHEDULER_CONTEXT_SIMPLE( name ) \ 216 216 static Scheduler_simple_Context \ 217 RTEMS_SCHEDULER_CONTEXT_SIMPLE_NAME( name )217 SCHEDULER_SIMPLE_CONTEXT_NAME( name ) 218 218 219 219 #define RTEMS_SCHEDULER_CONTROL_SIMPLE( name, obj_name ) \ 220 220 { \ 221 & RTEMS_SCHEDULER_CONTEXT_SIMPLE_NAME( name ).Base, \221 &SCHEDULER_SIMPLE_CONTEXT_NAME( name ).Base, \ 222 222 SCHEDULER_SIMPLE_ENTRY_POINTS, \ 223 223 SCHEDULER_SIMPLE_MAXIMUM_PRIORITY, \ … … 229 229 #include <rtems/score/schedulersimplesmp.h> 230 230 231 #define RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP_NAME( name ) \232 RTEMS_SCHEDULER_CONTEXT_NAME( simple_SMP_ ## name )231 #define SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name ) \ 232 SCHEDULER_CONTEXT_NAME( simple_SMP_ ## name ) 233 233 234 234 #define RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP( name ) \ 235 235 static Scheduler_simple_SMP_Context \ 236 RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP_NAME( name )236 SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name ) 237 237 238 238 #define RTEMS_SCHEDULER_CONTROL_SIMPLE_SMP( name, obj_name ) \ 239 239 { \ 240 & RTEMS_SCHEDULER_CONTEXT_SIMPLE_SMP_NAME( name ).Base.Base, \240 &SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name ).Base.Base, \ 241 241 SCHEDULER_SIMPLE_SMP_ENTRY_POINTS, \ 242 242 SCHEDULER_SIMPLE_SMP_MAXIMUM_PRIORITY, \
Note: See TracChangeset
for help on using the changeset viewer.