GICV_RPR, Virtual Machine Running Priority Register
The GICV_RPR characteristics are:
This register indicates the running priority of the virtual CPU interface.
This register corresponds to the physical CPU interface register GICC_RPR.
This register is available when the GIC implementation supports interrupt virtualization.
GICV_RPR is a 32-bit register.
The GICV_RPR bit assignments are:
Priority, bits [7:0]
The current running priority on the virtual CPU interface. This is the group priority of the current active interrupt.
If there are no active interrupts on the CPU interface, or all active interrupts have undergone a priority drop, the value returned is the Idle priority.
The priority returned is the group priority as if the BPR was set to the minimum value.
Accessing the GICV_RPR
This register is used only when System register access is not enabled. When System register access is enabled:
- For AArch32 implementations, ICC_RPR provides equivalent functionality.
- For AArch64 implementations, ICC_RPR_EL1 provides equivalent functionality.
Depending on the implementation, if no bits are set to 1 in GICH_APR<n>, indicating no active virtual interrupts in the virtual CPU interface, the priority reads as 0xFF or 0xF8 to reflect the number of supported interrupt priority bits defined by GICH_VTR.PRIbits.
GICV_RPR can be accessed through the memory-mapped interfaces:
|GIC Virtual CPU interface||0x0014||GICV_RPR|
This interface is accessible as follows:
- When GICD_CTLR.DS == 0b0 access to this register is RO.
- When IsAccessSecure() access to this register is RO.
- When !IsAccessSecure() access to this register is RO.