GRSpw driver in SMP context

Charles INGELS charles.ingels at
Wed Oct 12 13:30:20 UTC 2016

Dear all,

I am trying to setup and to use the GR Spacewire driver in an SMP RTEMS
I activate the GRSPW driver by defining the following constant :

#include <drvmgr/drvmgr_confdefs.h>

I also define SMP context by writing :

#include <rtems/confdefs.h>

Note that SMP works fine on my LEON3 evaluation board and I am able to
play with tasks affinities.

Finally, I rely on the driver manager to setup the drivers I want to use.

When I compile my application, I get an unresolved symbol error related
to the following function (macro in fact):

undefined reference to `rtems_interrupt_disable'

After investigating a little bit more, it appears that such macro is
only defined if the RTEMS_SMP symbol is not defined. In other words,
such macro is only defined on a mono-core configuration, while in a
multi-core configuration, the macro rtems_interrupt_disable shall not be
used and shall be replaced by the macrortems_interrupt_local_disable.

However, the grspw driver relies on the mono-core macro
rtems_interrupt_disable. Since it is not defined in my SMP
configuration, the compilation fails.

So, my question is : is the grspw driver multi-core ready or is there
some work to do to have it work in a multi-core configuration ?

Thanks for your help,


*Charles INGELS*
Embedded software expert
charles.ingels at
Phone /+41 (0)32 338 99 10/
iNum /+883 5100 0902 7759/

Neuenburgstrasse 7
CH-3238 Gals (Suisse)
Desk /+41 (0)32 338 98 00/
Fax /+41 (0)32 338 99 34/
Web site

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: QR_Code_ING.png
Type: image/png
Size: 80473 bytes
Desc: not available
URL: <>

More information about the users mailing list