GR740-UM-DS, Nov 2017, Version 1.7
303
www.cobham.com/gaisler
GR740
When a processor acknowledges the interrupt, the corresponding pending bit will automatically be
cleared. Note that in a multiprocessor system, the bit in the pending register will be cleared as soon as
one of the processors acknowledges the interrupt and interrupt broadcast functionality should be used
for interrupts that need to be propagated to all processors. Interrupt can also be forced by setting a bit
in the interrupt force register. In this case, the processor acknowledgement will clear the force bit
rather than the pending bit. After reset, the interrupt mask register is set to all zeros while the remain-
ing control registers are undefined. Note that interrupt 15 cannot be maskable by the LEON processor
and should be used with care - most operating systems do not safely handle this interrupt.
21.2.3 Extended interrupts
The AHB/APB interrupt consist of 32 signals ([31:0]), while the interrupt controller only uses lines 1
- 15 in the nominal mode. To use the additional 16 interrupt lines (16-31), extended interrupt handling
is enabled. The interrupt lines 16 - 31 are also handled by the interrupt controller, and the interrupt
pending and mask registers have been extended to 32 bits. Since the processor only has 15 interrupt
levels (1 - 15), the extended interrupts will generate one of the regular interrupts, in this system inter-
rupt line 10. When the interrupt is taken and acknowledged by the processor, the regular interrupt (10)
and the extended interrupt pending bits are automatically cleared. The extended interrupt acknowl-
edge register will identify which extended interrupt that was most recently acknowledged. This regis-
ter can be used by software to invoke the appropriate interrupt handler for the extended interrupts.
21.2.4 Processor status monitoring
The processor status can be monitored through the Multiprocessor Status Register. The STATUS field
in this register indicates if a processor is in power-down (‘1’) or running (‘0’). A halted processor can
be make running by writing a ‘1’ to its status field. After reset, all processors except processor 0 are
halted (unless DSU_EN is low and BREAK is high, as described in section 3.1). When the system is
properly initialized, processor 0 can start the remaining processors by writing to their STATUS bits.
Figure 37.
Interrupt controller block diagram
IRQ
Pending
15
4
IRQO[0].IRL[3:0]
Priority
select
IRQ
mask[0]
IRQ
Force[0]
Priority
encoder
4
IRQO[n].IRL[3:0]
Priority
encoder
APBI.PIRQ[15:1]
IRQ
mask[n]
IRQ
Force[n]