change log for rtems (2011-06-17)

rtems-vc at rtems.org rtems-vc at rtems.org
Fri Jun 17 15:10:55 UTC 2011


 *joel*:
2011-06-17	Joel Sherrill <joel.sherrill at oarcorp.com>

	PR 1819/cpukit
	* rtems/src/clocktick.c, score/Makefile.am,
	score/include/rtems/score/scheduler.h,
	score/include/rtems/score/schedulerpriority.h,
	score/include/rtems/score/schedulersimple.h,
	score/include/rtems/score/schedulersimplesmp.h,
	score/include/rtems/score/thread.h,
	score/inline/rtems/score/scheduler.inl: Add a scheduler entry point
	which is invoked at each clock tick. _Thread_Tickle_timeslice() is
	now a method owned by the Deterministic Priority Scheduler and shared
	by the Simple Priority Scheduler. The Simple SMP Scheduler has its
	own variation on this which does timeslicing bookkeeping on all
	cores.
	* score/src/schedulerprioritytick.c,
	score/src/schedulersimplesmptick.c: New files.
	* score/src/threadtickletimeslice.c: Removed.

M 1.2855  cpukit/ChangeLog
M    1.5  cpukit/rtems/src/clocktick.c
M  1.104  cpukit/score/Makefile.am
M    1.6  cpukit/score/include/rtems/score/scheduler.h
M   1.10  cpukit/score/include/rtems/score/schedulerpriority.h
M    1.4  cpukit/score/include/rtems/score/schedulersimple.h
M    1.3  cpukit/score/include/rtems/score/schedulersimplesmp.h
M  1.106  cpukit/score/include/rtems/score/thread.h
M    1.5  cpukit/score/inline/rtems/score/scheduler.inl
A    1.1  cpukit/score/src/schedulerprioritytick.c
A    1.1  cpukit/score/src/schedulersimplesmptick.c
R   1.15  cpukit/score/src/threadtickletimeslice.c

diff -u rtems/cpukit/ChangeLog:1.2854 rtems/cpukit/ChangeLog:1.2855
--- rtems/cpukit/ChangeLog:1.2854	Fri Jun 17 07:34:36 2011
+++ rtems/cpukit/ChangeLog	Fri Jun 17 09:31:45 2011
@@ -1,3 +1,22 @@
+2011-06-17	Joel Sherrill <joel.sherrill at oarcorp.com>
+
+	PR 1819/cpukit
+	* rtems/src/clocktick.c, score/Makefile.am,
+	score/include/rtems/score/scheduler.h,
+	score/include/rtems/score/schedulerpriority.h,
+	score/include/rtems/score/schedulersimple.h,
+	score/include/rtems/score/schedulersimplesmp.h,
+	score/include/rtems/score/thread.h,
+	score/inline/rtems/score/scheduler.inl: Add a scheduler entry point
+	which is invoked at each clock tick. _Thread_Tickle_timeslice() is
+	now a method owned by the Deterministic Priority Scheduler and shared
+	by the Simple Priority Scheduler. The Simple SMP Scheduler has its
+	own variation on this which does timeslicing bookkeeping on all
+	cores.
+	* score/src/schedulerprioritytick.c,
+	score/src/schedulersimplesmptick.c: New files.
+	* score/src/threadtickletimeslice.c: Removed.
+
 2011-06-17	Sebastian Huber <sebastian.huber at embedded-brains.de>
 
 	* libcsupport/include/rtems/libio.h, cpukit/libcsupport/src/termios.c:

diff -u rtems/cpukit/rtems/src/clocktick.c:1.4 rtems/cpukit/rtems/src/clocktick.c:1.5
--- rtems/cpukit/rtems/src/clocktick.c:1.4	Tue Jan 18 03:03:43 2005
+++ rtems/cpukit/rtems/src/clocktick.c	Fri Jun 17 09:31:45 2011
@@ -1,7 +1,5 @@
 /*
- *  Clock Manager
- *
- *  COPYRIGHT (c) 1989-1999.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -45,7 +43,7 @@
 
   _Watchdog_Tickle_ticks();
 
-  _Thread_Tickle_timeslice();
+  _Scheduler_Tick();
 
   if ( _Thread_Is_context_switch_necessary() &&
        _Thread_Is_dispatching_enabled() )

diff -u rtems/cpukit/score/Makefile.am:1.103 rtems/cpukit/score/Makefile.am:1.104
--- rtems/cpukit/score/Makefile.am:1.103	Mon May 23 08:30:14 2011
+++ rtems/cpukit/score/Makefile.am	Fri Jun 17 09:31:45 2011
@@ -134,7 +134,7 @@
 if HAS_SMP
 libscore_a_SOURCES += src/smp.c src/smplock.c \
     src/schedulersimplesmpblock.c src/schedulersimplesmpschedule.c \
-    src/schedulersimplesmpunblock.c
+    src/schedulersimplesmpunblock.c src/schedulerprioritytick.c 
 endif
 
 ## CORE_APIMUTEX_C_FILES
@@ -196,6 +196,7 @@
 ## SCHEDULERPRIORITY_C_FILES
 libscore_a_SOURCES += src/schedulerpriority.c \
     src/schedulerpriorityallocate.c \
+    src/schedulerprioritytick.c \
     src/schedulerpriorityblock.c \
     src/schedulerpriorityenqueue.c \
     src/schedulerpriorityenqueuefirst.c \
@@ -239,8 +240,8 @@
     src/threadrestart.c src/threadsetpriority.c \
     src/threadsetstate.c src/threadsettransient.c \
     src/threadstackallocate.c src/threadstackfree.c src/threadstart.c \
-    src/threadstartmultitasking.c src/threadtickletimeslice.c \
-    src/iterateoverthreads.c src/threadblockingoperationcancel.c
+    src/threadstartmultitasking.c src/iterateoverthreads.c \
+    src/threadblockingoperationcancel.c
     
 if HAS_SMP
 libscore_a_SOURCES += src/threaddispatchdisablelevel.c

diff -u rtems/cpukit/score/include/rtems/score/scheduler.h:1.5 rtems/cpukit/score/include/rtems/score/scheduler.h:1.6
--- rtems/cpukit/score/include/rtems/score/scheduler.h:1.5	Fri Feb 18 09:12:43 2011
+++ rtems/cpukit/score/include/rtems/score/scheduler.h	Fri Jun 17 09:31:45 2011
@@ -74,6 +74,9 @@
 
   /** extract a thread from the ready set */
   void ( *extract )(Thread_Control *);
+
+  /** perform scheduler update actions required at each clock tick */
+  void ( *tick )(void);
 } Scheduler_Operations;
 
 /**

diff -u rtems/cpukit/score/include/rtems/score/schedulerpriority.h:1.9 rtems/cpukit/score/include/rtems/score/schedulerpriority.h:1.10
--- rtems/cpukit/score/include/rtems/score/schedulerpriority.h:1.9	Mon May 23 21:44:57 2011
+++ rtems/cpukit/score/include/rtems/score/schedulerpriority.h	Fri Jun 17 09:31:45 2011
@@ -48,7 +48,8 @@
     _Scheduler_priority_Update,        /* update entry point */ \
     _Scheduler_priority_Enqueue,       /* enqueue entry point */ \
     _Scheduler_priority_Enqueue_first, /* enqueue_first entry point */ \
-    _Scheduler_priority_Extract        /* extract entry point */ \
+    _Scheduler_priority_Extract,       /* extract entry point */ \
+    _Scheduler_priority_Tick           /* tick entry point */ \
   }
 
 /**
@@ -171,6 +172,15 @@
 );
 
 /**
+ *  @brief Deterministic Priority Scheduler Tick Method
+ *
+ *  This routine is invoked as part of processing each clock tick.
+ *  It is responsible for determining if the current thread allows
+ *  timeslicing and, if so, when its timeslice expires.
+ */
+void _Scheduler_priority_Tick( void );
+
+/**
  *  This is the major bit map.
  */
 extern volatile Priority_bit_map_Control _Priority_Major_bit_map;

diff -u rtems/cpukit/score/include/rtems/score/schedulersimple.h:1.3 rtems/cpukit/score/include/rtems/score/schedulersimple.h:1.4
--- rtems/cpukit/score/include/rtems/score/schedulersimple.h:1.3	Mon May 23 21:44:57 2011
+++ rtems/cpukit/score/include/rtems/score/schedulersimple.h	Fri Jun 17 09:31:45 2011
@@ -28,6 +28,7 @@
 #endif
 
 #include <rtems/score/scheduler.h>
+#include <rtems/score/schedulerpriority.h>
 
 /**
  *  Entry points for Scheduler Simple
@@ -44,7 +45,8 @@
     _Scheduler_simple_Update,        /* update entry point */ \
     _Scheduler_simple_Enqueue,       /* enqueue entry point */ \
     _Scheduler_simple_Enqueue_first, /* enqueue_first entry point */ \
-    _Scheduler_simple_Extract        /* extract entry point */ \
+    _Scheduler_simple_Extract,       /* extract entry point */ \
+    _Scheduler_priority_Tick         /* tick entry point */ \
   }
 
 /**

diff -u rtems/cpukit/score/include/rtems/score/schedulersimplesmp.h:1.2 rtems/cpukit/score/include/rtems/score/schedulersimplesmp.h:1.3
--- rtems/cpukit/score/include/rtems/score/schedulersimplesmp.h:1.2	Mon May 23 21:44:57 2011
+++ rtems/cpukit/score/include/rtems/score/schedulersimplesmp.h	Fri Jun 17 09:31:45 2011
@@ -56,7 +56,8 @@
     _Scheduler_simple_Update,        /* update entry point */ \
     _Scheduler_simple_Enqueue,       /* enqueue entry point */ \
     _Scheduler_simple_Enqueue_first, /* enqueue_first entry point */ \
-    _Scheduler_simple_Extract        /* extract entry point */ \
+    _Scheduler_simple_Extract,       /* extract entry point */ \
+    _Scheduler_simple_smp_Tick       /* tick entry point */ \
   }
 
 /**
@@ -95,6 +96,16 @@
   Thread_Control *the_thread
 );
 
+/**
+ *  @brief Scheduler Simple SMP Tick Method
+ *
+ *  This routine is invoked as part of processing each clock tick.
+ *  It is responsible for determining if the current thread allows
+ *  timeslicing and, if so, when its timeslice expires.
+ */
+void _Scheduler_simple_smp_Tick( void );
+
+/**
 #ifdef __cplusplus
 }
 #endif

diff -u rtems/cpukit/score/include/rtems/score/thread.h:1.105 rtems/cpukit/score/include/rtems/score/thread.h:1.106
--- rtems/cpukit/score/include/rtems/score/thread.h:1.105	Mon May 23 21:44:57 2011
+++ rtems/cpukit/score/include/rtems/score/thread.h	Fri Jun 17 09:31:46 2011
@@ -6,7 +6,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2011.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -660,13 +660,6 @@
 );
 
 /**
- *  This routine is invoked as part of processing each clock tick.
- *  It is responsible for determining if the current thread allows
- *  timeslicing and, if so, when its timeslice expires.
- */
-void _Thread_Tickle_timeslice( void );
-
-/**
  *  This routine initializes the context of the_thread to its
  *  appropriate starting state.
  */

