Broadcast and single send had different types so I picked the one with a defined length since we are doing bit operations on it. But I can change to unsigned long instead.

Daniel Cederman
Software Engineer
Aeroflex Gaisler AB
Aeroflex Microelectronic Solutions – HiRel
Kungsgatan 12
SE-411 19 Gothenburg, Sweden
Phone: +46 31 7758665
ceder...@gaisler.com
www.Aeroflex.com/Gaisler

On 2014-07-07 08:50, Sebastian Huber wrote:
I had a closer look at the change, and it makes no sense.  If you look at

void _SMP_Send_message( uint32_t cpu_index, unsigned long message )
{
   Per_CPU_Control *cpu = _Per_CPU_Get_by_index( cpu_index );

   _Atomic_Fetch_or_ulong( &cpu->message, message, ATOMIC_ORDER_RELAXED );

   _CPU_SMP_Send_interrupt( cpu_index );
}

you see that the message parameter is used by _Atomic_Fetch_or_ulong().
So the type must be unsigned long and not uint32_t.

On 2014-07-03 11:37, Daniel Cederman wrote:
---
  cpukit/score/include/rtems/score/smpimpl.h |    2 +-
  cpukit/score/src/smp.c                     |    2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/cpukit/score/include/rtems/score/smpimpl.h
b/cpukit/score/include/rtems/score/smpimpl.h
index e2fee39..ba16c8f 100644
--- a/cpukit/score/include/rtems/score/smpimpl.h
+++ b/cpukit/score/include/rtems/score/smpimpl.h
@@ -159,7 +159,7 @@ static inline void
_SMP_Inter_processor_interrupt_handler( void )
   *  @param[in] cpu_index The target processor of the message.
   *  @param[in] message The message.
   */
-void _SMP_Send_message( uint32_t cpu_index, unsigned long message );
+void _SMP_Send_message( uint32_t cpu_index, uint32_t message );

  /**
   *  @brief Request of others CPUs.
diff --git a/cpukit/score/src/smp.c b/cpukit/score/src/smp.c
index f0554fe..59448a0 100644
--- a/cpukit/score/src/smp.c
+++ b/cpukit/score/src/smp.c
@@ -153,7 +153,7 @@ void _SMP_Request_shutdown( void )
    _Giant_Drop( self_cpu );
  }

-void _SMP_Send_message( uint32_t cpu_index, unsigned long message )
+void _SMP_Send_message( uint32_t cpu_index, uint32_t message )
  {
    Per_CPU_Control *cpu = _Per_CPU_Get_by_index( cpu_index );




_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to