<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000099">
Dear all,<br>
<br>
I am trying to setup and to use the GR Spacewire driver in an SMP
RTEMS application.<br>
I activate the GRSPW driver by defining the following constant :<br>
<br>
<br>
<tt>...<br>
#define CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW</tt><tt><br>
</tt><tt>#include <drvmgr/drvmgr_confdefs.h><br>
...<br>
</tt><br>
I also define SMP context by writing :<br>
<br>
<tt>...<br>
#define CONFIGURE_SMP_APPLICATION</tt><tt><br>
</tt><tt>#define CONFIGURE_SMP_MAXIMUM_PROCESSORS 2</tt><tt><br>
</tt><tt>#define CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP</tt><tt><br>
</tt><tt>#include <rtems/confdefs.h><br>
...<br>
</tt><br>
Note that SMP works fine on my LEON3 evaluation board and I am able
to play with tasks affinities.<br>
<br>
<br>
Finally, I rely on the driver manager to setup the drivers I want to
use.<br>
<br>
When I compile my application, I get an unresolved symbol error
related to the following function (macro in fact):<br>
<br>
<tt>...../rtems/c/src/lib/libbsp/sparc/leon3/../../sparc/shared/spw/grspw.c:1846:
undefined reference to `rtems_interrupt_disable'</tt><br>
<br>
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 <tt>rtems_interrupt_disable</tt>
shall not be used and shall be replaced by the macro<tt>
rtems_interrupt_local_disable</tt>.<br>
<br>
However, the grspw driver relies on the mono-core macro <tt>rtems_interrupt_disable</tt>.
Since it is not defined in my SMP configuration, the compilation
fails.<br>
<br>
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
?<br>
<br>
Thanks for your help,<br>
<br>
Charles<br>
<br>
<br>
<br>
<br>
<br>
<div class="moz-signature">-- <br>
<table border="0" width="750px">
<tbody>
<tr>
<td>
<b>Charles INGELS</b><br>
Embedded software expert<br>
<font face="courier"><a class="moz-txt-link-abbreviated" href="mailto:charles.ingels@syderal.ch">charles.ingels@syderal.ch</a></font><br>
Phone <i>+41 (0)32 338 99 10</i> <br>
iNum <i>+883 5100 0902 7759</i> <br>
<br>
<b>SYDERAL SA</b> <br>
Neuenburgstrasse 7 <br>
CH-3238 Gals (Suisse) <br>
Desk <i>+41 (0)32 338 98 00</i> <br>
Fax <i>+41 (0)32 338 99 34</i> <br>
Web site <a class="moz-txt-link-freetext" href="http://www.syderal.ch">http://www.syderal.ch</a> <br>
</td>
<td>
<img src="cid:part1.31B2A709.974F1BA7@syderal.ch"
height="65%" width="65%">
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>