<html><head><style> body {height: 100%; color:#000000; font-size:12pt; font-family:arial,helvetica,sans-serif;}</style></head><body><div>See Doxygen comments of Per_CPU_State. The boot_card() must be called by exactly one processor.  For the Cortex-A9 MPCore there is a branch in bsp_start_hook_0() according to the CPU index.<br></div><div><br></div><div>----- Rohini Kulkarni <krohini1593@gmail.com> schrieb:<br>></div><div dir="ltr"><div><div><div><div><div><div><br clear="all"></div>Hi all,<br><div><br></div></div>I am trying to understand boot up for ARM BSPs so as to be able to implement SMP support for Pi 2.<br><div><br></div></div>Please correct me where I am wrong. (It is verbose. But I have tried to make things as clear as I could)<br><div><br></div></div>[1] From start.S for ARM, all cores start together. They run the bsp_start hook 0 and 1 and then go to boot_card() .<br>boot_card() calls rtems_data_sructure_initialize() which further does SMP related initilazations.<br><div><br></div>[2] the bsp_start_hooks include cpu initialization for cache/mmu etc. This is done for all cores before SMP initializations from boot_card(). For <br>> Raspberry Pi 2, only primary core, which is core 0, will run after <br>> reset, while other cores will wait for a jump address from where to <br>> execute.<br>I need to ensure the sequence remains consistent for Pi 2. So before boot_card is called() , I need to get other cores to do the initialization from start.S while core0 waits. Is there something else that can be done?<br></div><div><br></div>[3] Where do the other cores start waiting for an interrupt from primary core. Where does the interprocessor interrupt come into picture.<br><div><br></div></div>Thanks!<br><div><div><div><div><div><div><div><div>-- <br><div class="gmail_signature"><div dir="ltr">Rohini Kulkarni</div></div><br>></div></div></div></div></div></div></div></div></div><div><br></div><div><br></div><div>-- <br></div><div><pre>Sebastian Huber, embedded brains GmbH<br></pre><div><br></div><pre>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="http://lists.rtems.org/mailman/listinfo/devel" data-mce-href="http://lists.rtems.org/mailman/listinfo/devel">sebastian.huber at embedded-brains.de</a><br>PGP     : Public key available on request.<br></pre><div><br></div><pre>Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.</pre></div></body></html>