All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: peter.breuer@domain.hid
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-help] gpio-keys with xenomai
Date: Wed, 24 Mar 2010 11:19:08 +0100	[thread overview]
Message-ID: <4BA9E71C.4000908@domain.hid> (raw)
In-Reply-To: <1269389915.1931.3.camel@domain.hid>

Peter Breuer wrote:
> Hello, 
> I finally had the time to test some different settings...
> 
> I wrote the following program:
> #include <sys/mman.h>
> #include <native/task.h>
> #include <native/intr.h>
> 
> #define IRQ_NUMBER 100  /* Intercept interrupt */
> #define IRQ_MODE   I_NOAUTOENA //I_PROPAGATE //0
> #define TASK_PRIO  99 /* Highest RT priority */
> #define TASK_MODE  T_FPU  /*  */
> #define TASK_STKSZ 0  /* Stack size (use default one) */
> #define PIPE_MINOR 0
> 
> RT_INTR intr_desc;
> 
> RT_TASK server_desc;
> 
> 
> void irq_server (void *cookie)
> 
> {
>         int err =
> rt_intr_create(&intr_desc,"MyIrq",IRQ_NUMBER,IRQ_MODE);
>         printf("int create: %d\n", err);
>         err = rt_intr_enable(&intr_desc);
>         printf("enable int: %d\n", err);
>         printf("begin..\n");
>         err = rt_intr_wait(&intr_desc,TM_INFINITE);
>         printf("int wait:%d\n", err);
> 
> }
> 
> int main (int argc, char *argv[])
> 
> {
>         int err;
>         int a;
>         printf("Programmstart\n");
>         mlockall(MCL_CURRENT|MCL_FUTURE);
> 
>         err = rt_task_create(&server_desc,
>                                 "MyIrqServer",
>                                 TASK_STKSZ,
>                                 TASK_PRIO,
>                                 TASK_MODE);
>         printf("task create: %d\n", err);
>         rt_task_start(&server_desc,&irq_server,NULL);
> }
> 
> void cleanup (void)
> 
> {
>     rt_intr_delete(&intr_desc);
>     rt_task_delete(&server_desc);
> }
> 
> When I start it with the compiled xenomai, it runs until the
> rt_intr_wait() and then quits, without any message. It doesnt even
> execute printf("int wait:%d\n", err)
> create_task, create_intr and enable_intr all return 0. 
> When I start the programm with a kernel, where xenomai isnt compiled in,
> then it quits and complains about it. 
> When I start the programm with xenomai debug settings compiled in the
> kernel, the system freezes at task creating. Heres the output:
> Programmstart
> taskXenomai: fatal: bug at kernel/xenomai/nucleus/shadow.c
> :1128 (!irqs_disabled_hw())
> CPU PID PRI TIMEOUT STAT NAME
> 0 0 -1 0 00400088 ROOT
>> 0 923 99 0 00300180 MyIrqServer
> Master time base: clock=114327768
> [<c002bde4>] (show_stack+0x0/0x48) from [<c006e69c>] (xnshadow_harden
> +0x1d0/0x21c)
> [<c006e4cc>] (xnshadow_harden+0x0/0x21c) from [<c006ec00>]
> (xnshadow_wait_barrier+0x124/0x138)
> [<c006eadc>] (xnshadow_wait_barrier+0x0/0x138) from [<c006fbe4>]
> (xnshadow_sys_barrier+0x14/0x18)
> r6:c309a000 r5:c309bfb0 r4:00000001
> [<c006fbd0>] (xnshadow_sys_barrier+0x0/0x18) from [<c006ff70>]
> (losyscall_event+0xb4/0x1ac)
> [<c006febc>] (losyscall_event+0x0/0x1ac) from [<c0061214>]
> (__ipipe_dispatch_event+0xd0/0x1c8)
> [<c0061144>] (__ipipe_dispatch_event+0x0/0x1c8) from [<c002cc5c>]
> (__ipipe_syscall_root+0x80/0x100)
> [<c002cbdc>] (__ipipe_syscall_root+0x0/0x100) from [<c0028108>]
> (vector_swi+0x68/0xa8)
> 
> Any ideas? 
> is the irq-number, that I need for the rt_intr_create() the same number
> that is shown in /proc/interrupts?
> thx, greetings, 
> Peter

You are using a too old patch. Please use an I-pipe patch for linux
2.6.28 or above.



-- 
					    Gilles.


  reply	other threads:[~2010-03-24 10:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-24  0:18 [Xenomai-help] gpio-keys with xenomai Peter Breuer
2010-03-24 10:19 ` Gilles Chanteperdrix [this message]
  -- strict thread matches above, loose matches on Subject: below --
2010-03-17 22:35 Peter Breuer
2010-03-18 20:14 ` Gilles Chanteperdrix
2010-03-18 20:56 ` Philippe Gerum

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BA9E71C.4000908@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=peter.breuer@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.