[#6172] Build kernel with xenomai failed in xenomai regression machine, after one regression
Submitted By: Vivi Li
Open Date
2010-08-11 04:53:30 Close Date
2010-11-12 03:56:59
Priority:
Medium Assignee:
Vivi Li
Status:
Closed Fixed In Release:
N/A
Found In Release:
2010R1 Release:
Category:
Make Errors Board:
N/A
Processor:
ALL Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Fixed
Uboot version or rev.:
Toolchain version or rev.:
gcc4.3-2010_Aug_04
App binary format:
N/A
Summary: Build kernel with xenomai failed in xenomai regression machine, after one regression
Details:
Build kernel with xenomai failed at hal.h in latest trunk.
Config file is attached.
Bellow is the log:
--
CC kernel/xenomai/arch/generic/hal.o
In file included from /home/test/work/cruise/checkouts/uclinux-dist/linux-2.6.x/arch/blackfin/include/asm/xenomai/hal.h:29,
from kernel/xenomai/arch/generic/hal.c:47:
include/asm-generic/xenomai/hal.h:43:33: error: linux/ipipe_tickdev.h: No such file or directory
In file included from /home/test/work/cruise/checkouts/uclinux-dist/linux-2.6.x/arch/blackfin/include/asm/xenomai/hal.h:29,
from kernel/xenomai/arch/generic/hal.c:47:
include/asm-generic/xenomai/hal.h: In function ‘rthal_get_cpufreq’:
include/asm-generic/xenomai/hal.h:225: error: storage size of ‘sysinfo’ isn’t known
include/asm-generic/xenomai/hal.h:226: error: implicit declaration of function ‘ipipe_get_sysinfo’
include/asm-generic/xenomai/hal.h:225: warning: unused variable ‘sysinfo’
include/asm-generic/xenomai/hal.h: In function ‘rthal_get_timerfreq’:
include/asm-generic/xenomai/hal.h:232: error: storage size of ‘sysinfo’ isn’t known
include/asm-generic/xenomai/hal.h:232: warning: unused variable ‘sysinfo’
include/asm-generic/xenomai/hal.h: In function ‘set_task_nowakeup’:
include/asm-generic/xenomai/hal.h:306: error: ‘TASK_NOWAKEUP’ undeclared (first use in this function)
include/asm-generic/xenomai/hal.h:306: error: (Each undeclared identifier is reported only once
include/asm-generic/xenomai/hal.h:306: error: for each function it appears in.)
include/asm-generic/xenomai/hal.h: In function ‘clear_task_nowakeup’:
include/asm-generic/xenomai/hal.h:311: error: ‘TASK_NOWAKEUP’ undeclared (first use in this function)
include/asm-generic/xenomai/hal.h: At top level:
include/asm-generic/xenomai/hal.h:394: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rthal_irq_handler_t’
include/asm-generic/xenomai/hal.h:395: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘rthal_irq_ackfn_t’
include/asm-generic/xenomai/hal.h:421: error: ‘IPIPE_NR_CPUS’ undeclared here (not in a function)
include/asm-generic/xenomai/hal.h:421: error: ‘IPIPE_NR_FAULTS’ undeclared here (not in a function)
include/asm-generic/xenomai/hal.h:471: error: expected declaration specifiers or ‘...’ before ‘rthal_irq_handler_t’
include/asm-generic/xenomai/hal.h:472: error: expected declaration specifiers or ‘...’ before ‘rthal_irq_ackfn_t’
include/asm-generic/xenomai/hal.h: In function ‘rthal_irq_host_pend’:
include/asm-generic/xenomai/hal.h:493: error: implicit declaration of function ‘ipipe_propagate_irq’
include/asm-generic/xenomai/hal.h: At top level:
include/asm-generic/xenomai/hal.h:514: warning: ‘enum clock_event_mode’ declared inside parameter list
include/asm-generic/xenomai/hal.h:514: warning: its scope is only this definition or declaration, which is probably not what you want
include/asm-generic/xenomai/hal.h:519: warning: ‘enum clock_event_mode’ declared inside parameter list
In file included from kernel/xenomai/arch/generic/hal.c:47:
/home/test/work/cruise/checkouts/uclinux-dist/linux-2.6.x/arch/blackfin/include/asm/xenomai/hal.h: In function ‘rthal_rdtsc’:
/home/test/work/cruise/checkouts/uclinux-dist/linux-2.6.x/arch/blackfin/include/asm/xenomai/hal.h:59: error: implicit declaration of function ‘ipipe_read_tsc’
/home/test/work/cruise/checkouts/uclinux-dist/linux-2.6.x/arch/blackfin/include/asm/xenomai/hal.h: In function ‘rthal_timer_program_shot’:
/home/test/work/cruise/checkouts/uclinux-dist/linux-2.6.x/arch/blackfin/include/asm/xenomai/hal.h:66: error: implicit declaration of function ‘ipipe_schedule_irq’
kernel/xenomai/arch/generic/hal.c: In function ‘rthal_critical_enter’:
kernel/xenomai/arch/generic/hal.c:105: error: implicit declaration of function ‘ipipe_critical_enter’
kernel/xenomai/arch/generic/hal.c: In function ‘rthal_critical_exit’:
kernel/xenomai/arch/generic/hal.c:118: error: implicit declaration of function ‘ipipe_critical_exit’
kernel/xenomai/arch/generic/hal.c: At top level:
kernel/xenomai/arch/generic/hal.c:169: error: expected declaration specifiers or ‘...’ before ‘rthal_irq_handler_t’
kernel/xenomai/arch/generic/hal.c:170: error: expected declaration specifiers or ‘...’ before ‘rthal_irq_ackfn_t’
kernel/xenomai/arch/generic/hal.c: In function ‘rthal_irq_request’:
kernel/xenomai/arch/generic/hal.c:172: error: ‘handler’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:172: error: ‘IPIPE_NR_IRQS’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:175: error: implicit declaration of function ‘ipipe_virtualize_irq’
kernel/xenomai/arch/generic/hal.c:175: error: ‘ackfn’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:175: error: ‘IPIPE_HANDLE_MASK’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:175: error: ‘IPIPE_WIRED_MASK’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:175: error: ‘IPIPE_EXCLUSIVE_MASK’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c: In function ‘rthal_irq_release’:
kernel/xenomai/arch/generic/hal.c:212: error: ‘IPIPE_NR_IRQS’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:215: error: ‘IPIPE_PASS_MASK’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c: In function ‘rthal_apc_handler’:
kernel/xenomai/arch/generic/hal.c:402: error: implicit declaration of function ‘ipipe_processor_id’
kernel/xenomai/arch/generic/hal.c: In function ‘rthal_apc_alloc’:
kernel/xenomai/arch/generic/hal.c:526: error: implicit declaration of function ‘ipipe_test_and_stall_pipeline_head’
kernel/xenomai/arch/generic/hal.c:537: error: implicit declaration of function ‘ipipe_restore_pipeline_head’
kernel/xenomai/arch/generic/hal.c: In function ‘hal_read_proc’:
kernel/xenomai/arch/generic/hal.c:628: error: ‘IPIPE_MAJOR_NUMBER’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:629: error: ‘IPIPE_MINOR_NUMBER’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:630: error: ‘IPIPE_PATCH_NUMBER’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c: In function ‘rthal_init’:
kernel/xenomai/arch/generic/hal.c:840: error: implicit declaration of function ‘ipipe_alloc_virq’
kernel/xenomai/arch/generic/hal.c:848: error: ‘ipipe_current_domain’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:848: error: ‘IPIPE_HANDLE_MASK’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:874: error: storage size of ‘attr’ isn’t known
kernel/xenomai/arch/generic/hal.c:874: error: implicit declaration of function ‘ipipe_init_attr’
kernel/xenomai/arch/generic/hal.c:874: error: ‘IPIPE_HEAD_PRIORITY’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:874: error: implicit declaration of function ‘ipipe_register_domain’
kernel/xenomai/arch/generic/hal.c:874: warning: unused variable ‘attr’
kernel/xenomai/arch/generic/hal.c:915: error: implicit declaration of function ‘ipipe_free_virq’
kernel/xenomai/arch/generic/hal.c: In function ‘rthal_exit’:
kernel/xenomai/arch/generic/hal.c:931: error: ‘ipipe_current_domain’ undeclared (first use in this function)
kernel/xenomai/arch/generic/hal.c:945: error: implicit declaration of function ‘ipipe_unregister_domain’
--
Follow-ups
--- Aaron Wu 2010-08-18 05:25:45
Can't reproduce, svn version is 9779 on svn://10.99.22.20/ucliunx-dist
--- Vivi Li 2010-08-19 22:00:51
Remove uclinux-dist and check out resource and rebuild, it's OK now.
Close it.
--- Vivi Li 2010-10-19 00:00:02
In fact, this problem exist only in adeos/xenomai regression test machine, after
one regression, kernel fails to build.
And the modification to linux kernel is different from xenomai patch.
So reopen this bug.
Bellow is the diff in linux-2.6.x:
--
Index: kernel/Makefile
===================================================================
--- kernel/Makefile (revision 9245)
+++ kernel/Makefile (working copy)
@@ -137,3 +137,5 @@
targets += timeconst.h
$(obj)/timeconst.h: $(src)/timeconst.pl FORCE
$(call if_changed,timeconst)
+
+obj-$(CONFIG_XENOMAI) += xenomai/
Index: arch/blackfin/Makefile
===================================================================
--- arch/blackfin/Makefile (revision 9245)
+++ arch/blackfin/Makefile (working copy)
@@ -165,3 +165,5 @@
echo ' (distribution) PATH: $(INSTALLKERNEL) or'
echo ' install to $$(INSTALL_PATH)'
endef
+
+drivers-$(CONFIG_XENOMAI) += arch/blackfin/xenomai/
Index: init/Kconfig
===================================================================
--- init/Kconfig (revision 9245)
+++ init/Kconfig (working copy)
@@ -1250,3 +1250,36 @@
bool
source "kernel/Kconfig.locks"
+
+menu "Real-time sub-system"
+
+comment "WARNING! You enabled APM, CPU Frequency scaling or ACPI
'processor'"
+ depends on APM || CPU_FREQ || ACPI_PROCESSOR
+comment "option. These options are known to cause troubles with
Xenomai."
+ depends on APM || CPU_FREQ || ACPI_PROCESSOR
+
+comment "NOTE: Xenomai conflicts with PC speaker support."
+ depends on !X86_TSC && X86 && INPUT_PCSPKR
+comment "(menu Device Drivers/Input device support/Miscellaneous
devices)"
+ depends on !X86_TSC && X86 && INPUT_PCSPKR
+
+comment "NOTE: Xenomai needs either X86_LOCAL_APIC enabled or HPET_TIMER
disabled."
+ depends on (!X86_LOCAL_APIC || !X86_TSC) && X86 &&
HPET_TIMER
+comment "(menu Processor type and features)"
+ depends on (!X86_LOCAL_APIC || !X86_TSC) && X86 &&
HPET_TIMER
+
+config XENOMAI
+ depends on ((X86_TSC || !X86 || !INPUT_PCSPKR) && (!HPET_TIMER
|| !X86 || (X86_LOCAL_APIC && X86_TSC)))
+ bool "Xenomai"
+ default y
+ select IPIPE
+
+ help
+ Xenomai is a real-time extension to the Linux kernel. Note
+ that Xenomai relies on Adeos interrupt pipeline (CONFIG_IPIPE
+ option) to be enabled, so enabling this option selects the
+ CONFIG_IPIPE option.
+
+source "arch/blackfin/xenomai/Kconfig"
+
+endmenu
Index: drivers/Makefile
===================================================================
--- drivers/Makefile (revision 9245)
+++ drivers/Makefile (working copy)
@@ -113,3 +113,5 @@
obj-$(CONFIG_STAGING) += staging/
obj-y += platform/
obj-y += ieee802154/
+
+obj-$(CONFIG_XENOMAI) += xenomai/
--
--- Sonic Zhang 2010-11-04 06:13:58
Xenomai Makefile applies kernel patch when running "make all" and
removes kernel patches when running "make clean". Current test
framework saves a copy of kernel folder as the a default configure and speed up
cache after first policy building and restore this backup kernel in next
buildings for all test suites. The test framework may run "make clean"
after some test suites are done. Although xemomai Makefile remove the kernel
patch at this time, the kernel restored for next test suite still includes the
xenomai patch. In the building for next test suite, xenomai Makefile applies its
patch again and double patches cause building fail.
The solution is to disable xenomai application in test framework after first
policy building. Then all test suites can run in xenomai enabled kernel. But,
make clean doesn't execute into xenomai Makefile.
--- Vivi Li 2010-11-12 03:56:58
Fixed in test script.
Close.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
config.policy application/octet-stream 40163 Vivi Li