diff -u rtems/cpukit/score/inline/rtems/score/scheduler.inl:1.4 rtems/cpukit/score/inline/rtems/score/scheduler.inl:1.5
--- rtems/cpukit/score/inline/rtems/score/scheduler.inl:1.4	Fri Feb 18 09:12:43 2011
+++ rtems/cpukit/score/inline/rtems/score/scheduler.inl	Fri Jun 17 09:31:46 2011
@@ -159,6 +159,18 @@
   _Scheduler.Operations.extract( the_thread );
 }
 
+/** @brief Scheduler Method Invoked at Each Clock Tick
+ *
+ * This method is invoked at each clock tick to allow the scheduler
+ * implementation to perform any activities required.  For the 
+ * scheduler which support standard RTEMS features, this includes
+ * time-slicing management.
+ */
+RTEMS_INLINE_ROUTINE void _Scheduler_Tick( void )
+{
+  _Scheduler.Operations.tick();
+}
+
 /**@}*/
 
 #endif

diff -u /dev/null rtems/cpukit/score/src/schedulerprioritytick.c:1.1
--- /dev/null	Fri Jun 17 10:10:53 2011
+++ rtems/cpukit/score/src/schedulerprioritytick.c	Fri Jun 17 09:31:46 2011
@@ -0,0 +1,77 @@
+/*
+ *  COPYRIGHT (c) 1989-2009.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <rtems/system.h>
+#include <rtems/score/schedulerpriority.h>
+
+void _Scheduler_priority_Tick( void )
+{
+  Thread_Control *executing;
+
+  executing = _Thread_Executing;
+
+  #ifdef __RTEMS_USE_TICKS_FOR_STATISTICS__
+    /*
+     *  Increment the number of ticks this thread has been executing
+     */
+    executing->cpu_time_used++;
+  #endif
+
+  /*
+   *  If the thread is not preemptible or is not ready, then
+   *  just return.
+   */
+
+  if ( !executing->is_preemptible )
+    return;
+
+  if ( !_States_Is_ready( executing->current_state ) )
+    return;
+
+  /*
+   *  The cpu budget algorithm determines what happens next.
+   */
+
+  switch ( executing->budget_algorithm ) {
+    case THREAD_CPU_BUDGET_ALGORITHM_NONE:
+      break;
+
+    case THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE:
+    #if defined(RTEMS_SCORE_THREAD_ENABLE_EXHAUST_TIMESLICE)
+      case THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE:
+    #endif
+      if ( (int)(--executing->cpu_time_budget) <= 0 ) {
+
+        /*
+         *  A yield performs the ready chain mechanics needed when
+         *  resetting a timeslice.  If no other thread's are ready
+         *  at the priority of the currently executing thread, then the
+         *  executing thread's timeslice is reset.  Otherwise, the
+         *  currently executing thread is placed at the rear of the
+         *  FIFO for this priority and a new heir is selected.
+         */
+        _Scheduler_Yield();
+        executing->cpu_time_budget = _Thread_Ticks_per_timeslice;
+      }
+      break;
+
+    #if defined(RTEMS_SCORE_THREAD_ENABLE_SCHEDULER_CALLOUT)
+      case THREAD_CPU_BUDGET_ALGORITHM_CALLOUT:
+	if ( --executing->cpu_time_budget == 0 )
+	  (*executing->budget_callout)( executing );
+	break;
+    #endif
+  }
+}

diff -u /dev/null rtems/cpukit/score/src/schedulersimplesmptick.c:1.1
--- /dev/null	Fri Jun 17 10:10:54 2011
+++ rtems/cpukit/score/src/schedulersimplesmptick.c	Fri Jun 17 09:31:46 2011
@@ -0,0 +1,100 @@
+/*
+ *  COPYRIGHT (c) 1989-2009.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ *  $Id$
+ */
+
+#if HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <rtems/system.h>
+#include <rtems/score/schedulersimplesmp.h>
+
+static void _Scheduler_simple_smp_Tick_helper(
+  int cpu
+)
+{
+  Thread_Control *executing;
+
+  executing = _Per_CPU_Information[cpu].executing;
+
+  #ifdef __RTEMS_USE_TICKS_FOR_STATISTICS__
+    /*
+     *  Increment the number of ticks this thread has been executing
+     */
+    executing->cpu_time_used++;
+  #endif
+
+  /*
+   *  If the thread is not preemptible or is not ready, then
+   *  just return.
+   */
+
+  if ( !executing->is_preemptible )
+    return;
+
+  if ( !_States_Is_ready( executing->current_state ) )
+    return;
+
+  /*
+   *  The cpu budget algorithm determines what happens next.
+   */
+
+  switch ( executing->budget_algorithm ) {
+    case THREAD_CPU_BUDGET_ALGORITHM_NONE:
+      break;
+
+    case THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE:
+    #if defined(RTEMS_SCORE_THREAD_ENABLE_EXHAUST_TIMESLICE)
+      case THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE:
+    #endif
+      if ( (int)(--executing->cpu_time_budget) <= 0 ) {
+
+        /*
+         *  A yield performs the ready chain mechanics needed when
+         *  resetting a timeslice.  If no other thread's are ready
+         *  at the priority of the currently executing thread, then the
+         *  executing thread's timeslice is reset.  Otherwise, the
+         *  currently executing thread is placed at the rear of the
+         *  FIFO for this priority and a new heir is selected.
+         *
+         *  In the SMP case, we do the chain manipulation for every
+         *  CPU, then schedule after all CPUs have been evaluated.
+         */
+        _ISR_Disable( level );
+          _Scheduler_simple_Ready_queue_requeue( &_Scheduler, executing );
+        _ISR_Enable( level );
+
+        executing->cpu_time_budget = _Thread_Ticks_per_timeslice;
+      }
+      break;
+
+    #if defined(RTEMS_SCORE_THREAD_ENABLE_SCHEDULER_CALLOUT)
+      case THREAD_CPU_BUDGET_ALGORITHM_CALLOUT:
+	if ( --executing->cpu_time_budget == 0 )
+	  (*executing->budget_callout)( executing );
+	break;
+    #endif
+  }
+}
+
+void _Scheduler_simple_smp_Tick( void )
+{
+  uint32_t        cpu;
+
+  /*
+   *  Iterate over all cores, updating time slicing information
+   *  and logically performing a yield.  Then perform a schedule
+   *  operation to account for all the changes.
+   */
+  for ( cpu=0 ; cpu < _SMP_Processor_count ; cpu++ ) {
+    _Scheduler_simple_smp_Tick_helper( cpu );
+  }
+  _Scheduler_simple_smp_Schedule();
+}


 *joel*:
2011-06-17	Joel Sherrill <joel.sherrill at oarcorp.com>

	* libcsupport/include/rtems/malloc.h, libmisc/stackchk/stackchk.h,
	posix/include/rtems/posix/time.h, rtems/include/rtems/rtems/object.h,
	score/include/rtems/score/apiext.h,
	score/include/rtems/score/interr.h, score/include/rtems/score/mpci.h,
	score/include/rtems/score/objectmp.h,
	score/include/rtems/score/thread.h,
	score/include/rtems/score/threadmp.h,
	score/include/rtems/score/threadq.h,
	score/include/rtems/score/timespec.h,
	score/include/rtems/score/timestamp.h,
	score/include/rtems/score/timestamp64.h,
	score/include/rtems/score/tod.h,
	score/include/rtems/score/watchdog.h,
	score/include/rtems/score/wkspace.h: Make @brief formatting more
	consistent.
	* score/include/rtems/score/rbtree.h: Also reformat.

M 1.2856  cpukit/ChangeLog
M   1.13  cpukit/libcsupport/include/rtems/malloc.h
M   1.18  cpukit/libmisc/stackchk/stackchk.h
M   1.15  cpukit/posix/include/rtems/posix/time.h
M   1.11  cpukit/rtems/include/rtems/rtems/object.h
M   1.20  cpukit/score/include/rtems/score/apiext.h
M   1.34  cpukit/score/include/rtems/score/interr.h
M   1.28  cpukit/score/include/rtems/score/mpci.h
M   1.29  cpukit/score/include/rtems/score/objectmp.h
M    1.3  cpukit/score/include/rtems/score/rbtree.h
M  1.107  cpukit/score/include/rtems/score/thread.h
M   1.21  cpukit/score/include/rtems/score/threadmp.h
M   1.30  cpukit/score/include/rtems/score/threadq.h
M   1.11  cpukit/score/include/rtems/score/timespec.h
M    1.6  cpukit/score/include/rtems/score/timestamp.h
M    1.4  cpukit/score/include/rtems/score/timestamp64.h
M   1.42  cpukit/score/include/rtems/score/tod.h
M   1.32  cpukit/score/include/rtems/score/watchdog.h
M   1.32  cpukit/score/include/rtems/score/wkspace.h

diff -u rtems/cpukit/ChangeLog:1.2855 rtems/cpukit/ChangeLog:1.2856
--- rtems/cpukit/ChangeLog:1.2855	Fri Jun 17 09:31:45 2011
+++ rtems/cpukit/ChangeLog	Fri Jun 17 09:55:26 2011
@@ -1,5 +1,24 @@
 2011-06-17	Joel Sherrill <joel.sherrill at oarcorp.com>
 
+	* libcsupport/include/rtems/malloc.h, libmisc/stackchk/stackchk.h,
+	posix/include/rtems/posix/time.h, rtems/include/rtems/rtems/object.h,
+	score/include/rtems/score/apiext.h,
+	score/include/rtems/score/interr.h, score/include/rtems/score/mpci.h,
+	score/include/rtems/score/objectmp.h,
+	score/include/rtems/score/thread.h,
+	score/include/rtems/score/threadmp.h,
+	score/include/rtems/score/threadq.h,
+	score/include/rtems/score/timespec.h,
+	score/include/rtems/score/timestamp.h,
+	score/include/rtems/score/timestamp64.h,
+	score/include/rtems/score/tod.h,
+	score/include/rtems/score/watchdog.h,
+	score/include/rtems/score/wkspace.h: Make @brief formatting more
+	consistent.
+	* score/include/rtems/score/rbtree.h: Also reformat.
+
+2011-06-17	Joel Sherrill <joel.sherrill at oarcorp.com>
+
 	PR 1819/cpukit
 	* rtems/src/clocktick.c, score/Makefile.am,
 	score/include/rtems/score/scheduler.h,

