B4.7 ICC_CTLR, Interrupt Controller Control Register

ICC_CTLR controls aspects of the behavior of the GIC CPU interface and provides information about the features implemented.

Bit field descriptions

ICC_CTLR is a 32-bit register and is part of:

  • The GIC system registers functional group.
  • The GIC control registers functional group.
Figure B4-3 ICC_CTLR bit assignments
To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.


RES0, [31:16]
Reserved, RES0.
A3V, [15]

Affinity 3 Valid. The value is:

0x1The CPU interface logic supports non-zero values of Affinity 3 in SGI generation System registers.
SEIS, [14]

SEI Support.The value is:

0x0The CPU interface logic does not support local generation of SEIs.
IDbits, [13:11]

Identifier bits. The value is:

0x0The number of physical interrupt identifier bits supported is 16 bits.

This field is an alias of ICC_CTLR_EL3.IDbits.

PRIbits, [10:8]

Priority bits. The value is:

0x4The core support 32 levels of physical priority with 5 priority bits.
RES0, [7]
Reserved, RES0.
PMHE, [6]

Priority Mask Hint Enable. This bit is an alias of ICC_CTLR_EL3.PMHE. The possible values are:

0Disables use of ICC_PMR as a hint for interrupt distribution.
1Enables use of ICC_PMR as a hint for interrupt distribution.
RES0, [5:2]
Reserved, RES0.
EOImode, [1]
End of interrupt mode for the current security state. The possible values are:
0ICC_EOIR0 and ICC_EOIR1 provide both priority drop and interrupt deactivation functionality. Accesses to ICC_DIR are UNPREDICTABLE.
1ICC_EOIR0 and ICC_EOIR1 provide priority drop functionality only. ICC_DIR provides interrupt deactivation functionality.

If EL3 is using AArch32, this bit is an alias of ICC_MCTLR.EOImode_EL1 {S, NS}.

If EL3 is using AArch64, this bit is an alias of ICC_CTLR_EL3.EOImode_EL1 {S, NS}.

CBPR, [0]
Common Binary Point Register. Control whether the same register is used for interrupt pre-emption of both Group 0 and Group 1 interrupt. The possible values are:
0

ICC_BPR0 determines the preemption group for Group 0 interrupts.

ICC_BPR1 determines the preemption group for Group 1 interrupts.

1ICC_BPR0 determines the preemption group for Group 0 and Group 1 interrupts.

If EL3 is using AArch32, this bit is an alias of ICC_MCTLR.CBPR_EL1 {N, NS}.

If EL3 is using AArch64, this bit is an alias of ICC_CTLR_EL3.CBPR_EL1 {S, NS}.

If GICD_CTLR.DS == 0, this bit is read-only.

If GICD_CTLR.DS == 0, this bit is read/write.

Configurations

AArch32 System register ICC_CTLR (S) is architecturally mapped to AArch64 System register ICC_CTLR_EL1 (S).

AArch32 System register ICC_CTLR (NS) is architecturally mapped to AArch64 System register ICC_CTLR_EL1(NS).

Bit fields and details not provided in this description are architecturally defined. See the Arm® Generic Interrupt Controller Architecture Specification.

Non-ConfidentialPDF file icon PDF version100442_0200_00_en
Copyright © 2016–2018 Arm Limited or its affiliates. All rights reserved.