Hi,

 i have a PowerPC 405 based system using a 2.6.30 Xenomai patched kernel
and I want to manage some interrupts in userspace for some non-critical
custom drivers. I have an OF device-tree where I indicate my HW
interrupts (the ones I need to use are not shared with any already
managed interrupt in the kernel). I have been trying to initialize an
interrupt handler in userspace with rt_intr_create by using the real
interrupt numbers indicated in the dts . The handler gets loaded but no
interrupt shows up. I have seen that rt_intr_create indicates that the
irq number is "architecture dependant", but I haven't been able to spot
further explanations on this. I know that arch=powerpc use virtual
interrupts and I am wondering if I first need to map the real interrupt
in a virtual interrupt number before using it( like one would do in a
normal linux kernel driver ).

I am doing this:

    if( (err = rt_intr_create(&(dev->intr_desc), "GPIO IRQ", irqno,
I_NOAUTOENA)) < 0 ){
        pdbg(DBG_WARN, "Cannot create interrupt for GPIO
rt_intr_create=%i\n", err);
        return err;
    }
       
    rt_intr_enable (&(dev->intr_desc));

    if( (err = rt_task_spawn(&(dev->interrupt_task), "Int", 0, irq_prio,
0,fisr, (void*)&(dev->intr_desc))) < 0){
        pdbg(DBG_WARN, "Cannot Spawn ISR for GPIO. err = %d\n", err);
        return err;
    }

 What am I missing?

Thanks!

 /Alfred

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to