Re: SMP for L4Linux on i.MX6

Uwe Geuder <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
On 13 October 2014 21:19, Adam Lackorzynski <[email protected]> wrote:
> Hi,
>
> On Mon Oct 13, 2014 at 19:12:25 +0300, Uwe Geuder wrote:
>> We have an i.MX6 quadcore SoC and obviously we would like to use more than
>> 1 core in L4Linux. So far I have not succeeded to do that.
>>
...
>
> For L4Linux, you need to specify how many CPUs it should use via cmdline
> option: l4x_cpus=X
>

Thanks for your answer, done now.



>> -- CPUs 1 + 2
>> -- scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0x18, 0x8, 6),
>> -- maybe no mask means all CPUs?
>> scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0x18, 0x8),
>
> Do not use any of those in this case.

Removed.



>> Does the virtual CPU seen by L4Linux
>> need to control/use the SCU or is that something made completely transparent
>> by the virtual cpu offered by L4?
>
> User programs, such as L4Linux, have nothing to do with the SCU, i.e. it
> is completely transparent.

OK, good.

So I measured again and could not find any effects whether l4x_cpus=3 is
present or not.

Next I looked at the code what l4x_cpus= does. And indeed it does nothing.
To be more exact all it does is inside #ifdef CONFIG_SMP. You did
not explicitly say that I should disable that option, but I still concluded I
should do so to get rid of the build failures. 


But as I wrote before, I had not been able to build with that option enabled
>
>> Next I looked at our L4Linux configuration and indeed CONFIG_SMP was not
>> set. However after enabling it the kernel does no longer build:
>>
>> arch/arm/mach-imx/built-in.o: In function `imx_smp_prepare':
>> /home/geuder/projects/c4c/l4-bundle/l4linux/arch/arm/mach-imx/platsmp.c:79: undefined reference to `scu_enable'
>> /home/geuder/projects/c4c/l4-bundle/l4linux/arch/arm/mach-imx/platsmp.c:79: undefined reference to `scu_enable'
>> arch/arm/mach-imx/built-in.o: In function `imx_smp_init_cpus':
>> /home/geuder/projects/c4c/l4-bundle/l4linux/arch/arm/mach-imx/platsmp.c:71: undefined reference to `scu_get_core_count'
>> arch/arm/mach-imx/built-in.o: In function `v7_secondary_startup':
>> /home/geuder/projects/c4c/l4-bundle/l4linux/arch/arm/mach-imx/headsmp.S:33: undefined reference to `v7_invalidate_l1'
>> /home/geuder/projects/c4c/l4-bundle/l4linux/arch/arm/mach-imx/headsmp.S:35: undefined reference to `secondary_startup' 


So if CONFIG_SMP is needed to be selected, how can I solve the build problems?

Regards,

Uwe Geuder
Nomovok Ltd.
Tampere, Finland
[email protected] (bot test: humans correct 1 obvious spelling error)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.