change log for rtems (2011-09-09)

rtems-vc at rtems.org rtems-vc at rtems.org
Fri Sep 9 12:10:16 UTC 2011


 *sh*:
2011-09-09	Sebastian Huber <sebastian.huber at embedded-brains.de>

	PR 1844/cpukit
	* rtems/include/rtems/rtems/msgmp.h: Define
	MESSAGE_QUEUE_MP_PACKET_SIZE.
	* rtems/src/msgmp.c, rtems/src/msgqcreate.c: Use
	MESSAGE_QUEUE_MP_PACKET_SIZE.

M 1.2916  cpukit/ChangeLog
M   1.23  cpukit/rtems/include/rtems/rtems/msgmp.h
M   1.31  cpukit/rtems/src/msgmp.c
M   1.18  cpukit/rtems/src/msgqcreate.c

diff -u rtems/cpukit/ChangeLog:1.2915 rtems/cpukit/ChangeLog:1.2916
--- rtems/cpukit/ChangeLog:1.2915	Fri Sep  9 06:02:02 2011
+++ rtems/cpukit/ChangeLog	Fri Sep  9 06:19:42 2011
@@ -1,5 +1,13 @@
 2011-09-09	Sebastian Huber <sebastian.huber at embedded-brains.de>
 
+	PR 1844/cpukit
+	* rtems/include/rtems/rtems/msgmp.h: Define
+	MESSAGE_QUEUE_MP_PACKET_SIZE.
+	* rtems/src/msgmp.c, rtems/src/msgqcreate.c: Use
+	MESSAGE_QUEUE_MP_PACKET_SIZE.
+
+2011-09-09	Sebastian Huber <sebastian.huber at embedded-brains.de>
+
 	PR 1873/cpukit
 	* score/include/rtems/score/heap.h: Revert previous commit.
 	* sapi/include/confdefs.h: Use proper constants in

diff -u rtems/cpukit/rtems/include/rtems/rtems/msgmp.h:1.22 rtems/cpukit/rtems/include/rtems/rtems/msgmp.h:1.23
--- rtems/cpukit/rtems/include/rtems/rtems/msgmp.h:1.22	Wed Aug  5 13:17:12 2009
+++ rtems/cpukit/rtems/include/rtems/rtems/msgmp.h	Fri Sep  9 06:19:42 2011
@@ -76,6 +76,9 @@
   CORE_message_queue_Buffer          Buffer;
 }   Message_queue_MP_Packet;
 
+#define MESSAGE_QUEUE_MP_PACKET_SIZE \
+  offsetof(Message_queue_MP_Packet, Buffer.buffer)
+
 /**
  *  @brief _Message_queue_MP_Send_process_packet
  *

diff -u rtems/cpukit/rtems/src/msgmp.c:1.30 rtems/cpukit/rtems/src/msgmp.c:1.31
--- rtems/cpukit/rtems/src/msgmp.c:1.30	Fri Sep  9 05:57:58 2011
+++ rtems/cpukit/rtems/src/msgmp.c	Fri Sep  9 06:19:42 2011
@@ -27,9 +27,6 @@
 #include <rtems/score/watchdog.h>
 #include <rtems/rtems/support.h>
 
-#define MESSAGE_QUEUE_MP_PACKET_SIZE \
-  offsetof(Message_queue_MP_Packet, Buffer.buffer)
-
 RTEMS_STATIC_ASSERT(
   MESSAGE_QUEUE_MP_PACKET_SIZE <= MP_PACKET_MINIMUM_PACKET_SIZE,
   Message_queue_MP_Packet
@@ -116,10 +113,10 @@
 
       the_packet                    = _Message_queue_MP_Get_packet();
       the_packet->Prefix.the_class  = MP_PACKET_MESSAGE_QUEUE;
-      the_packet->Prefix.length     = sizeof(Message_queue_MP_Packet);
+      the_packet->Prefix.length     = MESSAGE_QUEUE_MP_PACKET_SIZE;
       if ( size_p )
         the_packet->Prefix.length     += *size_p;
-      the_packet->Prefix.to_convert = sizeof(Message_queue_MP_Packet);
+      the_packet->Prefix.to_convert = MESSAGE_QUEUE_MP_PACKET_SIZE;
 
       /*
        * make sure message is not too big for our MPCI driver
@@ -162,8 +159,8 @@
 
       the_packet                    = _Message_queue_MP_Get_packet();
       the_packet->Prefix.the_class  = MP_PACKET_MESSAGE_QUEUE;
-      the_packet->Prefix.length     = sizeof(Message_queue_MP_Packet);
-      the_packet->Prefix.to_convert = sizeof(Message_queue_MP_Packet);
+      the_packet->Prefix.length     = MESSAGE_QUEUE_MP_PACKET_SIZE;
+      the_packet->Prefix.to_convert = MESSAGE_QUEUE_MP_PACKET_SIZE;
 
       if (! _Options_Is_no_wait(option_set))
           the_packet->Prefix.timeout = timeout;

diff -u rtems/cpukit/rtems/src/msgqcreate.c:1.17 rtems/cpukit/rtems/src/msgqcreate.c:1.18
--- rtems/cpukit/rtems/src/msgqcreate.c:1.17	Sun Jul 24 18:55:10 2011
+++ rtems/cpukit/rtems/src/msgqcreate.c	Fri Sep  9 06:19:42 2011
@@ -95,7 +95,7 @@
    */
 
   max_packet_payload_size = _MPCI_table->maximum_packet_size
