diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/include/rtems/score/schedulerpriority.h | 50 |
1 files changed, 38 insertions, 12 deletions
diff --git a/cpukit/score/include/rtems/score/schedulerpriority.h b/cpukit/score/include/rtems/score/schedulerpriority.h index 2f164b7635..eaea71bd17 100644 --- a/cpukit/score/include/rtems/score/schedulerpriority.h +++ b/cpukit/score/include/rtems/score/schedulerpriority.h @@ -38,18 +38,20 @@ extern "C" { */ #define SCHEDULER_PRIORITY_ENTRY_POINTS \ { \ - _Scheduler_priority_Initialize, /* initialize entry point */ \ - _Scheduler_priority_Schedule, /* schedule entry point */ \ - _Scheduler_priority_Yield, /* yield entry point */ \ - _Scheduler_priority_Block, /* block entry point */ \ - _Scheduler_priority_Unblock, /* unblock entry point */ \ - _Scheduler_priority_Allocate, /* allocate entry point */ \ - _Scheduler_priority_Free, /* free entry point */ \ - _Scheduler_priority_Update, /* update entry point */ \ - _Scheduler_priority_Enqueue, /* enqueue entry point */ \ - _Scheduler_priority_Enqueue_first, /* enqueue_first entry point */ \ - _Scheduler_priority_Extract, /* extract entry point */ \ - _Scheduler_priority_Tick /* tick entry point */ \ + _Scheduler_priority_Initialize, /* initialize entry point */ \ + _Scheduler_priority_Schedule, /* schedule entry point */ \ + _Scheduler_priority_Yield, /* yield entry point */ \ + _Scheduler_priority_Block, /* block entry point */ \ + _Scheduler_priority_Unblock, /* unblock entry point */ \ + _Scheduler_priority_Allocate, /* allocate entry point */ \ + _Scheduler_priority_Free, /* free entry point */ \ + _Scheduler_priority_Update, /* update entry point */ \ + _Scheduler_priority_Enqueue, /* enqueue entry point */ \ + _Scheduler_priority_Enqueue_first, /* enqueue_first entry point */ \ + _Scheduler_priority_Extract, /* extract entry point */ \ + _Scheduler_priority_Priority_compare, /* compares two priorities */ \ + _Scheduler_priority_Release_job, /* new period of task */ \ + _Scheduler_priority_Tick /* tick entry point */ \ } /** @@ -172,6 +174,30 @@ void _Scheduler_priority_Extract( ); /** + * @brief Scheduler priority Priority compare + * + * This routine compares two priorities. + */ +int _Scheduler_priority_Priority_compare( + Priority_Control p1, + Priority_Control p2 +); + +/** + * @brief Scheduler priority Release job + * + * This routine is called when a new job of task is released. + * + * @param[in] the_thread is the owner of the job. + * @param[in] deadline of the new job from now. If equal to 0, + * the job was cancelled or deleted. + */ +void _Scheduler_priority_Release_job ( + Thread_Control *the_thread, + uint32_t deadline +); + +/** * @brief Deterministic Priority Scheduler Tick Method * * This routine is invoked as part of processing each clock tick. |