GITS_TYPER, ITS Type Register
The GITS_TYPER characteristics are:
Specifies the features that an ITS supports.
GITS_TYPER is a 64-bit register.
The GITS_TYPER bit assignments are:
MPAM, bit 
When GIC, >=3.1 is implemented:
When GIC, >=3.1 is implemented:
MPAM not supported.
VMOVP, bit 
Indicates the form of the VMOVP command.
When moving a vPE, software must issue a VMOVP on all ITSs that have mappings for that vPE. The ITSList and Sequence Number fields in the VMOVP command must ensure synchronization, otherwise behavior is UNPREDICTABLE.
When moving a vPE, software must only issue a VMOVP on one of the ITSs that has a mapping for that vPE. The ITSList and Sequence Number fields in the VMOVP command are RES0.
CIL, bit 
Collection ID Limit.
ITS supports 16-bit Collection ID, GITS_TYPER.CIDbits is RES0.
GITS_TYPER.CIDbits indicates supported Collection ID size
In implementations that do not support Collections in external memory, this bit is RES0 and the number of Collections supported is reported by GITS_TYPER.HCC.
CIDbits, bits [35:32]
Number of Collection ID bits.
- The number of bits of Collection ID - 1.
- When GITS_TYPER.CIL==0, this field is RES0.
HCC, bits [31:24]
Hardware Collection Count. The number of interrupt collections supported by the ITS without provisioning of external memory.
Collections held in hardware are unmapped at reset.
PTA, bit 
Physical Target Addresses. Indicates the format of the target address:
The target address corresponds to the PE number specified by GICR_TYPER.Processor_Number.
The target address corresponds to the base physical address of the required Redistributor.
See Target addresses for more information.
SEIS, bit 
SEI support. Indicates whether the virtual CPU interface supports generation of SEIs:
The ITS does not support local generation of SEIs.
The ITS supports local generation of SEIs.
Devbits, bits [17:13]
The number of DeviceID bits implemented, minus one.
ID_bits, bits [12:8]
The number of EventID bits implemented, minus one.
ITT_entry_size, bits [7:4]
Read-only. Indicates the number of bytes per translation table entry, minus one.
See the ITS command 'MAPD' for more information.
IMPLEMENTATION DEFINED, bit 
CCT, bit 
Cumulative Collection Tables.
The total number of supported collections is determined by the number of collections held in memory only.
The total number of supported collections is determined by number of collections that are held in memory and the number indicated by GITS_TYPER.HCC.
If GITS_TYPER.HCC==0, or if memory backed collections are not supported (all GITS_BASER<n>.Type != 100), this bit is RES0.
Virtual, bit 
Indicates whether the ITS supports virtual LPIs and direct injection of virtual LPIs:
The ITS does not support virtual LPIs or direct injection of virtual LPIs.
The ITS supports virtual LPIs and direct injection of virtual LPIs.
This field is RES0 in GICv3 implementations.
Physical, bit 
Indicates whether the ITS supports physical LPIs:
The ITS does not support physical LPIs.
The ITS supports physical LPIs.
This field is RES1, indicating that the ITS supports physical LPIs.
Accessing the GITS_TYPER
GITS_TYPER can be accessed through the memory-mapped interfaces:
|GIC ITS control||0x0008||GITS_TYPER|
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.