How L4Linux Linked the header file?

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


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20150426/0029a7a4/attachment.htm>


More information about the l4-hackers mailing list