FAQ: [#6172] Build kernel with xenomai failed in xenomai regression machine, after one regression(2010)

Document created by Aaronwu Employee on Sep 11, 2013
Version 1Show Document
  • View in full screen mode

[#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

Attachments

Outcomes