diff -u rtems/cpukit/libcsupport/include/rtems/malloc.h:1.12 rtems/cpukit/libcsupport/include/rtems/malloc.h:1.13
--- rtems/cpukit/libcsupport/include/rtems/malloc.h:1.12	Thu Feb 17 08:17:09 2011
+++ rtems/cpukit/libcsupport/include/rtems/malloc.h	Fri Jun 17 09:55:26 2011
@@ -5,7 +5,7 @@
 /*
  *  RTEMS Malloc Extensions
  *
- *  COPYRIGHT (c) 1989-2007.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may in
@@ -72,7 +72,8 @@
 typedef void (*rtems_malloc_dirtier_t)(void *, size_t);
 extern rtems_malloc_dirtier_t rtems_malloc_dirty_helper;
 
-/** @brief Dirty memory function
+/**
+ *  @brief Dirty memory function
  *
  *  This method fills the specified area with a non-zero pattern
  *  to aid in debugging programs which do not initialize their
@@ -83,7 +84,8 @@
   size_t  size
 );
 
-/** @brief Print Malloc Statistic Usage Report
+/**
+ *  @brief Print Malloc Statistic Usage Report
  *
  *  This method fills in the called provided malloc statistics area.
  *
@@ -93,7 +95,8 @@
   rtems_malloc_statistics_t *stats
 );
 
-/** @brief Print Malloc Statistic Usage Report
+/**
+ *  @brief Print Malloc Statistic Usage Report
  *
  *  This method prints a malloc statistics report.
  *
@@ -101,7 +104,8 @@
  */
 void malloc_report_statistics(void);
 
-/** @brief Print Malloc Statistic Usage Report
+/**
+ *  @brief Print Malloc Statistic Usage Report
  *
  *  This method prints a malloc statistics report.
  *
@@ -116,6 +120,7 @@
 );
 
 /**
+ *  @brief RTEMS variation on Aligned Memory Allocation
  *
  *  This method is a help memalign implementation which does all
  *  error checking done by posix_memalign() EXCEPT it does NOT

diff -u rtems/cpukit/libmisc/stackchk/stackchk.h:1.17 rtems/cpukit/libmisc/stackchk/stackchk.h:1.18
--- rtems/cpukit/libmisc/stackchk/stackchk.h:1.17	Wed Feb 23 08:07:40 2011
+++ rtems/cpukit/libmisc/stackchk/stackchk.h	Fri Jun 17 09:55:27 2011
@@ -5,7 +5,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2007.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -27,7 +27,8 @@
 extern "C" {
 #endif
 
-/** @brief Has Current Task Blown Its Stack
+/**
+ *  @brief Has Current Task Blown Its Stack
  *
  *  This method is used to determine if the current stack pointer
  *  of the currently executing task is within bounds.
@@ -38,7 +39,8 @@
  */
 bool rtems_stack_checker_is_blown( void );
 
-/** @brief Print Stack Usage Report
+/**
+ *  @brief Print Stack Usage Report
  *
  *  This method prints a stack usage report for the curently executing
  *  task.
@@ -47,7 +49,8 @@
  */
 void rtems_stack_checker_report_usage( void );
 
-/** @brief Print Stack Usage Report
+/**
+ *  @brief Print Stack Usage Report
  *
  *  This method prints a stack usage report for the curently executing
  *  task.
@@ -68,7 +71,8 @@
  *************************************************************
  *************************************************************/
 
-/** @brief Stack Checker Task Create Extension
+/**
+ *  @brief Stack Checker Task Create Extension
  *
  * This method is the task create extension for the stack checker.
  *
@@ -83,7 +87,8 @@
   Thread_Control *the_thread
 );
 
-/** @brief Stack Checker Task Begin Extension
+/**
+ *  @brief Stack Checker Task Begin Extension
  *
  * This method is the task begin extension for the stack checker.
  *
@@ -95,7 +100,8 @@
   Thread_Control *the_thread
 );
 
-/** @brief Stack Checker Task Context Switch Extension
+/**
+ *  @brief Stack Checker Task Context Switch Extension
  *
  * This method is the task context switch extension for the stack checker.
  *
@@ -110,7 +116,8 @@
   Thread_Control *heir
 );
 
-/** @brief Stack Checker Extension Set Definition
+/**
+ *  @brief Stack Checker Extension Set Definition
  *
  *  This macro defines the user extension handler set for the stack
  *  checker.  This macro is normally only used by confdefs.h.

diff -u rtems/cpukit/posix/include/rtems/posix/time.h:1.14 rtems/cpukit/posix/include/rtems/posix/time.h:1.15
--- rtems/cpukit/posix/include/rtems/posix/time.h:1.14	Mon Nov 30 09:44:20 2009
+++ rtems/cpukit/posix/include/rtems/posix/time.h	Fri Jun 17 09:55:27 2011
@@ -3,7 +3,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2008.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -19,7 +19,8 @@
 #include <rtems/score/timespec.h>
 #include <rtems/score/watchdog.h>
 
-/** @brief Absolute Timeout Conversion Results
+/**
+ *  @brief Absolute Timeout Conversion Results
  *
  *  This enumeration defines the possible results of converting
  *  an absolute time used for timeouts to POSIX blocking calls to

diff -u rtems/cpukit/rtems/include/rtems/rtems/object.h:1.10 rtems/cpukit/rtems/include/rtems/rtems/object.h:1.11
--- rtems/cpukit/rtems/include/rtems/rtems/object.h:1.10	Fri Jun 18 00:28:04 2010
+++ rtems/cpukit/rtems/include/rtems/rtems/object.h	Fri Jun 17 09:55:27 2011
@@ -2,7 +2,7 @@
  * @file rtems/rtems/object.h
  */
 
-/*  COPYRIGHT (c) 1989-2008.
+/*  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -88,7 +88,8 @@
 #define rtems_build_name( _C1, _C2, _C3, _C4 ) \
   _Objects_Build_name( _C1, _C2, _C3, _C4 )
 
-/** @brief Obtain name of object
+/**
+ *  @brief Obtain name of object
  *
  *  This directive returns the name associated with the specified
  *  object ID.

diff -u rtems/cpukit/score/include/rtems/score/apiext.h:1.19 rtems/cpukit/score/include/rtems/score/apiext.h:1.20
--- rtems/cpukit/score/include/rtems/score/apiext.h:1.19	Fri Jul  3 15:25:35 2009
+++ rtems/cpukit/score/include/rtems/score/apiext.h	Fri Jun 17 09:55:27 2011
@@ -91,13 +91,15 @@
  */
 SCORE_EXTERN Chain_Control _API_extensions_List;
 
-/** @brief Initialize the API Extensions Handler
+/**
+ * @brief Initialize the API Extensions Handler
  *
  *  This routine initializes the API extension handler.
  */
 void _API_extensions_Initialization( void );
 
-/** @brief Add Extension Set to the Active Set
+/**
+ * @brief Add Extension Set to the Active Set
  *
  *  This routine adds an extension to the active set of API extensions.
  *
@@ -108,20 +110,23 @@
 );
 
 #if defined(FUNCTIONALITY_NOT_CURRENTLY_USED_BY_ANY_API)
-  /** @brief Execute all Pre-Driver Extensions
+  /**
+   * @brief Execute all Pre-Driver Extensions
    *
    *  This routine executes all of the predriver callouts.
    */
   void _API_extensions_Run_predriver( void );
 #endif
 
-/** @brief Execute all Post-Driver Extensions
+/**
+ * @brief Execute all Post-Driver Extensions
  *
  *  This routine executes all of the postdriver callouts.
  */
 void _API_extensions_Run_postdriver( void );
 
-/** @brief Execute all Post Context Switch Extensions
+/**
+ * @brief Execute all Post Context Switch Extensions
  *
  *  This routine executes all of the post context switch callouts.
  */

diff -u rtems/cpukit/score/include/rtems/score/interr.h:1.33 rtems/cpukit/score/include/rtems/score/interr.h:1.34
--- rtems/cpukit/score/include/rtems/score/interr.h:1.33	Mon Aug 23 02:59:38 2010
+++ rtems/cpukit/score/include/rtems/score/interr.h	Fri Jun 17 09:55:27 2011
@@ -6,7 +6,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2007.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -94,7 +94,8 @@
  */
 SCORE_EXTERN Internal_errors_Information _Internal_errors_What_happened;
 
-/** @brief  Internal error Occurred
+/**
+ * @brief  Internal error Occurred
  *
  *  This routine is invoked when the application or the executive itself
  *  determines that a fatal error has occurred.

diff -u rtems/cpukit/score/include/rtems/score/mpci.h:1.27 rtems/cpukit/score/include/rtems/score/mpci.h:1.28
--- rtems/cpukit/score/include/rtems/score/mpci.h:1.27	Fri Nov 27 23:58:54 2009
+++ rtems/cpukit/score/include/rtems/score/mpci.h	Fri Jun 17 09:55:27 2011
@@ -6,7 +6,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2008.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -179,7 +179,8 @@
  */
 SCORE_EXTERN MPCI_Control *_MPCI_table;
 
-/** @brief Pointer to MP Thread Control Block
+/**
+ *  @brief Pointer to MP Thread Control Block
  *
  *  The following is used to determine when the multiprocessing receive
  *  thread is executing so that a proxy can be allocated instead of

diff -u rtems/cpukit/score/include/rtems/score/objectmp.h:1.28 rtems/cpukit/score/include/rtems/score/objectmp.h:1.29
--- rtems/cpukit/score/include/rtems/score/objectmp.h:1.28	Fri Nov 27 23:58:54 2009
+++ rtems/cpukit/score/include/rtems/score/objectmp.h	Fri Jun 17 09:55:27 2011
@@ -6,7 +6,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2006.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -46,21 +46,24 @@
   uint32_t        name;
 }   Objects_MP_Control;
 
-/** @brief  Objects MP Handler initialization
+/**
+ *  @brief  Objects MP Handler initialization
  *
  *  This routine intializes the inactive global object chain
  *  based on the maximum number of global objects configured.
  */
 void _Objects_MP_Handler_initialization(void);
 
-/** @brief  Objects MP Handler Early initialization
+/**
+ *  @brief  Objects MP Handler Early initialization
  *
  *  This routine intializes the global object node number
  *  used in the ID field of all objects.
  */
 void _Objects_MP_Handler_early_initialization(void);
 
