The GICD_CTLR characteristics are:
Enables interrupts and affinity routing.
The format of this register depends on the Security state of the access and the number of Security states supported, which is specified by GICD_CTLR.DS.
GICD_CTLR is a 32-bit register.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RWP | RES0 | E1NWF | DS | ARE_NS | ARE_S | RES0 | EnableGrp1S | EnableGrp1NS | EnableGrp0 |
Register Write Pending. Read only. Indicates whether a register write is in progress or not:
RWP | Meaning |
---|---|
0b0 |
No register write in progress. The effects of previous register writes to the affected register fields are visible to all logical components of the GIC architecture, including the CPU interfaces. |
0b1 |
Register write in progress. The effects of previous register writes to the affected register fields are not guaranteed to be visible to all logical components of the GIC architecture, including the CPU interfaces, as the effects of the changes are still being propagated. |
This field tracks writes to:
Updates to other register fields are not tracked by this field.
The reset behavior of this field is:
Reserved, RES0.
Enable 1 of N Wakeup Functionality.
It is IMPLEMENTATION DEFINED whether this bit is programmable, or RAZ/WI.
If it is implemented, then it has the following behavior:
E1NWF | Meaning |
---|---|
0b0 |
A PE that is asleep cannot be picked for 1 of N interrupts. |
0b1 |
A PE that is asleep can be picked for 1 of N interrupts as determined by IMPLEMENTATION DEFINED controls. |
The reset behavior of this field is:
Disable Security.
DS | Meaning |
---|---|
0b0 |
Non-secure accesses are not permitted to access and modify registers that control Group 0 interrupts. |
0b1 |
Non-secure accesses are permitted to access and modify registers that control Group 0 interrupts. |
If DS is written from 0 to 1 when GICD_CTLR.ARE_S == 1, then GICD_CTLR.ARE for the single Security state is RAO/WI.
If the Distributor only supports a single Security state, this bit is RAO/WI.
If the Distributor supports two Security states, it IMPLEMENTATION DEFINED whether this bit is programmable or implemented as RAZ/WI.
When this field is set to 1, all accesses to GICD_CTLR access the single Security state view, and all bits are accessible.
When set to 1, this field can only be cleared by a hardware reset.
Writing this bit from 0 to 1 is UNPREDICTABLE if any of the following is true:
The reset behavior of this field is:
Affinity Routing Enable, Non-secure state.
ARE_NS | Meaning |
---|---|
0b0 |
Affinity routing disabled for Non-secure state. |
0b1 |
Affinity routing enabled for Non-secure state. |
When affinity routing is enabled for the Secure state, this field is RAO/WI.
Changing the ARE_NS settings from 0 to 1 is UNPREDICTABLE except when GICD_CTLR.EnableGrp1 Non-secure == 0.
Changing the ARE_NS settings from 1 to 0 is UNPREDICTABLE.
If GICv2 backwards compatibility for Non-secure state is not implemented, this field is RAO/WI.
The reset behavior of this field is:
Affinity Routing Enable, Secure state.
ARE_S | Meaning |
---|---|
0b0 |
Affinity routing disabled for Secure state. |
0b1 |
Affinity routing enabled for Secure state. |
Changing the ARE_S setting from 0 to 1 is UNPREDICTABLE except when all of the following apply:
Changing the ARE_S settings from 1 to 0 is UNPREDICTABLE.
If GICv2 backwards compatibility for Secure state is not implemented, this field is RAO/WI.
The reset behavior of this field is:
Reserved, RES0.
Enable Secure Group 1 interrupts.
EnableGrp1S | Meaning |
---|---|
0b0 |
Secure Group 1 interrupts are disabled. |
0b1 |
Secure Group 1 interrupts are enabled. |
If GICD_CTLR.ARE_S == 0, this field is RES0.
The reset behavior of this field is:
Enable Non-secure Group 1 interrupts.
EnableGrp1NS | Meaning |
---|---|
0b0 |
Non-secure Group 1 interrupts are disabled. |
0b1 |
Non-secure Group 1 interrupts are enabled. |
This field also controls whether LPIs are forwarded to the PE.
The reset behavior of this field is:
Enable Group 0 interrupts.
EnableGrp0 | Meaning |
---|---|
0b0 |
Group 0 interrupts are disabled. |
0b1 |
Group 0 interrupts are enabled. |
The reset behavior of this field is:
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RWP | RES0 | ARE_NS | RES0 | EnableGrp1A | EnableGrp1 |
This bit is a read-only alias of the Secure GICD_CTLR.RWP bit.
Reserved, RES0.
This bit is a read/write alias of the Secure GICD_CTLR.ARE_NS bit.
If GICv2 backwards compatibility for Non-secure state is not implemented, this field is RAO/WI.
Reserved, RES0.
If ARE_NS == 1, then this bit is a read/write alias of the Secure GICD_CTLR.EnableGrp1NS bit.
If ARE_NS == 0, then this bit is RES0.
If ARE_NS == 0, then this bit is a read/write alias of the Secure GICD_CTLR.EnableGrp1NS bit.
If ARE_NS == 1, then this bit is RES0.
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
RWP | RES0 | nASSGIreq | E1NWF | DS | RES0 | ARE | RES0 | EnableGrp1 | EnableGrp0 |
Register Write Pending. Read only. Indicates whether a register write is in progress or not:
RWP | Meaning |
---|---|
0b0 |
No register write in progress. The effects of previous register writes to the affected register fields are visible to all logical components of the GIC architecture, including the CPU interfaces. |
0b1 |
Register write in progress. The effects of previous register writes to the affected register fields are not guaranteed to be visible to all logical components of the GIC architecture, including the CPU interfaces, as the effects of the changes are still being propagated. |
This field tracks updates to:
Updates to other register fields are not tracked by this field.
The reset behavior of this field is:
Reserved, RES0.
Controls whether SGIs have an active state.
This bit is RES0 if GICD_TYPER2.GICD_TYPER2.nASSGIcap is 0.
This bit is WI when any of GICD_CTLR.{EnableGrp0,EnableGrp1} is 1.
nASSGIreq | Meaning |
---|---|
0b0 |
SGIs have an active state and must be deactivated. |
0b1 |
SGIs do not have an active state and do not require deactivation. |
The reset behavior of this field is:
Reserved, RES0.
Enable 1 of N Wakeup Functionality.
It is IMPLEMENTATION DEFINED whether this bit is programmable, or RAZ/WI.
If it is implemented, then it has the following behavior:
E1NWF | Meaning |
---|---|
0b0 |
A PE that is asleep cannot be picked for 1 of N interrupts. |
0b1 |
A PE that is asleep can be picked for 1 of N interrupts as determined by IMPLEMENTATION DEFINED controls. |
The reset behavior of this field is:
Disable Security. This field is RAO/WI.
Reserved, RES0.
Affinity Routing Enable.
ARE | Meaning |
---|---|
0b0 |
Affinity routing disabled. |
0b1 |
Affinity routing enabled. |
Changing the ARE settings from 0 to 1 is UNPREDICTABLE except when all of the following apply:
Changing ARE from 1 to 0 is UNPREDICTABLE.
If GICv2 backwards compatibility is not implemented, this field is RAO/WI.
The reset behavior of this field is:
Reserved, RES0.
Enable Group 1 interrupts.
EnableGrp1 | Meaning |
---|---|
0b0 |
Group 1 interrupts disabled. |
0b1 |
Group 1 interrupts enabled. |
The reset behavior of this field is:
Enable Group 0 interrupts.
EnableGrp0 | Meaning |
---|---|
0b0 |
Group 0 interrupts are disabled. |
0b1 |
Group 0 interrupts are enabled. |
The reset behavior of this field is:
If an interrupt is pending within a CPU interface when the corresponding GICD_CTLR.EnableGrpX bit is written from 1 to 0 the interrupt must be retrieved from the CPU interface.
This might have no effect on the forwarded interrupt if it has already been activated. When a write changes the value of ARE for a Security state or the value of the DS bit, the format used for interpreting the remaining bits provided in the write data is the format that applied before the write takes effect.
Component | Frame | Offset | Instance |
---|---|---|---|
GIC Distributor | Dist_base | 0x0000 | GICD_CTLR |
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.