[rtems commit] config: Add SMP scheduler configuration errors

Sebastian Huber sebh at rtems.org
Mon Sep 5 14:12:14 UTC 2022


Module:    rtems
Branch:    master
Commit:    33f1223cab0b32a24da6aa5f291f5c0e6903d719
Changeset: http://git.rtems.org/rtems/commit/?id=33f1223cab0b32a24da6aa5f291f5c0e6903d719

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Sep  5 14:08:30 2022 +0200

config: Add SMP scheduler configuration errors

Issue an error message if an SMP-specific scheduler is used and
RTEMS_SMP is disabled.  This might be a more informative compared to
compiler or linker errors.

---

 cpukit/include/rtems/scheduler.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/cpukit/include/rtems/scheduler.h b/cpukit/include/rtems/scheduler.h
index d5c7e51ef5..a8004cb5e4 100644
--- a/cpukit/include/rtems/scheduler.h
+++ b/cpukit/include/rtems/scheduler.h
@@ -132,6 +132,10 @@
 #endif
 
 #ifdef CONFIGURE_SCHEDULER_EDF_SMP
+  #ifndef RTEMS_SMP
+    #error "CONFIGURE_SCHEDULER_EDF_SMP cannot be used if RTEMS_SMP is disabled"
+  #endif
+
   #include <rtems/score/scheduleredfsmp.h>
 
   #ifndef CONFIGURE_MAXIMUM_PROCESSORS
@@ -198,6 +202,10 @@
 #endif
 
 #ifdef CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
+  #ifndef RTEMS_SMP
+    #error "CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP cannot be used if RTEMS_SMP is disabled"
+  #endif
+
   #include <rtems/score/schedulerpriorityaffinitysmp.h>
 
   #define SCHEDULER_PRIORITY_AFFINITY_SMP_CONTEXT_NAME( name ) \
@@ -230,6 +238,10 @@
 #endif
 
 #ifdef CONFIGURE_SCHEDULER_PRIORITY_SMP
+  #ifndef RTEMS_SMP
+    #error "CONFIGURE_SCHEDULER_PRIORITY_SMP cannot be used if RTEMS_SMP is disabled"
+  #endif
+
   #include <rtems/score/schedulerprioritysmp.h>
 
   #define SCHEDULER_PRIORITY_SMP_CONTEXT_NAME( name ) \
@@ -262,6 +274,10 @@
 #endif
 
 #ifdef CONFIGURE_SCHEDULER_STRONG_APA
+  #ifndef RTEMS_SMP
+    #error "CONFIGURE_SCHEDULER_STRONG_APA cannot be used if RTEMS_SMP is disabled"
+  #endif
+
   #include <rtems/score/schedulerstrongapa.h>
 
   #ifndef CONFIGURE_MAXIMUM_PROCESSORS
@@ -324,6 +340,10 @@
 #endif
 
 #ifdef CONFIGURE_SCHEDULER_SIMPLE_SMP
+  #ifndef RTEMS_SMP
+    #error "CONFIGURE_SCHEDULER_SIMPLE_SMP cannot be used if RTEMS_SMP is disabled"
+  #endif
+
   #include <rtems/score/schedulersimplesmp.h>
 
   #define SCHEDULER_SIMPLE_SMP_CONTEXT_NAME( name ) \



More information about the vc mailing list