GICV_ABPR, Virtual Machine Aliased Binary Point Register
The GICV_ABPR characteristics are:
Purpose
Defines the point at which the priority value fields split into two parts, the group priority field and the subpriority field. The group priority field determines Group 1 interrupt preemption.
This register corresponds to GICC_ABPR in the physical CPU interface.
GICH_LR<n>.Group determines whether a virtual interrupt is Group 0 or Group 1.
Configuration
This register is available when the GIC implementation supports interrupt virtualization.
Attributes
GICV_ABPR is a 32-bit register.
Field descriptions
The GICV_ABPR bit assignments are:
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 |
RES0 | Binary_Point |
Bits [31:3]
Reserved, RES0.
Binary_Point, bits [2:0]
Controls how the 8-bit interrupt priority field is split into a group priority field, that determines interrupt preemption, and a subpriority field.
For information about how this field determines the interrupt priority bits assigned to the group priority field, see Priority grouping.
This field resets to 0.
The Binary_Point field of this register is aliased to GICH_VMCR.VBPR1.
Accessing the GICV_ABPR
This register is used only when System register access is not enabled. When System register access is enabled:
- For AArch32 implementations, ICC_BPR1 provides equivalent functionality.
- For AArch64 implementations, ICC_BPR1_EL1 provides equivalent functionality.
The value contained in this register is one greater than the actual applied binary point value, as described in 'Priority grouping' in the GICv3 Architecture Specification.
This register is used for Group 1 interrupts when GICV_CTLR.CBPR == 0. GICV_BPR provides equivalent functionality for Group 0 interrupts, and for Group 1 interrupts when GICV_CTLR.CBPR == 1.
GICV_ABPR can be accessed through the memory-mapped interfaces:
Component | Offset | Instance |
---|---|---|
GIC Virtual CPU interface | 0x001C | GICV_ABPR |
This interface is accessible as follows:
- When GICD_CTLR.DS == 0b0 accesses to this register are RW.
- When IsAccessSecure() accesses to this register are RW.
- When !IsAccessSecure() accesses to this register are RW.