How L4Linux Linked the header file?

Youren Shen shenyouren at gmail.com
Sat Apr 25 19:18:21 CEST 2015


Hi, Adam,

Sorry to disturb you again.

I find the reason of this problem is because the "config
GENERIC_CLOCKEVENTS" is removed from file arch/arm/Kconfig after Kernel
3.4. As a result, the GENERIC_CLOCKEVENTS is not defined in the
arch/l4/kconfig.arm.
And the CONFIG_SMP depends on GENERIC_CLOCKEVENTS. So the
CONFIG_GENERIC_CLOCKEVENTS and CONFIG_SMP will be unmask in build processes.

Is there any way to get previous version of L4Linux? For instance, If I can
get the source code of the L4Linux 3.4, it will be very helpful.

Thank you very much for your help!

On Sun, Apr 26, 2015 at 12:18 AM, Youren Shen <shenyouren at gmail.com> wrote:

> Hi, Adam
> I'm not so sure how to reply the mail in L4-hackers-list, So I CC to both
> the List mail address and thread mail address.
>
> Thank you for your reply, and that really helps.
>
> I find that those error occurred because the CONFIG_SMP and
> CONFIG_GENERIC_CLOCKEVENTS_BUILD  is not set in .config.
>
> I try to config them by 'make menuconfig' but there is none entry about
> CONFIG_SMP or CONFIG_GENERIC_CLOCKEVENTS_BUILD appeared in menuconfig. So
> I change the .config file directly, but once I invoke "make", the .config
> will be rewrite.
>
> Would you mind give me any guide about how to set them?
>
> Thank you very much.
>
>>
>>
>> Hi,
>>
>> On Sat Apr 18, 2015 at 22:26:15 +0800, Youren Shen wrote:
>> > I'm trying to port L4Linux 3.14 to Linux Kernel 3.4. But when I complied
>> > the kernel, this error happened:
>> >
>> /home/shenyouren/workspace/kernel/kernel_exynos5250/arch/l4/kernel/main.c:
>> > In function 'cpu0_startup':
>> >
>> /home/shenyouren/workspace/kernel/kernel_exynos5250/arch/l4/kernel/main.c:2124:2:
>> > error: implicit declaration of function 'set_my_cpu_offset'
>> > [-Werror=implicit-function-declaration]
>> >
>> > I checked main.c file:
>> >
>> > #include <asm/unistd.h>
>> > #include <asm/percpu.h>
>> > #include <asm/generic/l4lib.h>
>> >
>> > So I add one percpu.h file with definition of 'set_my_cpu_offset' in
>> >
>> /home/shenyouren/workspace/kernel/kernel_exynos5250/arch/l4/include/asm/arch-arm/,
>> > however this error still happened.
>> >
>> > Then I add the definition of this function to
>> >
>> /home/shenyouren/workspace/kernel/kernel_exynos5250/include/linux/percpu.h,
>> > then the error message will not show.
>> >
>> > Also, discard the change in $(src)/include/linux/percpu.h, then I change
>> > the main.c file to include  absolute path of percpu.h.
>> >
>> > #include <asm/unistd.h>
>> > #include
>> >
>> </home/shenyouren/workspace/kernel/kernel_exynos5250/arch/l4/include/asm/arch-arm/percpu.h>
>> > #include <asm/generic/l4lib.h>
>> >
>> > It passed the complied to.
>>
>> When you put a header file in arch/l4/include/asm/arch-arm/ including it
>> via <asm/foo.h> should work.
>>
>> > So that is say, the #include <asm/percpu.h> is reference to
>> > src/include/linux/percpu.h. That really strange.
>>
>> So, include <linux/percpu.h> in main.c right away?
>>
>> The L4 part of L4Linux you're looking at is for 3.14 and you apply it to
>> Linux 3.4, please expect that things are different and need adaption.
>>
>> > I do not change the Makefile in arch/l4, and I really confused about
>> this
>> > error.
>> > Now this problem occurs to me again, when complied the
>> > arch/l4/kernel/timer.c file, this error happened:
>> >
>> >
>> /home/shenyouren/workspace/kernel/kernel_exynos5250/arch/l4/kernel/timer.c:153:35:
>> > warning: 'struct clock_event_device' declared inside parameter list
>> > [enabled by default]
>> >
>> /home/shenyouren/workspace/kernel/kernel_exynos5250/arch/l4/kernel/timer.c:153:35:
>> > warning: its scope is only this definition or declaration, which is
>> > probably not what you want [enabled by default]
>> >
>> > but the definition of this to file should be defined in clockchips.h
>> which
>> > is include in timer.c:
>> >
>> > #include <linux/timex.h>
>> > #include <linux/clockchips.h>
>> > #include <linux/irq.h>
>> >
>> > Thank you for your reading, I just want to know what's the rule of
>> L4Linux
>> > header file linking, and solve this problem.
>> > I'd be so appreciated if anyone can give me some help!
>>
>> There's a #ifdef CONFIG_GENERIC_CLOCKEVENTS_BUILD in clockchips.h.
>> Not defined?
>>
>>
>>
>> Adam
>> --
>> Adam                 adam at os.inf.tu-dresden.de
>>   Lackorzynski         http://os.inf.tu-dresden.de/~adam/
>>
>> --
> Best Regards.
> Youren Shen.
>



-- 
Best Regards.
Youren Shen.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20150426/86e5b416/attachment.htm>


More information about the l4-hackers mailing list