-/** @brief Objects MP Open
+/**
+ *  @brief Objects MP Open
  *
  *  This routine place the specified global object in the
  *  specified information table.
@@ -81,7 +84,8 @@
   Objects_Id           the_id
 );
 
-/** @brief  Objects MP Allocate and open
+/**
+ *  @brief  Objects MP Allocate and open
  *
  *  This routine allocates a global object control block
  *  and places it in the specified information table.  If the
@@ -105,7 +109,8 @@
   bool                 is_fatal_error
 );
 
-/** @brief  Objects MP Close
+/**
+ *  @brief  Objects MP Close
  *
  *  This routine removes a global object from the specified
  *  information table and deallocates the global object control block.
@@ -115,7 +120,8 @@
   Objects_Id           the_id
 );
 
-/** @brief  Objects MP Global name search
+/**
+ *  @brief  Objects MP Global name search
  *
  *  This routine looks for the object with the_name in the global
  *  object tables indicated by information.  It returns the ID of the
@@ -138,7 +144,8 @@
   Objects_Id          *the_id
 );
 
-/** @brief  Objects MP Is remote
+/**
+ *  @brief  Objects MP Is remote
  *
  *  This function searches the Global Object Table managed
  *  by information for the object indicated by ID.  If the object

diff -u rtems/cpukit/score/include/rtems/score/rbtree.h:1.2 rtems/cpukit/score/include/rtems/score/rbtree.h:1.3
--- rtems/cpukit/score/include/rtems/score/rbtree.h:1.2	Mon May 23 21:44:57 2011
+++ rtems/cpukit/score/include/rtems/score/rbtree.h	Fri Jun 17 09:55:27 2011
@@ -1,4 +1,3 @@
-
 /**
  *  @file  rtems/score/rbtree.h
  *
@@ -36,260 +35,260 @@
 
 #include <rtems/score/address.h>
 
-  /**
-   *  @typedef RBTree_Node
-   *
-   *  This type definition promotes the name for the RBTree Node used by
-   *  all RTEMS code.  It is a separate type definition because a forward
-   *  reference is required to define it.  See @ref RBTree_Node_struct for
-   *  detailed information.
-   */
-  typedef struct RBTree_Node_struct RBTree_Node;
-
-  /**
-   * This enum type defines the colors available for the RBTree Nodes
-   */
-  typedef enum {
-    RBT_BLACK,
-    RBT_RED
-  } RBTree_Color;
-
-  /**
-   *  @struct RBTree_Node_struct
-   *
-   *  This is used to manage each element (node) which is placed
-   *  on a RBT.
-   *
-   *  @note Typically, a more complicated structure will use the
-   *        rbtree package.  The more complicated structure will
-   *        include a rbtree node as the first element in its
-   *        control structure.  It will then call the rbtree package
-   *        with a pointer to that node element.  The node pointer
-   *        and the higher level structure start at the same address
-   *        so the user can cast the pointers back and forth.
-   *
-   */
-  struct RBTree_Node_struct {
-    /** This points to the node's parent */
-    RBTree_Node *parent;
-    /** child[0] points to the left child, child[1] points to the right child */
-    RBTree_Node *child[2];
-    /** This is the integer value stored by this node, used for sorting */
-    unsigned int value;
-    /** The color of the node. Either red or black */
-    RBTree_Color color;
-  };
-
-  /**
-   * @brief macro to return the structure containing the @a node.
-   *
-   * This macro returns a pointer of type @a container_type that points
-   * to the structure containing @a node, where @a node_field_name is the
-   * field name of the RBTree_Node structure in @a container_type.
-   *
-   */
+/**
+ *  @typedef RBTree_Node
+ *
+ *  This type definition promotes the name for the RBTree Node used by
+ *  all RTEMS code.  It is a separate type definition because a forward
+ *  reference is required to define it.  See @ref RBTree_Node_struct for
+ *  detailed information.
+ */
+typedef struct RBTree_Node_struct RBTree_Node;
+
+/**
+ * This enum type defines the colors available for the RBTree Nodes
+ */
+typedef enum {
+  RBT_BLACK,
+  RBT_RED
+} RBTree_Color;
+
+/**
+ *  @struct RBTree_Node_struct
+ *
+ *  This is used to manage each element (node) which is placed
+ *  on a RBT.
+ *
+ *  @note Typically, a more complicated structure will use the
+ *        rbtree package.  The more complicated structure will
+ *        include a rbtree node as the first element in its
+ *        control structure.  It will then call the rbtree package
+ *        with a pointer to that node element.  The node pointer
+ *        and the higher level structure start at the same address
+ *        so the user can cast the pointers back and forth.
+ *
+ */
+struct RBTree_Node_struct {
+  /** This points to the node's parent */
+  RBTree_Node *parent;
+  /** child[0] points to the left child, child[1] points to the right child */
+  RBTree_Node *child[2];
+  /** This is the integer value stored by this node, used for sorting */
+  unsigned int value;
+  /** The color of the node. Either red or black */
+  RBTree_Color color;
+};
 
+/**
+ * @brief macro to return the structure containing the @a node.
+ *
+ * This macro returns a pointer of type @a container_type that points
+ * to the structure containing @a node, where @a node_field_name is the
+ * field name of the RBTree_Node structure in @a container_type.
+ *
+ */
 #define _RBTree_Container_of(node,container_type, node_field_name) \
-  ((container_type*) \
-   ((size_t)node - ((size_t)(&((container_type *)0)->node_field_name))))
+((container_type*) \
+ ((size_t)node - ((size_t)(&((container_type *)0)->node_field_name))))
+
+/**
+ *  This type indicates the direction.
+ */
+typedef enum {
+  RBT_LEFT=0,
+  RBT_RIGHT=1
+} RBTree_Direction;
 
+/**
+ *  @struct RBTree_Control
+ *
+ * This is used to manage a RBT.  A rbtree consists of a tree of zero or more
+ * nodes.
+ *
+ * @note This implementation does not require special checks for
+ *   manipulating the root element of the RBT.
+ *   To accomplish this the @a RBTree_Control structure can be overlaid
+ *   with a @ref RBTree_Node structure to act as a "dummy root",
+ *   which has a NULL parent and its left child is the root.
+ */
+
+/* the RBTree_Control is actually part of the RBTree structure as an
+ * RBTree_Node. The mapping of fields from RBTree_Control to RBTree_Node are:
+ *   permanent_null == parent
+ *   root == left
+ *   first[0] == right
+ */
+typedef struct {
+  /** This points to a NULL. Useful for finding the root. */
+  RBTree_Node *permanent_null;
+  /** This points to the root node of the RBT. */
+  RBTree_Node *root;
+  /** This points to the min and max nodes of this RBT. */
+  RBTree_Node *first[2];
+} RBTree_Control;
 
-  typedef enum {
-    RBT_LEFT=0,
-    RBT_RIGHT=1
-  } RBTree_Direction;
-
-  /**
-   *  @struct RBTree_Control
-   *
-   * This is used to manage a RBT.  A rbtree consists of a tree of zero or more
-   * nodes.
-   *
-   * @note This implementation does not require special checks for
-   *   manipulating the root element of the RBT.
-   *   To accomplish this the @a RBTree_Control structure can be overlaid
-   *   with a @ref RBTree_Node structure to act as a "dummy root",
-   *   which has a NULL parent and its left child is the root.
-   */
-
-  /* the RBTree_Control is actually part of the RBTree structure as an
-   * RBTree_Node. The mapping of fields from RBTree_Control to RBTree_Node are:
-   *   permanent_null == parent
-   *   root == left
-   *   first[0] == right
-   */
-  typedef struct {
-    /** This points to a NULL. Useful for finding the root. */
-    RBTree_Node *permanent_null;
-    /** This points to the root node of the RBT. */
-    RBTree_Node *root;
-    /** This points to the min and max nodes of this RBT. */
-    RBTree_Node *first[2];
-  } RBTree_Control;
-
-  /**
-   *  @brief RBTree initializer for an empty rbtree with designator @a name.
-   */
+/**
+ *  @brief RBTree initializer for an empty rbtree with designator @a name.
+ */
 #define RBTREE_INITIALIZER_EMPTY(name) \
-  { \
-    .permanent_null = NULL, \
-    .root = NULL, \
-    .first[0] = NULL, \
-    .first[1] = NULL, \
-  }
-
-  /**
-   *  @brief RBTree definition for an empty rbtree with designator @a name.
-   */
+{ \
+  .permanent_null = NULL, \
+  .root = NULL, \
+  .first[0] = NULL, \
+  .first[1] = NULL, \
+}
+
+/**
+ *  @brief RBTree definition for an empty rbtree with designator @a name.
+ */
 #define RBTREE_DEFINE_EMPTY(name) \
-  RBTree_Control name = RBTREE_INITIALIZER_EMPTY(name)
+RBTree_Control name = RBTREE_INITIALIZER_EMPTY(name)
 
-  /**
-   *  @brief RBTree_Node initializer for an empty node with designator @a name.
-   */
+/**
+ *  @brief RBTree_Node initializer for an empty node with designator @a name.
+ */
 #define RBTREE_NODE_INITIALIZER_EMPTY(name) \
-  { \
-    .parent = NULL, \
-    .child[0] = NULL, \
-    .child[1] = NULL, \
-    .value = -1, \
-    RBT_RED \
-  }
-
-  /**
-   *  @brief RBTree definition for an empty rbtree with designator @a name.
-   */
+{ \
+  .parent = NULL, \
+  .child[0] = NULL, \
+  .child[1] = NULL, \
+  .value = -1, \
+  RBT_RED \
+}
+
+/**
+ *  @brief RBTree definition for an empty rbtree with designator @a name.
+ */
 #define RBTREE_NODE_DEFINE_EMPTY(name) \
-  RBTree_Node name = RBTREE_NODE_INITIALIZER_EMPTY(name)
+RBTree_Node name = RBTREE_NODE_INITIALIZER_EMPTY(name)
+
+/**
+ *  @brief Initialize a RBTree Header
+ *
+ *  This routine initializes @a the_rbtree structure to manage the
+ *  contiguous array of @a number_nodes nodes which starts at
+ *  @a starting_address.  Each node is of @a node_size bytes.
+ */
+void _RBTree_Initialize(
+  RBTree_Control *the_rbtree,
+  void          *starting_address,
+  size_t         number_nodes,
+  size_t         node_size
+);
+
+/**
+ *  @brief Obtain the min or max node of a rbtree
+ *
+ *  This function removes the min or max node from @a the_rbtree and returns
+ *  a pointer to that node.  If @a the_rbtree is empty, then NULL is returned.
+ *  @a dir specifies whether to return the min (0) or max (1).
+ *
+ *  @return This method returns a pointer to a node.  If a node was removed,
+ *          then a pointer to that node is returned.  If @a the_rbtree was
+ *          empty, then NULL is returned.
+ *
+ *  @note It disables interrupts to ensure the atomicity of the get operation.
+ */
+RBTree_Node *_RBTree_Get(
+  RBTree_Control *the_rbtree,
+  RBTree_Direction dir
+);
+
+/**
+ *  @brief Check the min or max node on a rbtree
+ *
+ *  This function returns a pointer to the min or max node of @a the_rbtree.
+ *  If @a the_rbtree is empty, then NULL is returned. @a dir specifies
+ *  whether to return the min (0) or max (1).
+ *
+ *  @return This method returns a pointer to a node.
+ *          If @a the_rbtree was empty, then NULL is returned.
+ *
+ *  @note It disables interrupts to ensure the atomicity of the get operation.
+ */
+RBTree_Node *_RBTree_Peek(
+  RBTree_Control *the_rbtree,
+  RBTree_Direction dir
+);
+
+/**
+ * @brief Find the node with given value in the tree
+ *
+ *  This function returns a pointer to the node with value equal to @a value
+ *  if it exists in the Red-Black Tree @a the_rbtree, and NULL if not.
+ */
+RBTree_Node *_RBTree_Find(
+  RBTree_Control *the_rbtree,
+  unsigned int value
+);
+
+/**
+ * @brief Find the control structure of the tree containing the given node
+ *
+ *  This function returns a pointer to the control structure of the tree
+ *  containing @a the_node, if it exists, and NULL if not.
+ */
+RBTree_Control *_RBTree_Find_header(
+  RBTree_Node *the_node
+);
+
+/**
+ * @brief Insert a Node (unprotected)
+ *
+ *  This routine inserts @a the_node on the Red-Black Tree @a the_rbtree.
+ *
+ *  @retval 0 Successfully inserted.
+ *  @retval -1 NULL @a the_node.
+ *  @retval RBTree_Node* if one with equal value to @a the_node->value exists
+ *          in @a the_rbtree.
+ *
+ *  @note It does NOT disable interrupts to ensure the atomicity
+ *        of the extract operation.
+ */
+RBTree_Node *_RBTree_Insert_unprotected(
+  RBTree_Control *the_rbtree,
+  RBTree_Node *the_node
+);
 
