GICv3Redistributor - trace
This section describes the trace sources.
ArchMsg.Error.GICv3IgnorePPILegacyPendingNoSource
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID of the PPI
ArchMsg.Error.GICv3_UnexpectedClearAcknowledge
Received a ClearAcknowlege command but not expecting one.
ArchMsg.Error.GICv3_UnknownTypeUpstreamWrite
Upstream write of unknown type received. Acknowledging and ignoring.This is a PROTOCOL ERROR, the architecture allows system behaviour to become UNPREDICATBLE from this point onwards.
ArchMsg.Error.LPIConfigReadError
Fields:
ADDRESS
unsigned int- Address used for the access
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
ArchMsg.Error.LPIDeviceWriteError
Fields:
ADDRESS
unsigned int- Address used for the access
ArchMsg.Error.LPIPendingAccessError
Fields:
ADDRESS
unsigned int- Address used for the access
READnWRITE
bool- Whether this is a read or a write
ArchMsg.Info.GICv3_LPI_CachedProperty_Discard
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
ArchMsg.Info.GICv3_LPI_CachedProperty_Update
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
PRIORITY
unsigned int- The priority for the Cached interrupt (unshifted value)
ArchMsg.Warning.GICv3-PITS.DeactivateIgnored
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID in the EOI message
ArchMsg.Warning.GICv3-PITS.TrackActive-NotFound
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID in the Activate message
ArchMsg.Warning.GICv3.GICR_CTLR_EnableLPI_negedge_ignored
Update to GICR_CTLR has EnableLPI as 0, but EnableLPI has been set to 1 in the past, and this bit only goes one way.
ArchMsg.Warning.GICv3.GenerateSGI_A3VnotSupported
GenerateSGI packet received form CPU with A3V set, the Redistributor does not support A3, it will be acknowledged but is ignored.
ArchMsg.Warning.GICv3.GenerateSGI_IRMwithA3VorAff
GenerateSGI packet received form CPU with IRM=1 but A3V or one of the Ax fields is not zero, this packet should not exist but will be handled as if A0=A1=A2=A3=0.
ArchMsg.Warning.GICv3.GenerateSGI_Ignored
GenerateSGI packet received form CPU but ARE_S and ARE_NS are 0 and distributor is configured to ignore such packets.
ArchMsg.Warning.GICv3.PENDBASERUpdateIgnored
Update to PENDBASER when GICR_CTLR.EnableLPI=1 and GICR_WAKER.Quiescent=0 is ignored.
ArchMsg.Warning.GICv3.PROPBASERUpdateIgnored
Update to PROPBASER when GICR_CTLR.EnableLPI=1 and GICR_WAKER.Quiescent=0 is ignored.
ArchMsg.Warning.GICv3.PROPBASERUpdateReadOnly
Update to PROPBASER when register is read only -- Has been ignored and probably won't perform as you would expect.
ArchMsg.Warning.GICv3IgnorePPINotImplemented
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID of the PPI
ArchMsg.Warning.GICv3_A3NonZeroNotSupported
Fields:
A3
unsigned int- Affinity level 3 value.
ArchMsg.Warning.GICv3_CFGSDISABLE_unsupported
CFGSDISABLE signal has been set but doing so has no effect.
ArchMsg.Warning.GICv3_DroppedInternalPacket
Fields:
INTERFACE
unsigned int- Index of the interface
ArchMsg.Warning.GICv3_GICR_WAKER.PROCESSOR_SLEEP clear ignored
GICR_WAKER.PROCESSOR_SLEEP clear ignored as SLEEP is true.
ArchMsg.Warning.GICv3_GICR_WAKER.SLEEP set ignored
GICR_WAKER.SLEEP set ignored as PROCESSOR_SLEEP is not true.
ArchMsg.Warning.GICv3_IgnoredDeactivate
Received Activate packet with unusual payload (8196>ID>1023) and 9:4 == 0 but ARE forbids the packet to be considered.
ArchMsg.Warning.GICv3_IgnoredDeactivateARE
Received Deactivate packet with unusual payload (8196>ID>1023) and 9:4 == 0 but ARE forbids the packet to be considered.
ArchMsg.Warning.GICv3_IgnoredDeactivateSpurious
Received Deactivate packet with a special ID (1020-1023) or an out of range ID.
ArchMsg.Warning.GICv3_LPIDroppedOutOfRange
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
REG_NAME
string- Name of the register being written
ArchMsg.Warning.GICv3_LPI_CachedProperty_CacheMismatch
Fields:
CACHED_CFG
unsigned int- Configuration the cache returned
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
MEMORY_CFG
unsigned int- Configuration present in memory for the LPI
ArchMsg.Warning.GICv3_LPIsDisabled
Fields:
READnWRITE
bool- Whether the access was a read.
REG_NAME
string- Name of the register being accessed.
ArchMsg.Warning.GICv3_MemoryMapped_AccessInIncorrectAREState
Fields:
ARE_NS
bool- Value of GICD_CTLR.ARE_NS.
ARE_S
bool- Value of GICD_CTLR.ARE_S.
NS
bool- Access is non-secure.
READnWRITE
bool- Access is a read (rather than a write).
REG_NAME
string- Name of the register being accessed
ArchMsg.Warning.GICv3_MemoryMapped_IgnoredPendingChange
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID specified in the register access.
IS_PENDING
bool- The current pending state of the interrupt (and what the access attempted to set it to).
REG_NAME
string- Name of the register being accessed.
ArchMsg.Warning.GICv3_MemoryMapped_NSAccessToSecureInterruptIgnored
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID specified in the register access.
REG_NAME
string- Name of the register being accessed.
ArchMsg.Warning.GICv3_MemoryMapped_WriteIgnored
Fields:
REG_FIELD_NAME
string- Name of register and optionally field being written.
VALUE
unsigned int- Value attempting to be written.
ArchMsg.Warning.GICv3_ReceivedInvalidCommandFromAbove
Fields:
ACTUAL_LENGTH
unsigned int- Actual length of the data in bytes including the header.
DATA
unsigned int- The data received (including header).
EXPECTED_LENGTH
unsigned int- The length in bytes including header that was expected to be received dependent on command type and potentially the data type in the case of a data write.
TYPE
unsigned int- The command type.
ArchMsg.Warning.GICv3_ReceivedInvalidCommandFromBelow
Fields:
ACTUAL_LENGTH
unsigned int- Actual length of the data in bytes including the header.
DATA
unsigned int- The data received (including header).
EXPECTED_LENGTH
unsigned int- The length in bytes including header that was expected to be received dependent on command type and potentially the data type in the case of a data write.
REDISTRIBUTOR_INDEX
unsigned int- Index for the downstream port that this command was received on.
TYPE
unsigned int- The command type.
ArchMsg.Warning.GICv3_Redistributor.MemoryMapped_ReadIgnored
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_Redistributor.MemoryMapped_ReadReserved
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_Redistributor.MemoryMapped_ReadWriteOnlyReg
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being read
ArchMsg.Warning.GICv3_Redistributor.MemoryMapped_WriteIgnored
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_Redistributor.MemoryMapped_WriteReadOnlyReg
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being written
VALUE
unsigned int- Value written
ArchMsg.Warning.GICv3_Redistributor.MemoryMapped_WriteReserved
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
VALUE
unsigned int- Value written
ArchMsg.Warning.GICv3_Redistributor_Internal.MemoryMapped_ReadIgnored
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_Redistributor_Internal.MemoryMapped_ReadReserved
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_Redistributor_Internal.MemoryMapped_ReadWriteOnlyReg
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being read
ArchMsg.Warning.GICv3_Redistributor_Internal.MemoryMapped_WriteIgnored
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_Redistributor_Internal.MemoryMapped_WriteReadOnlyReg
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being written
VALUE
unsigned int- Value written
ArchMsg.Warning.GICv3_Redistributor_Internal.MemoryMapped_WriteReserved
Fields:
OFFSET
unsigned int- Offset of address within the GICv3 module
VALUE
unsigned int- Value written
ArchMsg.Warning.GICv3_ReleasedNotSent
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID of the interrupt considered
ArchMsg.Warning.GICv3_SGIDiscardedDueToInvalidTarget
Fields:
A1
unsigned int- Affinity level 1.
A2
unsigned int- Affinity level 2.
A3
unsigned int- Affinity level 3.
INTERRUPT_ID
unsigned int- The ID of the SGI.
RANGE_SELECTOR
unsigned int- Value of the RS field used for generating the SGI if applicable, SBZ otherwise
TARGET_LIST
unsigned int- Bit vector of targets.
ArchMsg.Warning.GICv3_SGIRSNotSupported
IRI received Generate SGI packet from CPU with RSV=1 and RS non-zeroand the IRI does not support this feature. RS treated as 0.
ArchMsg.Warning.GICv3_SGI_Dropped
Fields:
ENABLED
bool- Whether the SGI is enable in the destination CPU.
INTERRUPT_G1
bool- Whether the SGI is configured as group 1 in this redistributor.
INTERRUPT_ID
unsigned int- The interrupt ID of the SPI
INTERRUPT_NS
bool- Whether the SGI is configured as non-secure in this redistributor.
LEGACY
bool- IS the SGI a legacy type interrupt
NS
bool- Original register access was non-secure.
NSACR
unsigned int- The value of the NSACR field for the SGI
SGT
enum- The SGT field in the incoming GenerateSGI packet (corresponds to the ICC register that was written).
ArchMsg.Warning.GICv3_SGI_GICD_SGIR_BRoadcast_Dropped
Fields:
ENABLED
bool- Whether the SGI is enable in the destination CPU.
INTERRUPT_G1
bool- Whether the SGI is configured as group 1 in this redistributor.
INTERRUPT_ID
unsigned int- The interrupt ID of the SPI
INTERRUPT_NS
bool- Whether the SGI is configured as non-secure in this redistributor.
NS
bool- Original register access was non-secure.
NSACR
unsigned int- The value of the NSACR field for the SGI
ArchMsg.Warning.GICv3_SPIDropped
Fields:
A0
unsigned int- Affinity level 0 address
A1
unsigned int- Affinity level 1 address
A2
unsigned int- Affinity level 2 address
A3
unsigned int- Affinity level 3 address
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
ArchMsg.Warning.GICv3_VLPIDroppedOutOfRange
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
REG_NAME
string- Name of the register being written
VPT
unsigned int- The address of the virtual pending table
ArchMsg.Warning.GICv3_VLPIsDisabled
Fields:
READnWRITE
bool- Whether the access was a read.
REG_NAME
string- Name of the register being accessed.
ArchMsg.Warning.GICv3_WakerequestIgnored
Wakerequest was asserted but the component is not asleep.
ArchMsg.Warning.GICv3_access_asleep_rd
Fields:
REG_NAME
string- Name of the register being accessed.
GICv3-PITS.TrackActive
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID of the interrupt considered
PRIORITY
unsigned int- The interrupt Priority of the interrupt considered
GICv3-PITS.TrackPending
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID of the interrupt considered
PRIORITY
unsigned int- The interrupt Priority of the interrupt considered
GICv3-PITS.TrackSent
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID of the interrupt considered
PRIORITY
unsigned int- The interrupt Priority of the interrupt considered
GICv3_CFGSDISABLE
Fields:
STATE
bool- The new state of the signal.
GICv3_ClearDropped
Fields:
A0
unsigned int- Affinity level 0 address
A1
unsigned int- Affinity level 1 address
A2
unsigned int- Affinity level 2 address
A3
unsigned int- Affinity level 3 address
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
GICv3_InterruptSetPendingButGroupNotEnabled
Fields:
GROUP1
bool- Whether the interrupt is group 1.
INTERRUPT_ID
unsigned int- The interrupt ID that was set pending.
NS
bool- Whether the interrupt is non-secure.
GICv3_InterruptSetReservedGroup
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID that was set pending.
GICv3_LPI_PendingUpdate
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
SETnCLEAR
bool- Whether this is a set (true) or a clear(false)
GICv3_LPI_PendingUpdateIgnoredAsDisabled
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID for the (V)LPI
SETnCLEAR
bool- Whether this is a set (true) or a clear(false)
GICv3_LPI_PendingUpdateIgnoredAsMoving
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
SETnCLEAR
bool- Whether this is a set (true) or a clear(false)
GICv3_LPI_PendingUpdateIgnoredAsNoChange
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID for the LPI
SETnCLEAR
bool- Whether this is a set (true) or a clear(false)
GICv3_PPISignalChanged
Fields:
INTERRUPT_ID
unsigned int- The interrupt ID for the PPI.
STATE
bool- The new state of the signal.
GICv3_Redistributor.MemoryMapped_Read
Trace read from a GICv3 memory-mapped register. Fields:
A0
unsigned int- Affinity level 0 (for banked registers)
A1
unsigned int- Affinity level 1 (for banked registers)
A2
unsigned int- Affinity level 2 (for banked registers)
A3
unsigned int- Affinity level 3 (for banked registers)
BANKED
bool- Whether the access is to a banked register
NS
bool- Access is non-secure
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being read
VALUE
unsigned int- Value returned
GICv3_Redistributor.MemoryMapped_Read64
Trace read from a GICv3 memory-mapped register. Fields:
A0
unsigned int- Affinity level 0 (for banked registers)
A1
unsigned int- Affinity level 1 (for banked registers)
A2
unsigned int- Affinity level 2 (for banked registers)
A3
unsigned int- Affinity level 3 (for banked registers)
BANKED
bool- Whether the access is to a banked register
NS
bool- Access is non-secure
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being read
VALUE
unsigned int- Value returned
GICv3_Redistributor.MemoryMapped_Write
Trace write to a GICv3 memory-mapped register. Fields:
A0
unsigned int- Affinity level 0 (for banked registers)
A1
unsigned int- Affinity level 1 (for banked registers)
A2
unsigned int- Affinity level 2 (for banked registers)
A3
unsigned int- Affinity level 3 (for banked registers)
BANKED
bool- Whether the access is to a banked register
NS
bool- Access is non-secure
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being written
UPDATED_VALUE
unsigned int- New value read back from the register; for write-only registers this will be equal to VALUE.
VALUE
unsigned int- Value written
GICv3_Redistributor.MemoryMapped_Write64
Trace write to a GICv3 memory-mapped register. Fields:
A0
unsigned int- Affinity level 0 (for banked registers)
A1
unsigned int- Affinity level 1 (for banked registers)
A2
unsigned int- Affinity level 2 (for banked registers)
A3
unsigned int- Affinity level 3 (for banked registers)
BANKED
bool- Whether the access is to a banked register
NS
bool- Access is non-secure
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being written
UPDATED_VALUE
unsigned int- New value read back from the register; for write-only registers this will be equal to VALUE.
VALUE
unsigned int- Value written
GICv3_Redistributor_Comms_ReceiveAbove
GICv3 internal communications packet that has been received and is traveling towards the CPU. Fields:
COMMAND
enum- The command type for this packet
DATA
unsigned int- The data (including header) contained within this packet
DATA_LENGTH
unsigned int- Number of bytes in the data (including header)
GICv3_Redistributor_Comms_ReceiveBelow
GICv3 internal communications packet that has been received and is traveling towards the top-level. Fields:
COMMAND
enum- The command type for this packet
DATA
unsigned int- The data (including header) contained within this packet
DATA_LENGTH
unsigned int- Number of bytes in the data (including header)
INDEX
unsigned int- Index for the redistributor at the lower level from which this packet is being sent. Not applicable for sends from CPU interface to RD0.
GICv3_Redistributor_Comms_SendAbove
GICv3 internal communications packet that is being sent towards the top-level. Fields:
COMMAND
enum- The command type for this packet
DATA
unsigned int- The data (including header) contained within this packet
DATA_LENGTH
unsigned int- Number of bytes in the data (including header)
GICv3_Redistributor_Comms_SendBelow
GICv3 internal communications packet that is being sent towards the CPU. Fields:
COMMAND
enum- The command type for this packet
DATA
unsigned int- The data (including header) contained within this packet
DATA_LENGTH
unsigned int- Number of bytes in the data (including header)
INDEX
unsigned int- Index for the redistributor at the lower level from which this packet is being sent. Not applicable for sends from CPU interface to RD0.
GICv3_Redistributor_Internal.MemoryMapped_Read
Trace read from a GICv3 memory-mapped register. Fields:
A0
unsigned int- Affinity level 0 (for banked registers)
A1
unsigned int- Affinity level 1 (for banked registers)
A2
unsigned int- Affinity level 2 (for banked registers)
A3
unsigned int- Affinity level 3 (for banked registers)
BANKED
bool- Whether the access is to a banked register
NS
bool- Access is non-secure
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being read
VALUE
unsigned int- Value returned
GICv3_Redistributor_Internal.MemoryMapped_Read64
Trace read from a GICv3 memory-mapped register. Fields:
A0
unsigned int- Affinity level 0 (for banked registers)
A1
unsigned int- Affinity level 1 (for banked registers)
A2
unsigned int- Affinity level 2 (for banked registers)
A3
unsigned int- Affinity level 3 (for banked registers)
BANKED
bool- Whether the access is to a banked register
NS
bool- Access is non-secure
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being read
VALUE
unsigned int- Value returned
GICv3_Redistributor_Internal.MemoryMapped_Write
Trace write to a GICv3 memory-mapped register. Fields:
A0
unsigned int- Affinity level 0 (for banked registers)
A1
unsigned int- Affinity level 1 (for banked registers)
A2
unsigned int- Affinity level 2 (for banked registers)
A3
unsigned int- Affinity level 3 (for banked registers)
BANKED
bool- Whether the access is to a banked register
NS
bool- Access is non-secure
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being written
UPDATED_VALUE
unsigned int- New value read back from the register; for write-only registers this will be equal to VALUE.
VALUE
unsigned int- Value written
GICv3_Redistributor_Internal.MemoryMapped_Write64
Trace write to a GICv3 memory-mapped register. Fields:
A0
unsigned int- Affinity level 0 (for banked registers)
A1
unsigned int- Affinity level 1 (for banked registers)
A2
unsigned int- Affinity level 2 (for banked registers)
A3
unsigned int- Affinity level 3 (for banked registers)
BANKED
bool- Whether the access is to a banked register
NS
bool- Access is non-secure
OFFSET
unsigned int- Offset of address within the GICv3 module
REG_NAME
string- Name of the register being written
UPDATED_VALUE
unsigned int- New value read back from the register; for write-only registers this will be equal to VALUE.
VALUE
unsigned int- Value written
GICv3_RegUpdated32
Fields:
REG_NAME
string- The name of the register being updated.
VALUE
unsigned int- The updated value.
GICv3_RegUpdated64
Fields:
REG_NAME
string- The name of the register being updated.
VALUE
unsigned int- The updated value.
GICv3_TraceWakeRequest
Fields:
INTERFACE
unsigned int- Index of the interface
SETnCLEAR
bool- Whether the signal is set(true) or cleared (false)