diff options
Diffstat (limited to 'c/src/exec/score/include')
-rw-r--r-- | c/src/exec/score/include/rtems/score/Makefile.in | 5 | ||||
-rw-r--r-- | c/src/exec/score/include/rtems/score/thread.h | 48 |
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 ); |