summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/schedulerpriority.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpukit/score/include/rtems/score/schedulerpriority.h50
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.