GICD_IGROUPR<n>, Interrupt Group Registers, n = 0 - 31

The GICD_IGROUPR<n> characteristics are:

Purpose

Controls whether the corresponding interrupt is in Group 0 or Group 1.

Configuration

These registers are available in all GIC configurations. If GICD_CTLR.DS==0, these registers are Secure.

The number of implemented GICD_IGROUPR<n> registers is (GICD_TYPER.ITLinesNumber+1). Registers are numbered from 0.

GICD_IGROUPR0 is Banked for each connected PE with GICR_TYPER.Processor_Number < 8.

Accessing GICD_IGROUPR0 from a PE with GICR_TYPER.Processor_Number > 7 is CONSTRAINED UNPREDICTABLE:

Attributes

GICD_IGROUPR<n> is a 32-bit register.

Field descriptions

313029282726252423222120191817161514131211109876543210
Group_status_bit31Group_status_bit30Group_status_bit29Group_status_bit28Group_status_bit27Group_status_bit26Group_status_bit25Group_status_bit24Group_status_bit23Group_status_bit22Group_status_bit21Group_status_bit20Group_status_bit19Group_status_bit18Group_status_bit17Group_status_bit16Group_status_bit15Group_status_bit14Group_status_bit13Group_status_bit12Group_status_bit11Group_status_bit10Group_status_bit9Group_status_bit8Group_status_bit7Group_status_bit6Group_status_bit5Group_status_bit4Group_status_bit3Group_status_bit2Group_status_bit1Group_status_bit0

Group_status_bit<x>, bit [x], for x = 31 to 0

Group status bit.

Group_status_bit<x>Meaning
0b0

When GICD_CTLR.DS==1, the corresponding interrupt is Group 0.

When GICD_CTLR.DS==0, the corresponding interrupt is Secure.

0b1

When GICD_CTLR.DS==1, the corresponding interrupt is Group 1.

When GICD_CTLR.DS==0, the corresponding interrupt is Non-secure Group 1.

If affinity routing is enabled for the Security state of an interrupt, the bit that corresponds to the interrupt is concatenated with the equivalent bit in GICD_IGRPMODR<n> to form a 2-bit field that defines an interrupt group. The encoding of this field is described in GICD_IGRPMODR<n>.

If affinity routing is disabled for the Security state of an interrupt, then:

The reset behavior of this field is:

Additional information

For INTID m, when DIV and MOD are the integer division and modulo operations:

Accessing GICD_IGROUPR<n>

For SGIs and PPIs:

When GICD_CTLR.DS==0, the register is RAZ/WI to Non-secure accesses.

Bits corresponding to unimplemented interrupts are RAZ/WI.

Note

Accesses to GICD_IGROUPR0 when affinity routing is not enabled for a Security state access the same state as GICR_IGROUPR0, and must update Redistributor state associated with the PE performing the accesses. Implementations must ensure that an interrupt that is pending at the time of the write uses either the old value or the new value and must ensure that the interrupt is neither lost nor handled more than one time. The effect of the change must be visible in finite time.

GICD_IGROUPR<n> can be accessed through the memory-mapped interfaces:

ComponentFrameOffsetInstance
GIC DistributorDist_base0x0080 + (4 * n)GICD_IGROUPR<n>

Accesses on this interface are RW.


26/03/2024 09:49; 67c0ae5282a7629ba0ea0ba7267b43cd4f7939f6

Copyright © 2010-2024 Arm Limited or its affiliates. All rights reserved. This document is Non-Confidential.