summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/rtems/tasks.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/include/rtems/rtems/tasks.h')
-rw-r--r--cpukit/include/rtems/rtems/tasks.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/cpukit/include/rtems/rtems/tasks.h b/cpukit/include/rtems/rtems/tasks.h
index aebd3e0f0d..f685c315e3 100644
--- a/cpukit/include/rtems/rtems/tasks.h
+++ b/cpukit/include/rtems/rtems/tasks.h
@@ -23,6 +23,7 @@
#include <rtems/rtems/types.h>
#include <rtems/score/context.h>
#include <rtems/score/smp.h>
+#include <rtems/score/stack.h>
#ifdef __cplusplus
extern "C" {
@@ -51,6 +52,34 @@ extern "C" {
#define RTEMS_YIELD_PROCESSOR WATCHDOG_NO_TIMEOUT
/**
+ * @brief Minimum stack size which every thread must exceed.
+ *
+ * It is the minimum stack size recommended for use on this processor. This
+ * value is selected by the RTEMS developers conservatively to minimize the
+ * risk of blown stacks for most user applications. Using this constant when
+ * specifying the task stack size, indicates that the stack size will be at
+ * least RTEMS_MINIMUM_STACK_SIZE bytes in size. If the user configured minimum
+ * stack size is larger than the recommended minimum, then it will be used.
+ */
+#define RTEMS_MINIMUM_STACK_SIZE STACK_MINIMUM_SIZE
+
+/**
+ * @brief Specifies that the task should be created with the configured minimum
+ * stack size.
+ *
+ * Using this constant when specifying the task stack size indicates that this
+ * task is to be created with a stack size of the minimum stack size that was
+ * configured by the application. If not explicitly configured by the
+ * application, the default configured minimum stack size is the processor
+ * dependent value RTEMS_MINIMUM_STACK_SIZE. Since this uses the configured
+ * minimum stack size value, you may get a stack size that is smaller or larger
+ * than the recommended minimum. This can be used to provide large stacks for
+ * all tasks on complex applications or small stacks on applications that are
+ * trying to conserve memory.
+ */
+#define RTEMS_CONFIGURED_MINIMUM_STACK_SIZE 0
+
+/**
* Define the type for an RTEMS API task priority.
*/
typedef uint32_t rtems_task_priority;