From f3d9f2288e957caabaa1a312096cb72f8e748807 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 26 Jun 2017 10:35:45 +0200 Subject: score: Add SMP EDF scheduler Update #3056. --- cpukit/sapi/include/confdefs.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'cpukit/sapi/include/confdefs.h') diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 604539b5e8..77b80d1cce 100755 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -780,6 +780,7 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; * - CONFIGURE_SCHEDULER_SIMPLE - Light-weight Priority Scheduler * - CONFIGURE_SCHEDULER_SIMPLE_SMP - Simple SMP Priority Scheduler * - CONFIGURE_SCHEDULER_EDF - EDF Scheduler + * - CONFIGURE_SCHEDULER_EDF_SMP - EDF SMP Scheduler * - CONFIGURE_SCHEDULER_CBS - CBS Scheduler * - CONFIGURE_SCHEDULER_USER - user provided scheduler * @@ -805,6 +806,7 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; !defined(CONFIGURE_SCHEDULER_SIMPLE) && \ !defined(CONFIGURE_SCHEDULER_SIMPLE_SMP) && \ !defined(CONFIGURE_SCHEDULER_EDF) && \ + !defined(CONFIGURE_SCHEDULER_EDF_SMP) && \ !defined(CONFIGURE_SCHEDULER_CBS) #if defined(RTEMS_SMP) && CONFIGURE_MAXIMUM_PROCESSORS > 1 /** @@ -979,6 +981,25 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #endif #endif +/* + * If the EDF SMP Scheduler is selected, then configure for it. + */ +#if defined(CONFIGURE_SCHEDULER_EDF_SMP) + #if !defined(CONFIGURE_SCHEDULER_NAME) + /** Configure the name of the scheduler instance */ + #define CONFIGURE_SCHEDULER_NAME rtems_build_name('M', 'E', 'D', 'F') + #endif + + #if !defined(CONFIGURE_SCHEDULER_CONTROLS) + /** Configure the context needed by the scheduler instance */ + #define CONFIGURE_SCHEDULER_CONTEXT RTEMS_SCHEDULER_CONTEXT_EDF_SMP(dflt) + + /** Configure the controls for this scheduler instance */ + #define CONFIGURE_SCHEDULER_CONTROLS \ + RTEMS_SCHEDULER_CONTROL_EDF_SMP(dflt, CONFIGURE_SCHEDULER_NAME) + #endif +#endif + /* * If the CBS Scheduler is selected, then configure for it. */ @@ -3151,6 +3172,9 @@ extern rtems_initialization_tasks_table Initialization_tasks[]; #ifdef CONFIGURE_SCHEDULER_EDF Scheduler_EDF_Node EDF; #endif + #ifdef CONFIGURE_SCHEDULER_EDF_SMP + Scheduler_EDF_SMP_Node EDF_SMP; + #endif #ifdef CONFIGURE_SCHEDULER_PRIORITY Scheduler_priority_Node Priority; #endif -- cgit v1.2.3