summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/include
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-10 13:48:27 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-11-10 13:48:27 +0000
commiteb02f47b126b56091ffaeaad470a48e2ac6d57b5 (patch)
treed52c66ad2d1a1b60d4eecd873949aa07477f8b87 /c/src/exec/score/include
parentAdded support for ITRON tests. (diff)
downloadrtems-eb02f47b126b56091ffaeaad470a48e2ac6d57b5.tar.bz2
Committed modifications from ITRON Task and Task Dependendent Synchronization
Working Group. Included are tests.
Diffstat (limited to 'c/src/exec/score/include')
-rw-r--r--c/src/exec/score/include/rtems/score/Makefile.in5
-rw-r--r--c/src/exec/score/include/rtems/score/thread.h48
2 files changed, 50 insertions, 3 deletions
diff --git a/c/src/exec/score/include/rtems/score/Makefile.in b/c/src/exec/score/include/rtems/score/Makefile.in
index 7dc33b70a7..42e8a8a055 100644
--- a/c/src/exec/score/include/rtems/score/Makefile.in
+++ b/c/src/exec/score/include/rtems/score/Makefile.in
@@ -11,6 +11,8 @@ subdir = score/include/rtems/score
RTEMS_ROOT = @RTEMS_ROOT@
PROJECT_ROOT = @PROJECT_ROOT@
+HAS_ITRON_API = @HAS_ITRON_API@
+
VPATH = @srcdir@
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
@@ -93,8 +95,7 @@ $(TARGOPTS):
@if test "$(HAS_POSIX_API)" = "yes"; then \
echo "#define RTEMS_POSIX_API 1" >>$@; \
fi
- echo "SHOULD BE HAS_ITRON_API not RTEMS_HAS_ITRON_API XXX "
- @if test "$(RTEMS_HAS_ITRON_API)" = "yes"; then \
+ @if test "$(HAS_ITRON_API)" = "yes"; then \
echo "#define RTEMS_ITRON_API 1" >>$@; \
fi
@if test "$(RTEMS_USE_NEWLIB)" = "yes"; then \
diff --git a/c/src/exec/score/include/rtems/score/thread.h b/c/src/exec/score/include/rtems/score/thread.h
index 26452bffbe..bfc42b6fad 100644
--- a/c/src/exec/score/include/rtems/score/thread.h
+++ b/c/src/exec/score/include/rtems/score/thread.h
@@ -185,6 +185,7 @@ struct Thread_Control_struct {
MP_packet_Prefix *receive_packet;
#endif
/****************** end of common block ********************/
+ unsigned32 suspend_count;
boolean is_global;
boolean do_post_task_switch_extension;
@@ -552,6 +553,20 @@ void _Thread_Tickle_timeslice( void );
void _Thread_Yield_processor( void );
+/*
+ * _Thread_Rotate_Ready_Queue
+ *
+ * DESCRIPTION:
+ *
+ * This routine is invoked to rotate the ready queue for the
+ * given priority. It can be used to yeild the processor
+ * by rotating the executing threads ready queue.
+ */
+
+void _Thread_Rotate_Ready_Queue(
+ Priority_Control priority
+);
+
/*
* _Thread_Load_environment
*
@@ -624,11 +639,42 @@ void _Thread_Set_priority(
);
/*
+ * _Thread_Suspend
+ *
+ * DESCRIPTION:
+ *
+ * This routine updates the related suspend fields in the_thread
+ * control block to indicate the current nested level.
+ */
+
+void _Thread_Suspend(
+ Thread_Control *the_thread
+);
+
+/*
+ * _Thread_Resume
+ *
+ * DESCRIPTION:
+ *
+ * This routine updates the related suspend fields in the_thread
+ * control block to indicate the current nested level. A force
+ * parameter of TRUE will force a resume and clear the suspend count.
+ */
+
+void _Thread_Resume(
+ Thread_Control *the_thread,
+ boolean force
+);
+
+/*
* _Thread_Evaluate_mode
*
* DESCRIPTION:
*
- * This routine XXX
+ * This routine evaluates the current scheduling information for the
+ * system and determines if a context switch is required. This
+ * is usually called after changing an execution mode such as preemptability
+ * for a thread.
*/
boolean _Thread_Evaluate_mode( void );