-    - sizeof ( Message_queue_MP_Packet );
+    - MESSAGE_QUEUE_MP_PACKET_SIZE;
   if ( is_global && max_packet_payload_size < max_message_size )
     return RTEMS_INVALID_SIZE;
 #endif


 *sh*:
2011-09-09	Sebastian Huber <sebastian.huber at embedded-brains.de>

	PR 1901/cpukit
	* score/src/threadhandler.c: Do not use internal tasks for global
	initialization in MP configuration.

M 1.2917  cpukit/ChangeLog
M   1.37  cpukit/score/src/threadhandler.c

diff -u rtems/cpukit/ChangeLog:1.2916 rtems/cpukit/ChangeLog:1.2917
--- rtems/cpukit/ChangeLog:1.2916	Fri Sep  9 06:19:42 2011
+++ rtems/cpukit/ChangeLog	Fri Sep  9 06:25:23 2011
@@ -1,5 +1,11 @@
 2011-09-09	Sebastian Huber <sebastian.huber at embedded-brains.de>
 
+	PR 1901/cpukit
+	* score/src/threadhandler.c: Do not use internal tasks for global
+	initialization in MP configuration.
+
+2011-09-09	Sebastian Huber <sebastian.huber at embedded-brains.de>
+
 	PR 1844/cpukit
 	* rtems/include/rtems/rtems/msgmp.h: Define
 	MESSAGE_QUEUE_MP_PACKET_SIZE.

diff -u rtems/cpukit/score/src/threadhandler.c:1.36 rtems/cpukit/score/src/threadhandler.c:1.37
--- rtems/cpukit/score/src/threadhandler.c:1.36	Mon Aug 29 16:30:32 2011
+++ rtems/cpukit/score/src/threadhandler.c	Fri Sep  9 06:25:23 2011
@@ -89,8 +89,8 @@
   ISR_Level  level;
   Thread_Control *executing;
   #if defined(EXECUTE_GLOBAL_CONSTRUCTORS)
-    static char doneConstructors;
-    char doneCons;
+    static bool doneConstructors;
+    bool doCons;
   #endif
 
   executing = _Thread_Executing;
@@ -110,8 +110,15 @@
   _ISR_Set_level(level);
 
   #if defined(EXECUTE_GLOBAL_CONSTRUCTORS)
-    doneCons = doneConstructors;
-    doneConstructors = 1;
+    #if defined(RTEMS_MULTIPROCESSING)
+      doCons = !doneConstructors
+        && _Objects_Get_API( executing->Object.id ) != OBJECTS_INTERNAL_API;
+      if (doCons)
+        doneConstructors = true;
+    #else
+      doCons = !doneConstructors;
+      doneConstructors = true;
+    #endif
   #endif
 
   #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
@@ -143,7 +150,7 @@
      *  in any configuration I know of and it generates a warning on every
      *  RTEMS target configuration.  --joel (12 May 2007)
      */
-    if (!doneCons) /* && (volatile void *)_init) */ {
+    if (doCons) /* && (volatile void *)_init) */ {
       INIT_NAME ();
    
       #if defined(RTEMS_SMP)



--

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/20110909/e2d44075/attachment.html>


More information about the vc mailing list