+/**
+ *  @brief Insert a node on a rbtree
+ *
+ *  This routine inserts @a the_node on the tree @a the_rbtree.
+ *
+ *  @note It disables interrupts to ensure the atomicity
+ *  of the extract operation.
+ */
+void _RBTree_Insert(
+  RBTree_Control *the_rbtree,
+  RBTree_Node *the_node
+);
 
 
+/**
+ * @brief Extract a Node (unprotected)
+ *
+ *  This routine extracts (removes) @a the_node from @a the_rbtree.
+ *
+ *  @note It does NOT disable interrupts to ensure the atomicity
+ *        of the extract operation.
+ */
+void _RBTree_Extract_unprotected(
+  RBTree_Control *the_rbtree,
+  RBTree_Node *the_node
+);
 
-  /**
-   *  @brief Initialize a RBTree Header
-   *
-   *  This routine initializes @a the_rbtree structure to manage the
-   *  contiguous array of @a number_nodes nodes which starts at
-   *  @a starting_address.  Each node is of @a node_size bytes.
-   */
-  void _RBTree_Initialize(
-      RBTree_Control *the_rbtree,
-      void          *starting_address,
-      size_t         number_nodes,
-      size_t         node_size
-      );
-
-  /**
-   *  @brief Obtain the min or max node of a rbtree
-   *
-   *  This function removes the min or max node from @a the_rbtree and returns
-   *  a pointer to that node.  If @a the_rbtree is empty, then NULL is returned.
-   *  @a dir specifies whether to return the min (0) or max (1).
-   *
-   *  @return This method returns a pointer to a node.  If a node was removed,
-   *          then a pointer to that node is returned.  If @a the_rbtree was
-   *          empty, then NULL is returned.
-   *
-   *  @note It disables interrupts to ensure the atomicity of the get operation.
-   */
-  RBTree_Node *_RBTree_Get(
-      RBTree_Control *the_rbtree,
-      RBTree_Direction dir
-      );
-
-  /**
-   *  @brief Check the min or max node on a rbtree
-   *
-   *  This function returns a pointer to the min or max node of @a the_rbtree.
-   *  If @a the_rbtree is empty, then NULL is returned. @a dir specifies
-   *  whether to return the min (0) or max (1).
-   *
-   *  @return This method returns a pointer to a node.
-   *          If @a the_rbtree was empty, then NULL is returned.
-   *
-   *  @note It disables interrupts to ensure the atomicity of the get operation.
-   */
-  RBTree_Node *_RBTree_Peek(
-      RBTree_Control *the_rbtree,
-      RBTree_Direction dir
-      );
-
-  /** @brief Find the node with given value in the tree
-   *
-   *  This function returns a pointer to the node with value equal to @a value
-   *  if it exists in the Red-Black Tree @a the_rbtree, and NULL if not.
-   */
-  RBTree_Node *_RBTree_Find(
-      RBTree_Control *the_rbtree,
-      unsigned int value
-      );
-
-  /** @brief Find the control structure of the tree containing the given node
-   *
-   *  This function returns a pointer to the control structure of the tree
-   *  containing @a the_node, if it exists, and NULL if not.
-   */
-  RBTree_Control *_RBTree_Find_header(
-      RBTree_Node *the_node
-      );
-
-  /** @brief Insert a Node (unprotected)
-   *
-   *  This routine inserts @a the_node on the Red-Black Tree @a the_rbtree.
-   *
-   *  @retval 0 Successfully inserted.
-   *  @retval -1 NULL @a the_node.
-   *  @retval RBTree_Node* if one with equal value to @a the_node->value exists
-   *          in @a the_rbtree.
-   *
-   *  @note It does NOT disable interrupts to ensure the atomicity
-   *        of the extract operation.
-   */
-  RBTree_Node *_RBTree_Insert_unprotected(
-      RBTree_Control *the_rbtree,
-      RBTree_Node *the_node
-  );
-
-  /**
-   *  @brief Insert a node on a rbtree
-   *
-   *  This routine inserts @a the_node on the tree @a the_rbtree.
-   *
-   *  @note It disables interrupts to ensure the atomicity
-   *  of the extract operation.
-   */
-  void _RBTree_Insert(
-      RBTree_Control *the_rbtree,
-      RBTree_Node *the_node
-      );
-
-
-  /** @brief Extract a Node (unprotected)
-   *
-   *  This routine extracts (removes) @a the_node from @a the_rbtree.
-   *
-   *  @note It does NOT disable interrupts to ensure the atomicity
-   *        of the extract operation.
-   */
-
-  void _RBTree_Extract_unprotected(
-      RBTree_Control *the_rbtree,
-      RBTree_Node *the_node
-  );
-
-
-  /**
-   *  @brief Delete a node from the rbtree
-   *
-   *  This routine deletes @a the_node from @a the_rbtree.
-   *
-   *  @note It disables interrupts to ensure the atomicity of the
-   *  append operation.
-   */
-  void _RBTree_Extract(
-      RBTree_Control *the_rbtree,
-      RBTree_Node    *the_node
-      );
+/**
+ *  @brief Delete a node from the rbtree
+ *
+ *  This routine deletes @a the_node from @a the_rbtree.
+ *
+ *  @note It disables interrupts to ensure the atomicity of the
+ *  append operation.
+ */
+void _RBTree_Extract(
+  RBTree_Control *the_rbtree,
+  RBTree_Node    *the_node
+);
 
 #ifndef __RTEMS_APPLICATION__
 #include <rtems/score/rbtree.inl>

diff -u rtems/cpukit/score/include/rtems/score/thread.h:1.106 rtems/cpukit/score/include/rtems/score/thread.h:1.107
--- rtems/cpukit/score/include/rtems/score/thread.h:1.106	Fri Jun 17 09:31:46 2011
+++ rtems/cpukit/score/include/rtems/score/thread.h	Fri Jun 17 09:55:27 2011
@@ -182,13 +182,15 @@
  */
 typedef void (*Thread_CPU_budget_algorithm_callout )( Thread_Control * );
 
-/** @brief Per Task Variable Manager Structure Forward Reference
+/**
+ *  @brief Per Task Variable Manager Structure Forward Reference
  *
  *  Forward reference to the per task variable structure.
  */
 struct rtems_task_variable_tt;
 
-/** @brief Per Task Variable Manager Structure
+/**
+ *  @brief Per Task Variable Manager Structure
  *
  *  This is the internal structure used to manager per Task Variables.
  */
@@ -270,7 +272,8 @@
   const void *immutable_object;
 } Thread_Wait_information_Object_argument_type;
 
-/** @brief Thread Blocking Management Information
+/**
+ *  @brief Thread Blocking Management Information
  *
  *  This contains the information required to manage a thread while it is
  *  blocked and to return information to it.
@@ -788,39 +791,45 @@
 
 #if defined(RTEMS_SMP)
 
-  /** @brief _Thread_Dispatch_initialization
+  /**
+   *  @brief _Thread_Dispatch_initialization
    * 
    *  This routine initializes the thread dispatching subsystem.
    */
   void _Thread_Dispatch_initialization(void);
 
-  /** @brief _Thread_Dispatch_in_critical_section
+  /**
+   *  @brief _Thread_Dispatch_in_critical_section
    * 
    * This routine returns true if thread dispatch indicates
    * that we are in a critical section.
    */
   bool _Thread_Dispatch_in_critical_section(void);
 
-  /** @brief _Thread_Dispatch_get_disable_level
+  /**
+   *  @brief _Thread_Dispatch_get_disable_level
    * 
    * This routine returns value of the the thread dispatch level.
    */
   uint32_t _Thread_Dispatch_get_disable_level(void);
 
-  /** @brief _Thread_Dispatch_set_disable_level
+  /**
+   *  @brief _Thread_Dispatch_set_disable_level
    * 
    * This routine sets thread dispatch level to the 
    * value passed in.
    */
   uint32_t _Thread_Dispatch_set_disable_level(uint32_t value);
 
-  /** @brief _Thread_Dispatch_increment_disable_level
+  /**
+   *  @brief _Thread_Dispatch_increment_disable_level
    *
    * This rountine increments the thread dispatch level
    */
   uint32_t _Thread_Dispatch_increment_disable_level(void);
 
-  /** @brief _Thread_Dispatch_decrement_disable_level
+  /**
+   *  @brief _Thread_Dispatch_decrement_disable_level
    * 
    * This routine decrements the thread dispatch level.
    */

diff -u rtems/cpukit/score/include/rtems/score/threadmp.h:1.20 rtems/cpukit/score/include/rtems/score/threadmp.h:1.21
--- rtems/cpukit/score/include/rtems/score/threadmp.h:1.20	Fri Nov 27 23:58:54 2009
+++ rtems/cpukit/score/include/rtems/score/threadmp.h	Fri Jun 17 09:55:27 2011
@@ -6,7 +6,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2006.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -33,7 +33,8 @@
 extern "C" {
 #endif
 
-/** @brief _Thread_MP_Handler_initialization
+/**
+ *  @brief _Thread_MP_Handler_initialization
  *
  *  This routine initializes the multiprocessing portion of the Thread Handler.
  */
@@ -41,7 +42,8 @@
   uint32_t   maximum_proxies
 );
 
-/** @brief _Thread_MP_Allocate_proxy
+/**
+ *  @brief _Thread_MP_Allocate_proxy
  *
  *  This  allocates a proxy control block from
  *  the inactive chain of free proxy control blocks.
@@ -53,7 +55,8 @@
   States_Control the_state
 );
 
-/** @brief _Thread_MP_Find_proxy
+/**
+ *  @brief _Thread_MP_Find_proxy
  *
  *  This function removes the proxy control block for the specified
  *  id from the active chain of proxy control blocks.
@@ -62,13 +65,15 @@
   Objects_Id the_id
 );
 
-/** @brief Active Proxy Set
+/**
+ *  @brief Active Proxy Set
  *
  * The following chain is used to manage the active set proxies.
  */
 SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies;
 
-/** @brief Inactive Proxy Set
+/**
+ *  @brief Inactive Proxy Set
  *
  * The following chain is used to manage the inactive set of proxies.
  */

diff -u rtems/cpukit/score/include/rtems/score/threadq.h:1.29 rtems/cpukit/score/include/rtems/score/threadq.h:1.30
--- rtems/cpukit/score/include/rtems/score/threadq.h:1.29	Mon Jun 14 01:08:40 2010
+++ rtems/cpukit/score/include/rtems/score/threadq.h	Fri Jun 17 09:55:27 2011
@@ -6,7 +6,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2008.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -60,7 +60,8 @@
                  void *
              );
 
