BSP question: nested interrupts?

Sebastian Huber sebastian.huber at
Fri May 2 06:35:53 UTC 2014

Hello Chris,

On 2014-05-01 19:53, Chris Nott wrote:
> Just reviewing interrupts now. I'm not sure your question fully makes sense.
> Unlike smaller embedded arms (eg. Cortex-M3), he interrupts on Cortex-A8 are
> two-phase. There is an external (to the ARM core) interrupt controller that
> feeds interrupts to the ARM IRQ and FIRQ lines. The ARM process itself actually
> only has those two interrupt signals.
> It looks like the code currently handles IRQ and FIRQ serially, so any
> interrupts at each level would be handled serially regardless of priority set
> in the INTC. Presumably what we eventually want to do here for both IRQ and
> FIRQ handlers is, receive the interrupt, immediately set the INTC priority to
> the received interrupt level to block lower priority interrupts (including the
> current interrupt), then acknowledge IRQ/FIRQ and dispatch the actual interrupt
> handler at a lower CPU priority so we can nest IRQ/FIRQ and handle higher
> priority interrupts.

the FIRQ are not supported at the operating system level in RTEMS, see also 
comment in cpu.h.

> I'm not quite familiar with ARM family yet to be sure how this is normally
> accomplished or if there is an existing supported ARM with the same interrupt
> controller structure. TI provide sample source including interrupt handler that
> supports this stuff. It might be a good place to start playing with it, the
> source pretty much compiles fine in the RTEMS environment.

The interrupt priority handling must be accomplished by the interrupt controller.

Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

More information about the devel mailing list