[genode] base-hw: SMP support on I.MX6

Stefan Kalkowski stefan.kalkowski at ...1...
Mon Oct 5 08:57:33 CEST 2015


Hi Le Guan,

thank you for your kind words, and also for sharing your insights with us!

Triggered by your mail, I've also played around with the "system reset
controller" using the i.MX6 Wandboard on Friday. However, I did not
incorporated the results yet. Although the additional cores are booted
correctly, our mp_server.run and affinity.run scripts, which test out
the SMP functionality, triggered faults on this board. I assume Genode's
current master branch is still missing some cache/shareability fixups
regarding Cortex A9 CPUs, which is addressed in the issue #1312 that
I've mentioned in my last mail.

We definitely will target those issues soon. In the meantime, if you
need to use multiple cores on i.MX6, I suggest to look at Martin Stein's
issue branch for all changes regarding cache maintainance and
shareability attributes.

Kind Regards
Stefan

On 10/02/2015 07:52 PM, Le Guan wrote:
> Hi Stefan,
> The last post doesn't render correctly. I copied some macro definitions
> from freescale SDK, and I have validated that it can kick off the remaining
> 3 cores. Please find the patched
> repos/base-hw/src/core/include/spec/imx6/board.h in the attachment.
> 
> Thanks for your amazing work.
> Best regards,
> Le Guan
> 
> On Fri, Oct 2, 2015 at 8:34 AM, Stefan Kalkowski <
> stefan.kalkowski at ...1...> wrote:
> 
>> Hi Le Guan,
>>
>> can you provide the changes you did, so we are able to reproduce it?
>>
>> I know there are still issues with SMP on Cortex A9 in our current
>> implementation. They are targeted by the work of Martin Stein on issue
>> #1312 in our issue tracker:
>>
>>   https://github.com/genodelabs/genode/issues/1312
>>
>> However, the provided solution only uses the Pandaboard, and is not yet
>> ready for our master branch. But given your knowledge regarding the
>> scratch register used to provide the entrypoints to the additional cpu
>> cores, we could test it with the Wandboard.
>>
>> Regards
>> Stefan
>>
>> On 09/30/2015 12:07 AM, Le Guan wrote:
>>> Hello everyone,
>>> I wonder if the current release supports SMP in base-hw. I read from the
>>> genode book that base-hw has well supported SMP long time ago. But the
>>> default configure in wandBoard sets NR_OF_CPUS to 1. When I change that
>>> value to 4 and implement several auxiliary SMP functions and run the
>>> program, there seems to be some error happen. Below is the output:
>>>
>>> core 0 enabled
>>> kernel initialized
>>> core 1 enabled
>>> core 2 enabled
>>> core 3 enabled
>>> Genode 15.08-25-g5cf8c49 <local changes>
>>> int main(): --- create local services ---
>>> int main(): --- start init ---
>>>
>>>
>>> The booting is stuck here. I have implemented the corresponding
>>> Cpu::start_secondary_cpus,  Cpu::primary_id() and Cpu::executing_id().
>> What
>>> else should I implement to boot SMP?
>>>
>>> Thanks in advance!
>>> Best regards,
>>> Le Guan
>>>
>>>
>>>
>>>
>> ------------------------------------------------------------------------------
>>>
>>>
>>>
>>> _______________________________________________
>>> genode-main mailing list
>>> genode-main at lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>>
>>
>> --
>> Stefan Kalkowski
>> Genode Labs
>>
>> http://www.genode-labs.com/ · http://genode.org/
>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> genode-main mailing list
>> genode-main at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/genode-main
>>
> 
> 
> 
> ------------------------------------------------------------------------------
> 
> 
> 
> _______________________________________________
> genode-main mailing list
> genode-main at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/genode-main
> 

-- 
Stefan Kalkowski
Genode Labs

http://www.genode-labs.com/ · http://genode.org/




More information about the users mailing list