-/** @brief  Thread queue Dequeue
+/**
+ * @brief  Thread queue Dequeue
  *
  *  This function returns a pointer to a thread waiting on
  *  the_thread_queue.  The selection of this thread is based on
@@ -71,7 +72,8 @@
   Thread_queue_Control *the_thread_queue
 );
 
-/** @brief  Thread queue Enqueue Wrapper
+/**
+ * @brief  Thread queue Enqueue Wrapper
  *
  *  This routine enqueues the currently executing thread on
  *  the_thread_queue with an optional timeout.
@@ -83,7 +85,8 @@
     _Thread_queue_Timeout )
 
 
-/** @brief  Thread queue Enqueue
+/**
+ * @brief  Thread queue Enqueue
  *
  *  This routine enqueues the currently executing thread on
  *  the_thread_queue with an optional timeout.
@@ -108,7 +111,8 @@
   Thread_Control       *the_thread
 );
 
-/** @brief  Thread queue Extract
+/**
+ * @brief  Thread queue Extract
  *
  *  This routine removes the_thread from the_thread_queue
  *  and cancels any timeouts associated with this blocking.
@@ -118,7 +122,8 @@
   Thread_Control       *the_thread
 );
 
-/** @brief  Thread queue Extract with proxy
+/**
+ * @brief  Thread queue Extract with proxy
  *
  *  This routine extracts the_thread from the_thread_queue
  *  and ensures that if there is a proxy for this task on
@@ -128,7 +133,8 @@
   Thread_Control       *the_thread
 );
 
-/** @brief  Thread queue First
+/**
+ * @brief  Thread queue First
  *
  *  This function returns a pointer to the "first" thread
  *  on the_thread_queue.  The "first" thread is selected
@@ -138,7 +144,8 @@
   Thread_queue_Control *the_thread_queue
 );
 
-/** @brief  Thread queue Flush
+/**
+ * @brief  Thread queue Flush
  *
  *  This routine unblocks all threads blocked on the_thread_queue
  *  and cancels any associated timeouts.
@@ -149,7 +156,8 @@
   uint32_t                    status
 );
 
-/** @brief  Thread queue Initialize
+/**
+ * @brief  Thread queue Initialize
  *
  *  This routine initializes the_thread_queue based on the
  *  discipline indicated in attribute_set.  The state set on
@@ -162,7 +170,8 @@
   uint32_t                      timeout_status
 );
 
-/** @brief  Thread queue Dequeue priority
+/**
+ * @brief  Thread queue Dequeue priority
  *
  *  This function returns a pointer to the highest priority
  *  thread waiting on the_thread_queue.  If no threads are waiting
@@ -172,7 +181,8 @@
   Thread_queue_Control *the_thread_queue
 );
 
-/** @brief  Thread queue Enqueue priority
+/**
+ * @brief  Thread queue Enqueue priority
  *
  *  This routine enqueues the currently executing thread on
  *  the_thread_queue with an optional timeout using the
@@ -184,7 +194,8 @@
   ISR_Level            *level_p
 );
 
-/** @brief  Thread queue Extract priority Helper
+/**
+ * @brief  Thread queue Extract priority Helper
  *
  *  This routine removes the_thread from the_thread_queue
  *  and cancels any timeouts associated with this blocking.
@@ -205,7 +216,8 @@
   _Thread_queue_Extract_priority_helper( _the_thread_queue, _the_thread, false )
 
 
-/** @brief  Thread queue First priority
+/**
+ * @brief  Thread queue First priority
  *
  *  This function returns a pointer to the "first" thread
  *  on the_thread_queue.  The "first" thread is the highest
@@ -215,7 +227,8 @@
   Thread_queue_Control *the_thread_queue
 );
 
-/** @brief  Thread queue Dequeue FIFO
+/**
+ * @brief  Thread queue Dequeue FIFO
  *
  *  This function returns a pointer to the thread which has
  *  been waiting the longest on  the_thread_queue.  If no
@@ -225,7 +238,8 @@
   Thread_queue_Control *the_thread_queue
 );
 
-/** @brief  Thread queue Enqueue FIFO
+/**
+ * @brief  Thread queue Enqueue FIFO
  *
  *  This routine enqueues the currently executing thread on
  *  the_thread_queue with an optional timeout using the
@@ -237,7 +251,8 @@
   ISR_Level            *level_p
 );
 
-/** @brief  Thread queue Extract FIFO
+/**
+ * @brief  Thread queue Extract FIFO
  *
  *  This routine removes the_thread from the_thread_queue
  *  and cancels any timeouts associated with this blocking.
@@ -247,7 +262,8 @@
   Thread_Control       *the_thread
 );
 
-/** @brief  Thread queue First FIFO
+/**
+ * @brief  Thread queue First FIFO
  *
  *  This function returns a pointer to the "first" thread
  *  on the_thread_queue.  The first thread is the thread
@@ -257,7 +273,8 @@
   Thread_queue_Control *the_thread_queue
 );
 
-/** @brief  Thread queue timeout
+/**
+ * @brief  Thread queue timeout
  *
  *  This routine is invoked when a task's request has not
  *  been satisfied after the timeout interval specified to

diff -u rtems/cpukit/score/include/rtems/score/timespec.h:1.10 rtems/cpukit/score/include/rtems/score/timespec.h:1.11
--- rtems/cpukit/score/include/rtems/score/timespec.h:1.10	Wed Feb 23 08:02:20 2011
+++ rtems/cpukit/score/include/rtems/score/timespec.h	Fri Jun 17 09:55:27 2011
@@ -5,7 +5,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2008.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -34,7 +34,8 @@
 extern "C" {
 #endif
 
-/** @brief Set Timespec to Seconds Nanosecond
+/**
+ * @brief Set Timespec to Seconds Nanosecond
  *
  *  This method sets the timespec to the specified seconds and nanoseconds
  *  value.
@@ -49,7 +50,8 @@
 	   (_time)->tv_nsec = (_nanoseconds); \
 	} while (0)
 
-/** @brief Zero Timespec
+/**
+ * @brief Zero Timespec
  *
  *  This method sets the timespec to zero.
  *  value.
@@ -62,7 +64,8 @@
 	   (_time)->tv_nsec = 0; \
 	} while (0)
 
-/** @brief Get Seconds Portion of Timespec
+/**
+ * @brief Get Seconds Portion of Timespec
  *
  *  This method returns the seconds portion of the specified timespec
  *
@@ -73,7 +76,8 @@
 #define _Timespec_Get_seconds( _time ) \
 	((_time)->tv_sec)
 
-/** @brief Get Nanoseconds Portion of Timespec
+/**
+ * @brief Get Nanoseconds Portion of Timespec
  *
  *  This method returns the nanoseconds portion of the specified timespec
  *
@@ -84,7 +88,8 @@
 #define _Timespec_Get_nanoseconds( _time ) \
 	((_time)->tv_nsec)
 
-/** @brief Is Timespec Valid
+/**
+ * @brief Is Timespec Valid
  *
  *  This method determines the validity of a timespec.
  *
@@ -97,7 +102,8 @@
   const struct timespec *time
 );
 
-/** @brief Timespec Less Than Operator
+/**
+ * @brief Timespec Less Than Operator
  *
  *  This method is the less than operator for timespecs.
  *
@@ -112,7 +118,8 @@
   const struct timespec *rhs
 );
 
-/** @brief Timespec Greater Than Operator
+/**
+ * @brief Timespec Greater Than Operator
  *
  *  This method is the greater than operator for timespecs.
  *
@@ -127,7 +134,8 @@
   const struct timespec *rhs
 );
 
-/** @brief Timespec equal to Operator
+/**
+ * @brief Timespec equal to Operator
  *
  *  This method is the is equal to than operator for timespecs.
  *
@@ -142,7 +150,8 @@
     ((lhs)->tv_nsec == (rhs)->tv_nsec)     \
   )
 
-/** @brief Add to a Timespec
+/**
+ * @brief Add to a Timespec
  *
  *  This routine adds two timespecs.  The second argument is added
  *  to the first.
@@ -157,7 +166,8 @@
   const struct timespec *add
 );
 
-/** @brief Convert Timespec to Number of Ticks
+/**
+ * @brief Convert Timespec to Number of Ticks
  *
  *  This routine convert the @a time timespec to the corresponding number
  *  of clock ticks.
@@ -170,7 +180,8 @@
   const struct timespec *time
 );
 
-/** @brief Convert Ticks to Timespec
+/**
+ * @brief Convert Ticks to Timespec
  *
  *  This routine converts the @a ticks value to the corresponding
  *  timespec format @a time.
@@ -183,7 +194,8 @@
   struct timespec *time
 );
 
-/** @brief Subtract Two Timespec
+/**
+ * @brief Subtract Two Timespec
  *
  *  This routine subtracts two timespecs.  @a result is set to
  *  @a end - @a start.
@@ -200,7 +212,8 @@
   struct timespec       *result
 );
 
-/** @brief Divide Timespec By Integer
+/**
+ * @brief Divide Timespec By Integer
  *
  *  This routine divides a timespec by an integer value.  The expected
  *  use is to assist in benchmark calculations where you typically
@@ -218,7 +231,8 @@
   struct timespec       *result
 );
 
-/** @brief Divide Timespec
+/**
+ * @brief Divide Timespec
  *
  *  This routine divides a timespec by another timespec.  The
  *  intended use is for calculating percentages to three decimal points.

diff -u rtems/cpukit/score/include/rtems/score/timestamp.h:1.5 rtems/cpukit/score/include/rtems/score/timestamp.h:1.6
--- rtems/cpukit/score/include/rtems/score/timestamp.h:1.5	Mon Jun 14 01:08:40 2010
+++ rtems/cpukit/score/include/rtems/score/timestamp.h	Fri Jun 17 09:55:27 2011
@@ -5,7 +5,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2008.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -130,7 +130,8 @@
   typedef Timestamp64_Control Timestamp_Control;
 #endif
 
-/** @brief Set Timestamp to Seconds Nanosecond
+/**
+ *  @brief Set Timestamp to Seconds Nanosecond
  *
  *  This method sets the timestamp to the specified seconds and nanoseconds
  *  value.
@@ -147,7 +148,8 @@
 	  _Timestamp64_Set( _time, _seconds, _nanoseconds )
 #endif
 
-/** @brief Zero Timestamp
+/**
+ *  @brief Zero Timestamp
  *
  *  This method sets the timestamp to zero.
  *  value.
@@ -162,7 +164,8 @@
 	  _Timestamp64_Set_to_zero( _time )
 #endif
 
-/** @brief Is Timestamp Valid
+/**
+ *  @brief Is Timestamp Valid
  *
  *  This method determines the validity of a timestamp.
  *
@@ -179,7 +182,8 @@
           _Timestamp64_Is_valid( _time )
 #endif
 
-/** @brief Timestamp Less Than Operator
+/**
+ *  @brief Timestamp Less Than Operator
  *
  *  This method is the less than operator for timestamps.
  *
@@ -197,7 +201,8 @@
 	  _Timestamp64_Less_than( _lhs, _rhs )
 #endif
 
-/** @brief Timestamp Greater Than Operator
+/**
+ *  @brief Timestamp Greater Than Operator
  *
  *  This method is the greater than operator for timestamps.
  *
@@ -215,7 +220,8 @@
 	  _Timestamp64_Greater_than( _lhs, _rhs )
 #endif
 
-/** @brief Timestamp equal to Operator
+/**
+ *  @brief Timestamp equal to Operator
  *
  *  This method is the is equal to than operator for timestamps.
  *
@@ -233,7 +239,8 @@
 	  _Timestamp64_Equal_to( _lhs, _rhs )
 #endif
 
-/** @brief Add to a Timestamp
+/**
+ *  @brief Add to a Timestamp
  *
  *  This routine adds two timestamps.  The second argument is added
  *  to the first.
@@ -251,7 +258,8 @@
 	  _Timestamp64_Add_to( _time, _add )
 #endif
 
-/** @brief Add to a Timestamp (At Clock Tick)
+/**
+ *  @brief Add to a Timestamp (At Clock Tick)
  *
  *  This routine adds two timestamps.  The second argument is added
  *  to the first.
@@ -275,7 +283,8 @@
           _Timestamp64_Add_to_at_tick( _time, _add )
 #endif
 
-/** @brief Convert Timestamp to Number of Ticks
+/**
+ *  @brief Convert Timestamp to Number of Ticks
  *
  *  This routine convert the @a time timestamp to the corresponding number
  *  of clock ticks.
@@ -292,7 +301,8 @@
           _Timestamp64_To_ticks( _time )
 #endif
 
-/** @brief Convert Ticks to Timestamp
+/**
+ *  @brief Convert Ticks to Timestamp
  *
  *  This routine converts the @a _ticks value to the corresponding
  *  timestamp format @a _time.
@@ -308,7 +318,8 @@
           _Timestamp64_From_ticks( _ticks, _time )
 #endif
 
-/** @brief Subtract Two Timestamp
+/**
+ *  @brief Subtract Two Timestamp
  *
  *  This routine subtracts two timestamps.  @a result is set to
  *  @a end - @a start.
@@ -328,7 +339,8 @@
 	  _Timestamp64_Subtract( _start, _end, _result )
 #endif
 
-/** @brief Divide Timestamp By Integer
+/**
+ *  @brief Divide Timestamp By Integer
  *
  *  This routine divides a timestamp by an integer value.  The expected
  *  use is to assist in benchmark calculations where you typically
@@ -348,7 +360,8 @@
 	  _Timestamp64_Divide_by_integer( _time, _iterations, _result )
 #endif
 
-/** @brief Divide Timestamp
+/**
+ *  @brief Divide Timestamp
  *
  *  This routine divides a timestamp by another timestamp.  The
  *  intended use is for calculating percentages to three decimal points.
@@ -368,7 +381,8 @@
           _Timestamp64_Divide( _lhs, _rhs, _ival_percentage, _fval_percentage )
 #endif
 
-/** @brief Get Seconds Portion of Timestamp
+/**
+ *  @brief Get Seconds Portion of Timestamp
  *
  *  This method returns the seconds portion of the specified timestamp
  *
@@ -384,7 +398,8 @@
 	  _Timestamp64_Get_seconds( _time )
 #endif
 
-/** @brief Get Nanoseconds Portion of Timestamp
+/**
+ *  @brief Get Nanoseconds Portion of Timestamp
  *
  *  This method returns the nanoseconds portion of the specified timestamp
  *
@@ -400,7 +415,8 @@
 	  _Timestamp64_Get_nanoseconds( _time )
 #endif
 
-/** @brief Convert Timestamp to struct timespec
+/**
+ *  @brief Convert Timestamp to struct timespec
  *
  *  This method returns the seconds portion of the specified timestamp
  *

diff -u rtems/cpukit/score/include/rtems/score/timestamp64.h:1.3 rtems/cpukit/score/include/rtems/score/timestamp64.h:1.4
--- rtems/cpukit/score/include/rtems/score/timestamp64.h:1.3	Sat Jun 12 00:56:26 2010
+++ rtems/cpukit/score/include/rtems/score/timestamp64.h	Fri Jun 17 09:55:27 2011
@@ -6,7 +6,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2008.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -51,7 +51,8 @@
  */
 typedef int64_t Timestamp64_Control;
 
