This section describes the trace sources.
ArchMsg.Error.GICv3_UnknownDownstreamWrite
Distributor sent a DownstreamWrite packet with unsupported format. Acknowledging and ignoring. This is a PROTOCOL ERROR, the architecture allows system behaviour to become UNPREDICATBLE from this point onwards.
ArchMsg.Warning.GICv3.Invalidv4Inv3onlyModePacket
GICv4 packet received by GICv3-only interface. Fields:
PACKET
string
- The name of the invalid packet
ArchMsg.Warning.GICv3_AttemptedToDeactivateLPI
Attempt to deactivate an LPI. Fields:
INTERRUPT_ID
unsigned int
- Interrupt ID that the write attempted to end.
VIRTUAL
bool
- Access was to virtual interface.
ArchMsg.Warning.GICv3_AttemptedToDeactivateNonExistentInterrupt
Attempt to deactive a non-existent interrupt. Fields:
CPUID
unsigned int
- CPU ID specified in end request.
INTERRUPT_ID
unsigned int
- Interrupt ID that the write attempted to end.
NS
bool
- Access was non-secure.
ArchMsg.Warning.GICv3_AttemptedToDeactivateSpuriousInterrupt
Attempt to deactivate a spurious interrupt. Fields:
CPUID
unsigned int
- CPU ID (probably 0, but included for completeness).
GICC_REGISTER
bool
- Access was to GICC register (rather than ICC register).
NS
bool
- Access was non-secure.
SPURIOUS_INTERRUPT_ID
unsigned int
- Interrupt ID that the write attempted to end.
VIRTUAL
bool
- Access was to virtual interface.
ArchMsg.Warning.GICv3_AttemptedToEndNonExistentInterrupt
A write has attempted to end a non-existent interrupt. Fields:
CPUID
unsigned int
- CPU ID specified in end request.
INTERRUPT_ID
unsigned int
- Interrupt ID that the write attempted to end.
NS
bool
- Access was non-secure.
VIRTUAL
bool
- Access was to virtual interface.
ArchMsg.Warning.GICv3_AttemptedToEndSpuriousInterrupt
A write has attempted to end a spurious interrupt. Fields:
CPUID
unsigned int
- CPU ID (probably 0, but included for completeness).
NS
bool
- Access was non-secure.
SPURIOUS_INTERRUPT_ID
unsigned int
- Interrupt ID that the write attempted to end.
VIRTUAL
bool
- Whether the access was virtual.
ArchMsg.Warning.GICv3_AttemptedToWriteDIRRegisterWhenEOImodeNotSet
Unexpected write to DIR register when EOImode not set. Fields:
CPUID
unsigned int
- CPU ID (probably 0, but included for completeness).
GICC_REGISTER
bool
- Access was to GICC register (rather than ICC register).
INTERRUPT_ID
unsigned int
- Interrupt ID that the write attempted to deactivate.
NS
bool
- Access was non-secure.
VIRTUAL
bool
- Access was to virtual interface.
ArchMsg.Warning.GICv3_CFGSDISABLE_unsupported
CFGSDISABLE signal has been set but doing so has no effect.
ArchMsg.Warning.GICv3_CPUInterface.GICC.MemoryMapped_ReadIgnored
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_CPUInterface.GICC.MemoryMapped_ReadReserved
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_CPUInterface.GICC.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_CPUInterface.GICC.MemoryMapped_WriteIgnored
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_CPUInterface.GICC.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_CPUInterface.GICC.MemoryMapped_WriteReserved
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
VALUE
unsigned int
- Value written
ArchMsg.Warning.GICv3_CPUInterface.GICH.MemoryMapped_ReadIgnored
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_CPUInterface.GICH.MemoryMapped_ReadReserved
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_CPUInterface.GICH.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_CPUInterface.GICH.MemoryMapped_WriteIgnored
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_CPUInterface.GICH.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_CPUInterface.GICH.MemoryMapped_WriteReserved
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
VALUE
unsigned int
- Value written
ArchMsg.Warning.GICv3_CPUInterface.GICV.MemoryMapped_ReadIgnored
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_CPUInterface.GICV.MemoryMapped_ReadReserved
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_CPUInterface.GICV.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_CPUInterface.GICV.MemoryMapped_WriteIgnored
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
ArchMsg.Warning.GICv3_CPUInterface.GICV.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_CPUInterface.GICV.MemoryMapped_WriteReserved
Fields:
OFFSET
unsigned int
- Offset of address within the GICv3 module
VALUE
unsigned int
- Value written
ArchMsg.Warning.GICv3_DeactivateInterruptNotSent
Write to EOI/DIR register could not trigger a deactivate. Fields:
ACCESS_NS
bool
- Access was non-secure.
CPUID
unsigned int
- CPU ID specified in end request.
GROUP_1
bool
- Interrupt is a group-1 interrupt.
INTERRUPT_ID
unsigned int
- Interrupt ID that the write is ending.
INTERRUPT_NS
bool
- Interrupt is a non-secure interrupt.
ArchMsg.Warning.GICv3_EndInterruptIDMismatch
Interrupt ID mismatch. Fields:
END_INTERRUPT_ID
unsigned int
- Interrupt ID that the write is ending.
NS
bool
- Access was non-secure.
SPECIFED_INTERRUPT_ID
unsigned int
- Interrupt ID that was specified by the register write.
ArchMsg.Warning.GICv3_EndInterruptNotHighestPriority
An interrupt which is not the highest-priority one has been ended. Fields:
CPUID
unsigned int
- CPU ID specified in end request.
INTERRUPT_ID
unsigned int
- Interrupt ID that the write is ending.
LATEST_CPUID
unsigned int
- CPU ID for the interrupt that was last acknowledged.
LATEST_INTERRUPT_ID
unsigned int
- Interrupt ID of the interrupt that was last acknowledged.
NS
bool
- Access was non-secure.
ArchMsg.Warning.GICv3_EndVirtualInterruptNotAllowed
Invalid attempt to end a virtual interrupt. Fields:
ACTIVE
bool
- Matched list register (and virtual interrupt) is active.
GROUP_1
bool
- Matched list register is for a group-1 interrupt.
INTERRUPT_ID
unsigned int
- Interrupt ID that the write is ending.
PRIORITY
unsigned int
- Priority of the virtual interrupt.
ArchMsg.Warning.GICv3_EndVirtualInterruptNotHighestPriority
Attempt to end a virtual interrupt that is not the highest priority one. Fields:
CPUID
unsigned int
- CPU ID specified in end request.
GROUP_1
bool
- Interrupt is a group-1 interrupt.
HIGHEST_PRIORITY
unsigned int
- Priority of highest priority active interrupt.
INTERRUPT_ID
unsigned int
- Interrupt ID that the write is ending.
INTERRUPT_PRIORITY
unsigned int
- Priority level of this interrupt.
PRIORITY
unsigned int
- Priority of the virtual interrupt.
ArchMsg.Warning.GICv3_ICC_InterruptIDExceedsSupportedSize
InterruptID raw value too large. Fields:
MASKEDVALUE
unsigned int
- The interrupt ID which was understood
REG
string
- The name of the register written with the value
VALUE
unsigned int
- The written value
ArchMsg.Warning.GICv3_ICH_LR_UnpredictableHWInterruptID
ICH_LR programmed to be associated with an UNPREDICTABLE hw interrupt. Fields:
INTERRUPT_ID
unsigned int
- The hardware interrupt ID set in the LR register.
IS_GICH_REG
bool
- The register being programmed is GICH_LRn (rather than ICH_LRn).
LR_NUM
unsigned int
- The GICH_LRn register written.
LR_VALUE
unsigned int
- The value now written to the LR register.
ArchMsg.Warning.GICv3_InvalidRegAccessForLPI
Invalid register access for LPI. Fields:
REG
string
- The name of the register written with the value
VALUE
unsigned int
- LPI interrupt id
ArchMsg.Warning.GICv3_ReceiveClearDoesntMatchPending
Distributor attempted to clear an interrupt which isn't the pending one. Fields:
CLEAR_INTERRUPT_ID
unsigned int
- Interrupt ID that the distributor is attempting to clear.
PENDING_INTERRUPT_ID
unsigned int
- Interrupt ID that is pending.
ArchMsg.Warning.GICv3_ReceiveClearWhenNoInterruptPending
Attempt to clear an interrupt when no interrupt is pending. Fields:
INTERRUPT_ID
unsigned int
- Interrupt ID that the distributor is attempting to clear.
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_SGI_RSS_unsupported_upredictable
RSS field non zero in SGI generation when the IRI does not advertise support!.
ArchMsg.Warning.GICv3_UnexpectedAck
Unexpected command received from distributor. Fields:
COMMAND
enum
- The command type received.
ArchMsg.Warning.GICv3_WriteIgnoredConfiguration
A register write has been ignored. Fields:
REG_NAME
string
- Name of register being read or written.
VALUE
unsigned int
- Value attempting to be written.
GICv3_CFGSDISABLE
Fields:
STATE
bool
- The new state of the signal.
GICv3_CPUInterface.GICC.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_CPUInterface.GICC.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_CPUInterface.GICC.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_CPUInterface.GICC.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_CPUInterface.GICH.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_CPUInterface.GICH.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_CPUInterface.GICH.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_CPUInterface.GICH.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_CPUInterface.GICV.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_CPUInterface.GICV.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_CPUInterface.GICV.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_CPUInterface.GICV.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_CPUInterface_Comms_Receive
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_CPUInterface_Comms_Send
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_CreateInterruptAPRWrite
An active interrupt has been created by a write to APR. Fields:
GROUP_1
bool
- Whether the interrupt is created as group 1.
NS_REG
bool
- Whether the access was through GICC_NSAPR.
PRIORITY
unsigned int
- Priority of the interrupt being created.
GICv3_DeactivateInterrupt
Trace writes to EOI/DIR registers that deactivate an interrupt. Fields:
ACCESS_NS
bool
- Access was non-secure.
CPUID
unsigned int
- CPU ID specified in end request.
GROUP_1
bool
- Interrupt is a group-1 interrupt.
INTERRUPT_ID
unsigned int
- Interrupt ID that the write is ending.
INTERRUPT_NS
bool
- Interrupt is a non-secure interrupt.
GICv3_EndInterrupt
Trace writes to GICC_EOIR or GICC_AEOIR that end an interrupt. Fields:
CPUID
unsigned int
- CPU ID specified in end request.
DEACTIVATE
bool
- Interrupt is deactivated (rather than requiring a separate DIR request); will never be true for LPIs.
GROUP_1
bool
- Interrupt is a group-1 interrupt.
INTERRUPT_ID
unsigned int
- Interrupt ID that the write is ending.
NS
bool
- Access was non-secure.
GICv3_EndInterruptAPRWrite
An interrupt has been deactivated because of a write to the priority register. Fields:
INTERRUPT_ID
unsigned int
- Interrupt ID that the write is ending.
NS_REG
bool
- Whether the access was through GICC_NSAPR.
PRIORITY
unsigned int
- Priority of the interrupt being deactivated.
GICv3_ICH_MISR_Changed
Change of ICH_MISR register. Fields:
VALUE
unsigned int
- The new value for ICH_MISR.
GICv3_IRQBypassSignalIn
An interrupt bypass signal has changed state. Fields:
IS_FIQ
bool
- Whether the signal in question is the FIQ signal (rather than the IRQ).
VALUE
bool
- New value for the signal (i.e. whether it is set).
GICv3_IRQLegacySignalOut
An output legacy interrupt signal has changed state. Fields:
IS_FIQ
bool
- Whether the signal in question is the FIQ signal (rather than the IRQ).
VALUE
bool
- New value for the signal (i.e. whether it is set).
GICv3_IRQSignalOut
An interrupt signal has changed state. Fields:
IS_FIQ
bool
- Whether the signal in question is the FIQ signal (rather than the IRQ).
VALUE
bool
- New value for the signal (i.e. whether it is set).
VIRTUAL
bool
- Whether we're changing the virtual signal.
GICv3_InterfaceQuiesced
Event fires when the CPU interface is quiesced (Quiesce Acknowledge command sent to distributor).
GICv3_MaintenanceInterruptChanged
Change of state of maintenance interrupt. Fields:
STATE
bool
- Whether the maintenance interrupt was set or cleared.
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.