]> rtime.felk.cvut.cz Git - rtems-pluggable-edf.git/blobdiff - src/edf/scheduler_edf.h
Budget and overrun handling moved from EDF part to CBS part
[rtems-pluggable-edf.git] / src / edf / scheduler_edf.h
index 3a4b55d5aaa1184fa3903d0cc8682fb82a4c85dc..5dc201039c96fdcc5b2c89f9c0e28ac71dbdb5fe 100644 (file)
@@ -12,18 +12,16 @@ EDF_Chain_Control _Thread_Ready_EDF_chain;
 
 /// This routine is called when a task starts to execute a new period or
 /// a first period.
-void edf_next_period(void);
+/// @param __rel_deadline__ in ticks, if a CBS is running, this option is ommited
+/// @param flags Prepared for late unblock protocol
+rtems_status_code edf_next_period(rtems_id period_id, uint32_t __rel_deadline__, uint8_t flags);
 
 /// Changes scheduling policy from priorities to deadlines
-/// @param __rel_deadline__ in ticks required
-void edf_deadline_init(uint32_t __rel_deadline__, uint32_t __cmp_time__, rtems_asr_entry budget_overrun_handler);
+rtems_status_code edf_deadline_init(rtems_name name, rtems_id *period_id);
 
 /// Changes scheduling policy from deadlines to priorities
-void edf_deadline_cancel(void);
+rtems_status_code edf_deadline_cancel(rtems_id period_id);
 
-Thread_CPU_budget_algorithm_callout edf_budget_overrun_callout();
-
-rtems_timer_service_routine_entry edf_budget_overrun_reenable(Thread_Control *the_thread);
 
 
 /// Pluggable scheduler callback functions
@@ -158,7 +156,7 @@ void _Scheduler_edf_Extract(
  * Deadline is later.
  * @return 1 for p1 > p2; 0 for p1 == p2; -1 for p1 < p2
  */
-inline int _Scheduler_edf_Priority_compare (
+int _Scheduler_edf_Priority_compare (
   Priority_Control p1, 
   Priority_Control p2
 );