From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <47DAA815.4010804@domain.hid> Date: Fri, 14 Mar 2008 17:30:13 +0100 From: Philippe Gerum MIME-Version: 1.0 References: <2ff1a98a0803120923m76f75bder857abac049c22e4d@domain.hid> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai-core] [Adeos-main] New I-pipe patch for ARM. Reply-To: philippe.gerum@domain.hid List-Id: "Xenomai life and development \(bug reports, patches, discussions\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Bosko Radivojevic Cc: xenomai-help , adeos-main , xenomai-core Bosko Radivojevic wrote: > OK here are a bit more details, output from the module (rt_task_create > and rt_task_start lines are printing the return value). It looks like > the same problem as Johan reported a few hours ago. Am I right? > Yes, you may not call kmalloc() on behalf of a real-time thread in kernel space. If you run on top of rtdm, then rtdm_malloc/free() will work. Otherwise, you may pull memory directly from the Xenomai heap using xnmalloc()/xnfree(). Make sure to set CONFIG_XENO_OPT_SYS_HEAPSZ accordingly. If you happen to use the native skin, then you may create your own private heap using rt_heap_create() as well (from module_init context). > rt_task_create(): 0 > > I-pipe: Detected illicit call from domain 'Xenomai' > into a service reserved for domain 'Linux' and below. > > [] (dump_stack+0x0/0x14) from [] (ipipe_check_context+0x80/0 > x9c) > [] (ipipe_check_context+0x0/0x9c) from [] (__kmalloc+0x60/0x > 108) > r4:c3d2fc00 > [] (__kmalloc+0x0/0x108) from [] (ebustxrx+0x30/0x148 [macb2 > ]) > r7:00000010 r6:c3d7fb40 r5:bf0015cc r4:c3d2fc00 > [] (ebustxrx+0x0/0x148 [macb2]) from [] (bus_fixed_msg_cycle > +0x1c/0x3c [rt_bus_driver]) > [] (bus_fixed_msg_cycle+0x0/0x3c [rt_bus_driver]) from [] (R > ead_inputs+0x28/0x164 [rt_bus_driver]) > [] (Read_inputs+0x0/0x164 [rt_bus_driver]) from [] (do_upg+0 > x44/0x250 [rt_bus_driver]) > [] (do_upg+0x0/0x250 [rt_bus_driver]) from [] (xnarch_thread > _trampoline+0x28/0x34) > r7:00000000 r6:00000000 r5:bf00b508 r4:bf00b508 > [] (xnarch_thread_trampoline+0x0/0x34) from [] (xnpod_schedu > le+0x470/0x760) > r4:c005f93c > > rt_task_start(): 0 > > > On Fri, Mar 14, 2008 at 12:07 PM, Bosko Radivojevic > wrote: >> Sorry, my fingers are faster than my mind. The same happens when I >> remove rt_task_set_mode call. In the meantime, I realized that >> T_PRIMARY is invalid for kernel based tasks. So... maybe this is a >> bug? :) >> >> On Fri, Mar 14, 2008 at 12:04 PM, Bosko Radivojevic >> >> wrote: >> >> >>> Hi, >> > >> > now, I have a problem with our application. It is using native skin, >> > when I start it I get: >> > >> > kernel BUG at kernel/ipipe/core.c:322! >> > Xenomai: suspending kernel thread bf00b4e8 ('do_upg') at 0xc001db14 >> > after exception #0 >> > >> > It looks to me that this happens after rt_task_set_mode(0, T_PRIMARY, >> > NULL) call in our module. Maybe something changed from 2.3.x Xenomai >> > to 2.4.x? >> > >> > On Wed, Mar 12, 2008 at 5:23 PM, Gilles Chanteperdrix >> > >> > wrote: >> > >> > >> > > Hi, >> > > >> > > as you may have already noticed, the ARM I-pipe patch for linux 2.6.24 >> > > is available on Adeos download site and in Xenomai svn. >> > > >> > > This patch incorporates modifications of all boards code to adapt to >> > > the ipipe_tickdev system which couples timer requests with Linux >> > > clockevent/clocksource framework. >> > > >> > > As usual, it is tested only on AT91RM9200 and only compile-tested for >> > > other boards. So, it would be nice if people could test this new patch >> > > on their board. >> > > >> > > Thanks and regards. >> > > >> > > -- >> > > Gilles Chanteperdrix >> > > >> > > _______________________________________________ >> > > Adeos-main mailing list >> > > Adeos-main@domain.hid >> > > https://mail.gna.org/listinfo/adeos-main >> > > >> > >> > > _______________________________________________ > Adeos-main mailing list > Adeos-main@domain.hid > https://mail.gna.org/listinfo/adeos-main > -- Philippe.