B4.29 ICC_CTLR_EL1, Interrupt Controller Control Register, EL1

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

Bit field descriptions

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

  • The GIC system registers functional group.
  • The GIC control registers functional group.
Figure B4-16 ICC_CTLR_EL1 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]
RES0Reserved.
A3V, [15]

Affinity 3 Valid. The value is:

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

SEI Support. The value is:

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

Identifier bits. The value is:

0The 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 supports 32 levels of physical priority with 5 priority bits.
RES0, [7]
RES0Reserved.
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]
RES0Reserved.
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 preemption 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

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

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

Bit fields and details that are 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.