-/** @brief Set Timestamp to Seconds Nanosecond
+/**
+ *  @brief Set Timestamp to Seconds Nanosecond
  *
  *  This method sets the timestamp to the specified seconds and nanoseconds
  *  value.
@@ -74,7 +75,8 @@
   );
 #endif
 
-/** @brief Zero Timestamp
+/**
+ *  @brief Zero Timestamp
  *
  *  This method sets the timestamp to zero.
  *  value.
@@ -90,7 +92,8 @@
   );
 #endif
 
-/** @brief Is Timestamp Valid
+/**
+ *  @brief Is Timestamp Valid
  *
  *  This method determines the validity of a timestamp.
  *
@@ -102,7 +105,8 @@
 #define _Timestamp64_Is_valid( _time ) \
 	(1)
 
-/** @brief Timestamp Less Than Operator
+/**
+ *  @brief Timestamp Less Than Operator
  *
  *  This method is the less than operator for timestamps.
  *
@@ -122,7 +126,8 @@
   );
 #endif
 
-/** @brief Timestamp Greater Than Operator
+/**
+ *  @brief Timestamp Greater Than Operator
  *
  *  This method is the greater than operator for timestamps.
  *
@@ -142,7 +147,8 @@
   );
 #endif
 
-/** @brief Timestamp equal to Operator
+/**
+ *  @brief Timestamp equal to Operator
  *
  *  This method is the is equal to than operator for timestamps.
  *
@@ -162,7 +168,8 @@
   );
 #endif
 
-/** @brief Add to a Timestamp
+/**
+ *  @brief Add to a Timestamp
  *
  *  This routine adds two timestamps.  The second argument is added
  *  to the first.
@@ -182,7 +189,8 @@
   );
 #endif
 
-/** @brief Add to a Timestamp (At Clock Tick)
+/**
+ *  @brief Add to a Timestamp (At Clock Tick)
  *
  *  This routine adds two timestamps.  The second argument is added
  *  to the first.
@@ -211,7 +219,8 @@
   return 0;
 }
 
-/** @brief Convert Timestamp to Number of Ticks
+/**
+ *  @brief Convert Timestamp to Number of Ticks
  *
  *  This routine convert the @a time timestamp to the corresponding number
  *  of clock ticks.
@@ -224,7 +233,8 @@
   const Timestamp64_Control *_time
 );
 
-/** @brief Convert Ticks to Timestamp
+/**
+ *  @brief Convert Ticks to Timestamp
  *
  *  This routine converts the @a _ticks value to the corresponding
  *  timestamp format @a _time.
@@ -237,7 +247,8 @@
   Timestamp64_Control *_time
 );
 
-/** @brief Subtract Two Timestamp
+/**
+ *  @brief Subtract Two Timestamp
  *
  *  This routine subtracts two timestamps.  @a result is set to
  *  @a end - @a start.
@@ -262,7 +273,8 @@
   );
 #endif
 
-/** @brief Divide Timestamp By Integer
+/**
+ *  @brief Divide Timestamp By Integer
  *
  *  This routine divides a timestamp by an integer value.  The expected
  *  use is to assist in benchmark calculations where you typically
@@ -287,7 +299,8 @@
   );
 #endif
 
-/** @brief Divide Timestamp
+/**
+ *  @brief Divide Timestamp
  *
  *  This routine divides a timestamp by another timestamp.  The
  *  intended use is for calculating percentages to three decimal points.
@@ -306,7 +319,8 @@
   uint32_t                  *_fval_percentage
 );
 
-/** @brief Get Seconds Portion of Timestamp
+/**
+ *  @brief Get Seconds Portion of Timestamp
  *
  *  This method returns the seconds portion of the specified timestamp
  *
@@ -323,7 +337,8 @@
   );
 #endif
 
-/** @brief Get Nanoseconds Portion of Timestamp
+/**
+ *  @brief Get Nanoseconds Portion of Timestamp
  *
  *  This method returns the nanoseconds portion of the specified timestamp
  *
@@ -340,7 +355,8 @@
   );
 #endif
 
-/** @brief Convert Timestamp to struct timespec
+/**
+ *  @brief Convert Timestamp to struct timespec
  *
  *  This method returns the seconds portion of the specified timestamp
  *

diff -u rtems/cpukit/score/include/rtems/score/tod.h:1.41 rtems/cpukit/score/include/rtems/score/tod.h:1.42
--- rtems/cpukit/score/include/rtems/score/tod.h:1.41	Wed Feb 23 08:11:55 2011
+++ rtems/cpukit/score/include/rtems/score/tod.h	Fri Jun 17 09:55:27 2011
@@ -6,7 +6,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2008.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -102,7 +102,8 @@
   (((1987 - 1970 + 1)  * TOD_SECONDS_PER_NON_LEAP_YEAR) + \
   (4 * TOD_SECONDS_PER_DAY))
 
-/** @brief RTEMS Epoch Year
+/**
+ *  @brief RTEMS Epoch Year
  *
  *  The following constant define the earliest year to which an
  *  time of day can be initialized.  This is considered the
@@ -117,37 +118,46 @@
  */
 /**@{*/
 
-/** @brief Is the Time Of Day Set
+/**
+ *  @brief Is the Time Of Day Set
  *
  *  This is true if the application has set the current
  *  time of day, and false otherwise.
  */
 SCORE_EXTERN bool _TOD_Is_set;
 
-/** @brief Current Time of Day (Timespec)
+/**
+ *  @brief Current Time of Day (Timespec)
+ *
  *  The following contains the current time of day.
  */
 SCORE_EXTERN Timestamp_Control _TOD_Now;
 
-/** @brief Current Time of Day (Timespec)
+/**
+ *  @brief Current Time of Day (Timespec)
+ *
  *  The following contains the running uptime.
  */
 SCORE_EXTERN Timestamp_Control _TOD_Uptime;
 
-/** @brief Seconds Since RTEMS Epoch
+/**
+ *  @brief Seconds Since RTEMS Epoch
+ *
  *  The following contains the number of seconds from 00:00:00
  *  January 1, TOD_BASE_YEAR until the current time of day.
  */
 #define _TOD_Seconds_since_epoch() \
   _Timestamp_Get_seconds(&_TOD_Now)
 
-/** @brief _TOD_Handler_initialization
+/**
+ *  @brief _TOD_Handler_initialization
  *
  *  This routine performs the initialization necessary for this handler.
  */
 void _TOD_Handler_initialization(void);
 
