4.72 GICv3CPUInterface - trace

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.
Non-ConfidentialPDF file icon PDF version100964_1142_00_en
Copyright © 2014–2018 Arm Limited or its affiliates. All rights reserved.