GICD_ISACTIVER<n>, Interrupt Set-Active Registers, n = 0 - 31
The GICD_ISACTIVER<n> characteristics are:
Activates the corresponding interrupt. These registers are used when saving and restoring GIC state.
These registers are available in all GIC configurations. If GICD_CTLR.DS==0, these registers are Common.
GICD_ISACTIVER0 is Banked for each connected PE with GICR_TYPER.Processor_Number < 8.
Accessing GICD_ISACTIVER0 from a PE with GICR_TYPER.Processor_Number > 7 is CONSTRAINED UNPREDICTABLE:
- Register is RAZ/WI.
- An UNKNOWN banked copy of the register is accessed.
GICD_ISACTIVER<n> is a 32-bit register.
The GICD_ISACTIVER<n> bit assignments are:
Set_active_bit<x>, bit [x], for x = 31 to 0
Adds the active state to interrupt number 32n + x. Reads and writes have the following behavior:
If read, indicates that the corresponding interrupt is not active, and is not active and pending.
If written, has no effect.
If read, indicates that the corresponding interrupt is active, or is active and pending.
If written, activates the corresponding interrupt, if the interrupt is not already active. If the interrupt is already active, the write has no effect.
After a write of 1 to this bit, a subsequent read of this bit returns 1.
On a Warm reset, this field resets to 0.
For INTID m, when DIV and MOD are the integer division and modulo operations:
- The corresponding GICD_ISACTIVER<n> number, n, is given by n = m DIV 32.
- The offset of the required GICD_ISACTIVER is (0x300 + (4*n)).
- The bit number of the required group modifier bit in this register is m MOD 32.
Accessing the GICD_ISACTIVER<n>
When affinity routing is enabled for the Security state of an interrupt, bits corresponding to SGIs and PPIs are RAZ/WI, and equivalent functionality for SGIs and PPIs is provided by GICR_ISACTIVER0.
Bits corresponding to unimplemented interrupts are RAZ/WI.
If GICD_CTLR.DS==0, unless the GICD_NSACR<n> registers permit Non-secure software to control Group 0 and Secure Group 1 interrupts, any bits that correspond to Group 0 or Secure Group 1 interrupts are accessible only by Secure accesses and are RAZ/WI to Non-secure accesses.
GICD_ISACTIVER<n> can be accessed through the memory-mapped interfaces:
|GIC Distributor||0x0300 + (4 * n)||GICD_ISACTIVER<n>|
This interface is accessible as follows:
- When GICD_CTLR.DS == 0 accesses to this register are RW.
- When an access is Secure accesses to this register are RW.
- When an access is Non-secure accesses to this register are RW.