<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Lucida Console";
        panose-1:2 11 6 9 4 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m having some issues with running an RTEMS application configured with more than 1 CPU. I’m using RTEMS5 checked out from Nov 8 (git hash
<span style="font-size:9.0pt;font-family:"Lucida Console"">b3c624d8886db6e791babe5e0d4f8b28992e000a</span>).
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">What I’ve done is currently modified the sample Hello World application, based off of smp01, to print out the number of processors RTEMS detects with the
<b>rtems_get_processor_count() </b>method. Initially this method reported 1 which made sense since I didn’t have  CONFIGURE_MAXIMUM_PROCESSORS defined.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">After setting #define CONFIGURE_MAXIMUM_PROCESSORS to 2 what I see is that I no longer get any serial output from the program. I’m not quite sure what’s going on.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The entirety of my program is as follows (also attached to this email):
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#ifdef HAVE_CONFIG_H<o:p></o:p></p>
<p class="MsoNormal">#include "config.h"<o:p></o:p></p>
<p class="MsoNormal">#endif<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#include <rtems.h><o:p></o:p></p>
<p class="MsoNormal">#include <tmacros.h><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">const char rtems_test_name[] = "HELLO WORLD";<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">static rtems_task Init(<o:p></o:p></p>
<p class="MsoNormal">  rtems_task_argument ignored<o:p></o:p></p>
<p class="MsoNormal">)<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  rtems_print_printer_fprintf_putc(&rtems_test_printer);<o:p></o:p></p>
<p class="MsoNormal">  TEST_BEGIN();<o:p></o:p></p>
<p class="MsoNormal">  #ifdef RTEMS_SMP<o:p></o:p></p>
<p class="MsoNormal">    printf("SMP SUPPORT ENABLED\n");<o:p></o:p></p>
<p class="MsoNormal">   #else<o:p></o:p></p>
<p class="MsoNormal">    printf("NO SMP SUPPORT ENABLED\n");<o:p></o:p></p>
<p class="MsoNormal">  #endif <o:p></o:p></p>
<p class="MsoNormal">  printf( "Hello Windows RTEMS SMP\n" );<o:p></o:p></p>
<p class="MsoNormal">  uint32_t cpu_count = rtems_get_processor_count();<o:p></o:p></p>
<p class="MsoNormal">  printf("CPU Count is %d\n", cpu_count);<o:p></o:p></p>
<p class="MsoNormal">  TEST_END();<o:p></o:p></p>
<p class="MsoNormal">  rtems_test_exit( 0 );<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#define CONFIGURE_INIT<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">/* NOTICE: the clock driver is explicitly disabled */<o:p></o:p></p>
<p class="MsoNormal">#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER<o:p></o:p></p>
<p class="MsoNormal">#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER<o:p></o:p></p>
<p class="MsoNormal">#define CONFIGURE_MAXIMUM_PROCESSORS 2<o:p></o:p></p>
<p class="MsoNormal">#define CONFIGURE_MAXIMUM_TASKS (CONFIGURE_MAXIMUM_PROCESSORS + 1)<o:p></o:p></p>
<p class="MsoNormal">#define CONFIGURE_MAXIMUM_SEMAPHORES 1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#define CONFIGURE_RTEMS_INIT_TASKS_TABLE<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_FLOATING_POINT<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#define CONFIUGRE_SCHEDULER_PRIORITY_AFFINITY_SMP<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">#include <rtems/confdefs.h><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The output when I have CONFIGURE_MAXIMUM_PROCESSORS to 1 can be seen the screenshot below (also attached to this thread).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><img width="784" height="254" style="width:8.1666in;height:2.6458in" id="Picture_x0020_1" src="cid:image001.png@01D4924E.ACA8B930"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any idea what might be going on here or if there’s something that I’m doing incorrectly?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Avi<o:p></o:p></p>
</div>
</body>
</html>