Re: How L4Linux Linked the header file?
Youren Shen <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <CAHu4ykitbq8G4rYx27eEO_N4+ksaF-joOfvTZM9pNupao=3+sg@mail.gmail.com> |
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 <[email protected]> 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 [email protected] >> Lackorzynski http://os.inf.tu-dresden.de/~adam/ >> >> -- > Best Regards. > Youren Shen. > -- Best Regards. Youren Shen. _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers