SMP on ARM
Rohini Kulkarni
krohini1593 at gmail.com
Tue Jun 23 18:37:27 UTC 2015
Hi all,
I am trying to understand boot up for ARM BSPs so as to be able to
implement SMP support for Pi 2.
Please correct me where I am wrong. (It is verbose. But I have tried to
make things as clear as I could)
[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() .
boot_card() calls rtems_data_sructure_initialize() which further does SMP
related initilazations.
[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
Raspberry Pi 2, only primary core, which is core 0, will run after reset,
while other cores will wait for a jump address from where to execute.
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?
[3] Where do the other cores start waiting for an interrupt from primary
core. Where does the interprocessor interrupt come into picture.
Thanks!
--
Rohini Kulkarni
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20150624/bbec0fdc/attachment.html>
More information about the devel
mailing list