-/** @brief _TOD_Set
+/**
+ *  @brief _TOD_Set
  *
  *  This routine sets the current time of day to @a time and
  *  the equivalent SECONDS_SINCE_EPOCH.
@@ -156,7 +166,8 @@
   const struct timespec *time
 );
 
-/** @brief _TOD_Get
+/**
+ *  @brief _TOD_Get
  *
  *  This routine returns the current time of day with potential accuracy
  *  to the nanosecond.
@@ -167,7 +178,8 @@
   struct timespec *time
 );
 
-/** @brief _TOD_Get_uptime
+/**
+ *  @brief _TOD_Get_uptime
  *
  *  This routine returns the system uptime with potential accuracy
  *  to the nanosecond.
@@ -178,7 +190,8 @@
   Timestamp_Control *time
 );
 
-/** @brief _TOD_Get_uptime_as_timespec
+/**
+ *  @brief _TOD_Get_uptime_as_timespec
  *
  *  This routine returns the system uptime with potential accuracy
  *  to the nanosecond.
@@ -195,7 +208,8 @@
  */
 void _TOD_Tickle_ticks( void );
 
-/** @brief TOD_MILLISECONDS_TO_MICROSECONDS
+/**
+ *  @brief TOD_MILLISECONDS_TO_MICROSECONDS
  *
  *  This routine converts an interval expressed in milliseconds to microseconds.
  *
@@ -203,7 +217,8 @@
  */
 #define TOD_MILLISECONDS_TO_MICROSECONDS(_ms) ((uint32_t)(_ms) * 1000L)
 
-/** @brief TOD_MICROSECONDS_TO_TICKS
+/**
+ *  @brief TOD_MICROSECONDS_TO_TICKS
  *
  *  This routine converts an interval expressed in microseconds to ticks.
  *
@@ -213,7 +228,8 @@
   uint32_t microseconds
 );
 
-/** @brief TOD_MILLISECONDS_TO_TICKS
+/**
+ *  @brief TOD_MILLISECONDS_TO_TICKS
  *
  *  This routine converts an interval expressed in milliseconds to ticks.
  *
@@ -223,7 +239,8 @@
   uint32_t milliseconds
 );
 
-/** @brief How many ticks in a second?
+/**
+ *  @brief How many ticks in a second?
  *
  *  This method returns the number of ticks in a second.
  *
@@ -232,7 +249,8 @@
  */
 uint32_t TOD_TICKS_PER_SECOND_method(void);
 
-/** @brief Method to return number of ticks in a second
+/**
+ *  @brief Method to return number of ticks in a second
  *
  *  This method exists to hide the fact that TOD_TICKS_PER_SECOND can not
  *  be implemented as a macro in a .h file due to visibility issues.

diff -u rtems/cpukit/score/include/rtems/score/watchdog.h:1.31 rtems/cpukit/score/include/rtems/score/watchdog.h:1.32
--- rtems/cpukit/score/include/rtems/score/watchdog.h:1.31	Thu Dec 16 08:50:12 2010
+++ rtems/cpukit/score/include/rtems/score/watchdog.h	Fri Jun 17 09:55:27 2011
@@ -7,7 +7,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2007.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -37,33 +37,38 @@
 extern "C" {
 #endif
 
-/** @brief Maximum Interval Length
+/**
+ *  @brief Maximum Interval Length
  *
  *  The following type defines the control block used to manage
  *  intervals.
  */
 #define WATCHDOG_MAXIMUM_INTERVAL ((Watchdog_Interval) 0xffffffff)
 
-/** @brief Watchdog Interval Type
+/**
+ *  @brief Watchdog Interval Type
  *
  *  This type is used to specify the length of intervals.
  */
 typedef uint32_t   Watchdog_Interval;
 
-/** @brief Watchdog Nanoseconds Since Last Tick Extension
+/**
+ *  @brief Watchdog Nanoseconds Since Last Tick Extension
  *
  *  This type defines a pointer to the BSP plugin to obtain the number
  *  of nanoseconds since the last clock tick.
  */
 typedef uint32_t (*Watchdog_Nanoseconds_since_last_tick_routine)(void);
 
-/** @brief Watchdog Service Routine Return Type
+/**
+ *  @brief Watchdog Service Routine Return Type
  *
  *  This type defines the return type from a Watchdog Service Routine.
  */
 typedef void Watchdog_Service_routine;
 
-/** @brief Watchdog Service Routine Pointer Type
+/**
+ *  @brief Watchdog Service Routine Pointer Type
  *
  *  This type define a pointer to a watchdog service routine.
  */
@@ -72,14 +77,16 @@
                  void *
              );
 
-/** @brief No timeout constant
+/**
+ *  @brief No timeout constant
  *
  *  This is the constant for indefinite wait.  It is actually an
  *  illegal interval.
  */
 #define WATCHDOG_NO_TIMEOUT  0
 
-/** @brief Watchdog States Type
+/**
+ *  @brief Watchdog States Type
  *
  *  This enumerated type is the set of the states in which a
  *  watchdog timer may be at any given time.
@@ -100,7 +107,8 @@
   WATCHDOG_REMOVE_IT
 } Watchdog_States;
 
-/** @brief Watchdog Adjustment Directions Type
+/**
+ *  @brief Watchdog Adjustment Directions Type
  *
  *  The following enumerated type details the manner in which
  *  a watchdog chain may be adjusted by the @ref _Watchdog_Adjust
@@ -114,7 +122,8 @@
   WATCHDOG_BACKWARD
 } Watchdog_Adjust_directions;
 
-/** @brief Watchdog Control Structure
+/**
+ *  @brief Watchdog Control Structure
  *
  *  The following record defines the control block used
  *  to manage each watchdog timer.
@@ -144,28 +153,32 @@
   void                           *user_data;
 }   Watchdog_Control;
 
-/** @brief Watchdog Synchronization Level
+/**
+ *  @brief Watchdog Synchronization Level
  *
  *  This used for synchronization purposes
  *  during an insert on a watchdog delta chain.
  */
 SCORE_EXTERN volatile uint32_t    _Watchdog_Sync_level;
 
-/** @brief Watchdog Synchronization Count
+/**
+ *  @brief Watchdog Synchronization Count
  *
  *  This used for synchronization purposes
  *  during an insert on a watchdog delta chain.
  */
 SCORE_EXTERN volatile uint32_t    _Watchdog_Sync_count;
 
-/** @brief Ticks Since System Boot
+/**
+ *  @brief Ticks Since System Boot
  *
  *  This contains the number of ticks since the system was booted.
  */
 
 SCORE_EXTERN volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
 
-/** @brief Watchdog Nanoseconds Since Last Tick Handler
+/**
+ *  @brief Watchdog Nanoseconds Since Last Tick Handler
  *
  *  This is a pointer to the optional BSP plugin to obtain the number
  *  of nanoseconds since the last clock tick.
@@ -173,19 +186,22 @@
 extern Watchdog_Nanoseconds_since_last_tick_routine
   _Watchdog_Nanoseconds_since_tick_handler;
 
-/** @brief Per Ticks Watchdog List
+/**
+ *  @brief Per Ticks Watchdog List
  *
  *  This is the watchdog chain which is managed at ticks.
  */
 SCORE_EXTERN Chain_Control _Watchdog_Ticks_chain;
 
-/** @brief Per Seconds Watchdog List
+/**
+ *  @brief Per Seconds Watchdog List
  *
  *  This is the watchdog chain which is managed at second boundaries.
  */
 SCORE_EXTERN Chain_Control _Watchdog_Seconds_chain;
 
-/** @brief Watchdog Handler Initialization
+/**
+ *  @brief Watchdog Handler Initialization
  *
  *  This routine initializes the watchdog handler.  The watchdog
  *  synchronization flag is initialized and the watchdog chains are
@@ -193,7 +209,8 @@
  */
 void _Watchdog_Handler_initialization( void );
 
-/** @brief Remove Watchdog from List
+/**
+ *  @brief Remove Watchdog from List
  *
  *  This routine removes @a the_watchdog from the watchdog chain on which
  *  it resides and returns the state @a the_watchdog timer was in.
@@ -205,7 +222,8 @@
   Watchdog_Control *the_watchdog
 );
 
-/** @brief Watchdog Adjust
+/**
+ *  @brief Watchdog Adjust
  *
  *  This routine adjusts the @a header watchdog chain in the forward
  *  or backward @a direction for @a units ticks.
@@ -220,7 +238,8 @@
   Watchdog_Interval           units
 );
 
-/** @brief Watchdog Adjust to Chain
+/**
+ *  @brief Watchdog Adjust to Chain
  *
  *  This routine adjusts the @a header watchdog chain in the forward
  *  @a direction for @a units_arg ticks.
@@ -239,7 +258,8 @@
 
 );
 
-/** @brief Watchdog Insert
+/**
+ *  @brief Watchdog Insert
  *
  *  This routine inserts @a the_watchdog into the @a header watchdog chain
  *  for a time of @a units.
@@ -252,7 +272,8 @@
   Watchdog_Control      *the_watchdog
 );
 
-/** @brief Watchdog Tickle
+/**
+ *  @brief Watchdog Tickle
  *
  *  This routine is invoked at appropriate intervals to update
  *  the @a header watchdog chain.

diff -u rtems/cpukit/score/include/rtems/score/wkspace.h:1.31 rtems/cpukit/score/include/rtems/score/wkspace.h:1.32
--- rtems/cpukit/score/include/rtems/score/wkspace.h:1.31	Tue Feb 15 18:24:49 2011
+++ rtems/cpukit/score/include/rtems/score/wkspace.h	Fri Jun 17 09:55:27 2011
@@ -7,7 +7,7 @@
  */
 
 /*
- *  COPYRIGHT (c) 1989-2008.
+ *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
  *
  *  The license and distribution terms for this file may be
@@ -35,20 +35,23 @@
 #include <rtems/score/heap.h>
 #include <rtems/score/interr.h>
 
-/** @brief Executive Workspace Control
+/**
+ * @brief Executive Workspace Control
  *
  *  The is the heap control structure that used to manage the
  *  RTEMS Executive Workspace.
  */
 SCORE_EXTERN Heap_Control _Workspace_Area;  /* executive heap header */
 
-/** @brief Workspace Handler Initialization
+/**
+ * @brief Workspace Handler Initialization
  *
  *  This routine performs the initialization necessary for this handler.
  */
 void _Workspace_Handler_initialization(void);
 
-/** @brief Allocate Memory from Workspace
+/**
+ * @brief Allocate Memory from Workspace
  *
  *  This routine returns the address of a block of memory of size
  *  bytes.  If a block of the appropriate size cannot be allocated
@@ -62,7 +65,8 @@
   size_t   size
 );
 
-/** @brief Free Memory to the Workspace
+/**
+ * @brief Free Memory to the Workspace
  *
  *  This function frees the specified block of memory.  If the block
  *  belongs to the Workspace and can be successfully freed, then
@@ -79,7 +83,8 @@
   void *block
 );
 
-/** @brief Workspace Allocate or Fail with Fatal Error
+/**
+ * @brief Workspace Allocate or Fail with Fatal Error
  *
  *  This routine returns the address of a block of memory of @a size
  *  bytes.  If a block of the appropriate size cannot be allocated



--

Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20110617/594ab704/attachment-0001.html>


More information about the vc mailing list