Questions for SMP feature.

Thomas Kim thomas73.kim at gmail.com
Fri Mar 17 09:01:33 UTC 2017


Dear Sebastian,

I already checked BSP code for Xlinx ZynQ and Altera Cyclone V. It was
useful for me.
I implemented bspsmp.c according to register description of SRC(System
Reset Controller) on i.MX6Q manual.

You said to me that IO device driver is called on boot processor only.
But, As I check io.c in cpukit/sapi/src, there is any code regarding this.

void _IO_Initialize_all_drivers( void )
{
   rtems_device_major_number major;
   _IO_All_drivers_initialized = true;
   for ( major=0 ; major < _IO_Number_of_drivers ; major ++ )
     (void) rtems_io_initialize( major, 0, NULL );
 }

I think that this function should be changed in below;

void _IO_Initialize_all_drivers( void )
{
   rtems_device_major_number major;
   if (_IO_All_drivers_initialized != true) {
     _IO_All_drivers_initialized = true;
     for ( major=0 ; major < _IO_Number_of_drivers ; major ++ )
       (void) rtems_io_initialize( major, 0, NULL );
   }
}

Please advise me.

Best Regards,
Thomas Kim


2017-03-16 18:21 GMT+09:00 Sebastian Huber <
sebastian.huber at embedded-brains.de>:

> On 16/03/17 10:12, Thomas Kim wrote:
>
>> Dear Sir,
>>
>> I have used RTEMS 4.12 modified version for single core only of
>> i.MX6Q(Cortex-A9) until now.
>> At this time, I am trying to add SMP feature from one core to four cores.
>>
>
> Please use the existing Cortex-A9 MPCore support used by the Xilinx Zynq
> and Altera Cyclone V BSPs.
>
>
>> Because I have a problem regarding "RTEMS_FATAL_SOURCE_SMP", I am trying
>> to find a reason in my working version.
>>
>> 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.
>>
>> At this time, RTEMS kernel on master core(core 0) initialize several
>> device initializations.
>>  - console driver for debug port.
>>  - additional serial driver for device I/O communication.
>>  - file system for sd-card.
>>  - framebuffer for LCD panel.
>>
>> I guess that RTEMS kernel on core1, core2, core3 will initialze same
>> device(console, sd-card, framebuffer) as like kernel on core0.
>>
>> Is this correct ?
>>
>
> No, only the boot processor will initialize the device drivers.
>
> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax     : +49 89 189 47 41-09
> E-Mail  : sebastian.huber at embedded-brains.de
> PGP     : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
> _______________________________________________
> users mailing list
> users at rtems.org
> http://lists.rtems.org/mailman/listinfo/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20170317/e4bacbd7/attachment-0001.html>


More information about the users mailing list