From f4a8ee1c55788aeb053ede7571b07906a9847a45 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 17 Mar 1999 16:01:03 +0000 Subject: Unlimited objects patch from Chris Johns . Email follows: First, the unlimited patch. I have compiled the unlmited patch for the Linux posix BSP only and it seems to work cleanly. I would like a really major application run on this change before commiting as the changes are very core and significant. I am currently building all the tests to run. I have no targets suitable to test on at the moment. I have tested the patch for inline functions and macros. Turning macros on has found some core bugs. I have fixed these but have not run all the tests. Please review the patch for these changes. They are: 1) The conditional compilation for MP support broke the core messages code. You cannot embed a conditional macro in another macro. The Send and Urgent Send calls are macros. 2) User extensions handler initialisation now has two parameters. I have updated the macros to support the extra parameter. The patch also contains the gcc-target-default.cfg fix required to build the kernel. More of a by product than a fix for you. --- cpukit/rtems/src/msg.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'cpukit/rtems/src/msg.c') diff --git a/cpukit/rtems/src/msg.c b/cpukit/rtems/src/msg.c index 2768050d8f..b0222601f0 100644 --- a/cpukit/rtems/src/msg.c +++ b/cpukit/rtems/src/msg.c @@ -31,6 +31,20 @@ #include #include +/*PAGE + * + * _MESSAGE_QUEUE_CORE_MESSAGE_QUEUE_MP_SUPPORT + * + * Condition support for the MP. Helps the macro build. + * + */ + +#if defined(RTEMS_MULTIPROCESSING) +#define _MESSAGE_QUEUE_CORE_MESSAGE_QUEUE_MP_SUPPORT _Message_queue_Core_message_queue_mp_support +#else +#define _MESSAGE_QUEUE_CORE_MESSAGE_QUEUE_MP_SUPPORT NULL +#endif + /*PAGE * * _Message_queue_Manager_initialization @@ -450,11 +464,7 @@ rtems_status_code rtems_message_queue_broadcast( buffer, size, id, -#if defined(RTEMS_MULTIPROCESSING) - _Message_queue_Core_message_queue_mp_support, -#else - NULL, -#endif + _MESSAGE_QUEUE_CORE_MESSAGE_QUEUE_MP_SUPPORT, count ); @@ -718,11 +728,7 @@ rtems_status_code _Message_queue_Submit( buffer, size, id, -#if defined(RTEMS_MULTIPROCESSING) - _Message_queue_Core_message_queue_mp_support -#else - NULL -#endif + _MESSAGE_QUEUE_CORE_MESSAGE_QUEUE_MP_SUPPORT ); break; case MESSAGE_QUEUE_URGENT_REQUEST: @@ -731,11 +737,7 @@ rtems_status_code _Message_queue_Submit( buffer, size, id, -#if defined(RTEMS_MULTIPROCESSING) - _Message_queue_Core_message_queue_mp_support -#else - NULL -#endif + _MESSAGE_QUEUE_CORE_MESSAGE_QUEUE_MP_SUPPORT ); break; default: -- cgit v1.2.3