<div dir="ltr"><div>Dear Sebastian,</div><div><br></div><div>I already checked BSP code for Xlinx ZynQ and Altera Cyclone V. It was useful for me.</div><div>I implemented bspsmp.c according to register description of SRC(System Reset Controller) on i.MX6Q manual.</div><div><br></div><div>You said to me that IO device driver is called on boot processor only.</div><div>But, As I check io.c in cpukit/sapi/src, there is any code regarding this.</div><div><br></div><div>void _IO_Initialize_all_drivers( void )<br>{<br>   rtems_device_major_number major;</div><div>   _IO_All_drivers_initialized = true;</div><div>   for ( major=0 ; major < _IO_Number_of_drivers ; major ++ )<br>     (void) rtems_io_initialize( major, 0, NULL );<br> }<br></div><div><br></div><div>I think that this function should be changed in below;</div><div><br></div><div>void _IO_Initialize_all_drivers( void )<br>{<br>   rtems_device_major_number major;</div><div>   if (_IO_All_drivers_initialized != true) {</div><div><div>     _IO_All_drivers_initialized = true;</div>     for ( major=0 ; major < _IO_Number_of_drivers ; major ++ )<br>       (void) rtems_io_initialize( major, 0, NULL );<br>   } </div><div>}<br></div><div><b></b><i></i><u></u><sub></sub><sup></sup><strike><br></strike></div><div>Please advise me.</div><div><br></div><div>Best Regards,</div><div>Thomas Kim</div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-03-16 18:21 GMT+09:00 Sebastian Huber <span dir="ltr"><<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">On 16/03/17 10:12, Thomas Kim wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">
Dear Sir,<br>
<br>
I have used RTEMS 4.12 modified version for single core only of i.MX6Q(Cortex-A9) until now.<br>
At this time, I am trying to add SMP feature from one core to four cores.<br>
</blockquote>
<br>
Please use the existing Cortex-A9 MPCore support used by the Xilinx Zynq and Altera Cyclone V BSPs.<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">
<br>
Because I have a problem regarding "RTEMS_FATAL_SOURCE_SMP", I am trying to find a reason in my working version.<br>
<br>
As I know in RTEMS SMP booting sequence, after first RTEMS kernel on master core(core0) is run, three RTEMS kernel entry on each core1, core2, core3 is executed.<br>
<br>
At this time, RTEMS kernel on master core(core 0) initialize several device initializations.<br>
 - console driver for debug port.<br>
 - additional serial driver for device I/O communication.<br>
 - file system for sd-card.<br>
 - framebuffer for LCD panel.<br>
<br>
I guess that RTEMS kernel on core1, core2, core3 will initialze same device(console, sd-card, framebuffer) as like kernel on core0.<br>
<br>
Is this correct ?<br>
</blockquote>
<br>
No, only the boot processor will initialize the device drivers.<br>
<br>
-- <br>
Sebastian Huber, embedded brains GmbH<br>
<br>
Address : Dornierstr. 4, D-82178 Puchheim, Germany<br>
Phone   : +49 89 189 47 41-16<br>
Fax     : +49 89 189 47 41-09<br>
E-Mail  : <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brain<wbr>s.de</a><br>
PGP     : Public key available on request.<br>
<br>
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.<br>
<br>
______________________________<wbr>_________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" target="_blank" rel="noreferrer">http://lists.rtems.org/mailman<wbr>/listinfo/users</a><br>
</blockquote></div><br></div></div>