Question about irq

Maria Soler m.soler at virtualopensystems.com
Wed Jul 23 18:39:38 CEST 2014


Hello,

I have a question about how the irqs work in L4re. I am running
FIASCO.OC + L4re on qemu for arm. I want to be able to raise an
interruption from qemu and handle it from my VM. I am basing my work
on the example at examples/libs/libirq (I am coding in C, so it is
more convenient than other examples in C++).

I have a qemu device that has the interrupt number #N in qemu. I rise
the interrupt but the l4irq_wait function doesn't return. I have tried
both with qemu_irq_pulse(state->irq); and with
qemu_set_irq(state->irq, 1), also I have tried attaching the irq and
requesting it; but there is no difference.

My basic doubts are:
- Is the number of the interruption the same within L4re as in qemu?
and if not, how can I calculate/check what the number is in L4re?
- If the number is OK, what can be the problem I am facing? The
mentioned example doesn't work for me either (l4irq_request returns 0
in this case), so I don't know how to solve this exactly.
- Is there a better example for this that I can use as a baseline?

In case this is relevant, this is part of a more complex project, so I
have a .devs file where I have a line like:

    Io.Res.irq(#N);

I am also using this file in the present step to keep things as
similar as possible to the real scenario.

Thanks!

Regards,
María.



More information about the l4-hackers mailing list