<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>