The GIC-600 configures the interrupts that it receives into one of three groups. Each group determines the security status of an interrupt and how it is routed.
The following registers control to what group each interrupt is assigned:
The groups are:
- Group 0.
- Group 1 Secure.
- Group 1 Non-secure.
Each interrupt is programmed to belong to an interrupt group. Each interrupt group:
- Determines the security state for interrupts in that group, depending on the Exception level of the core.
- Has separate enable bits that control whether interrupts in that group can be forwarded to the core.
- Has an impact on later routing decisions in the core interfaces.
When the GIC-600 is set to security disabled, the meaning and number of interrupt groups is affected.
You can specify GIC-600 security by setting the ds_value configuration parameter as follows:
|0||Security enabled (fixed).|
|1||Security disabled (fixed).|
Security is programmable by software during the boot sequence using the GICD_CTLR.DS register.
For more information, see the Arm® Generic Interrupt Controller Architecture Specification, GIC architecture version 3.0 and version 4.0 and the Arm® GICv3 and GICv4 Software Overview.