summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/scheduleredf.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-06-24 11:22:03 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-06-24 14:44:31 +0200
commit254dc82daf8cbd6922376fcbb81c31e21cbf4d16 (patch)
treec58687f860da6543dc05ab14fdf7e8db8f77cfbc /cpukit/score/include/rtems/score/scheduleredf.h
parentscore: Silence integer conversion warnings (diff)
downloadrtems-254dc82daf8cbd6922376fcbb81c31e21cbf4d16.tar.bz2
score: Change Priority_Control to 64-bit
A 32-bit Priority_Control limits the uptime to 49 days with a 1ms clock tick in case the EDF scheduler is used. Increase it to 64-bit to enable proper operation of the EDF scheduler, Close 2173.
Diffstat (limited to 'cpukit/score/include/rtems/score/scheduleredf.h')
-rw-r--r--cpukit/score/include/rtems/score/scheduleredf.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/cpukit/score/include/rtems/score/scheduleredf.h b/cpukit/score/include/rtems/score/scheduleredf.h
index c236bd5dd4..66bc17e203 100644
--- a/cpukit/score/include/rtems/score/scheduleredf.h
+++ b/cpukit/score/include/rtems/score/scheduleredf.h
@@ -24,6 +24,8 @@
#include <rtems/score/schedulerpriority.h>
#include <rtems/score/rbtree.h>
+#include <limits.h>
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -35,7 +37,12 @@ extern "C" {
*/
/**@{*/
-#define SCHEDULER_EDF_MAXIMUM_PRIORITY 0x7fffffff
+/*
+ * Actually the EDF scheduler supports a maximum priority of
+ * 0x7fffffffffffffff, but the user API is limited to uint32_t or int for
+ * thread priorities. Ignore ILP64 targets for now.
+ */
+#define SCHEDULER_EDF_MAXIMUM_PRIORITY INT_MAX
/**
* Entry points for the Earliest Deadline First Scheduler.