Non-SMP l4Linux build fail

Nikolay Martyanov ohmspectator at ...9...
Tue Feb 5 12:56:06 CET 2013


Hi, all!

I've found one strange thing. May be someone here can help me.
If I try to build an l4Linux with no-SMP config, it results in a fail.
And here, I think, the reason:

In l4lx lib we have file l4lx_irq.cc (ports-foc/src/lib/l4lx/l4lx_irq.cc).
Here we have a function l4lx_irq_dev_set_affinity() that uses non-lib
(regular l4linux) function l4x_cpumask_copy(). This function declared in
arch/l4/kernel/main.c
In it's turn this function makes the following call:

>> cpumask_copy(data->affinity, dest);

as you can see, it uses an affinity member of irq_data struct.
And this member is under l4linux config control:

>> #ifdef CONFIG_SMP
>> cpumask_var_t affinity;
>> #endif

So, as a result, if l4linux config doesn't provide this option - build
fails.
We can't use the same l4linux config directive in a lib l4lx_irq.cc to
"turn off" this chain, because it is not available there.

I have to change from SMP version to SMP from time to time, so as a
solution I can wrap cpumask_copy(data->affinity, dest); in the same
directive, but I don't think it's a good solutions.

Have you any ideas?

Best regards,
Nikolay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20130205/435cac6c/attachment.html>


More information about the users mailing list