Questions for SMP feature.
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Mar 17 09:06:55 UTC 2017
On 17/03/17 10:01, Thomas Kim wrote:
> 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;
No, if multiple processors call _IO_Initialize_all_drivers(), then your
low-level SMP initialization is broken. See comments of Per_CPU_State
and _CPU_SMP_*() in cpukit/score/cpu/no_cpu/rtems/score/cpu.h for some
documentation. You can also follow the SMP startup on Qemu to figure out
how it is supposed to work.
--
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.
More information about the users
mailing list