The L4 interconnect provides mechanisms for handling internally detected errors or errors reported by modules attached to the L4 target ports.
Note: L4_IA denotes the IA for all L4 interconnects: L4_PER1, L4_PER2, L4_PER3, L4_CFG, and L4_WKUP.
L4_TA denotes the TA for all L4 interconnects: L4_PER1, L4_PER2, L4_PER3, L4_CFG, and L4_WKUP.
The L4 interconnects handle four types of errors:
- No target core found or address hole, detected and logged at IA
- Unsupported command, detected and logged at IA
- Protection violation, detected and logged at IA (see Section 14.3.3.3, L4 Firewalls)
- Target does not service a request before a time-out expires. The error is detected and logged at TA (see Section 14.3.3.4.2, Time-Out).
Table 14-401 lists the value of the L4_IA_ERROR_LOG_L[25:24] CODE bit field stored when an error occurs.
Table 14-401 L4 CODE Bit Field DefinitionCODE (bits 1:0) | Error Type | REQ_INFO | Secondary | ConnID | CMD |
---|
0 | No error | | | | |
1 | Unsupported command | x | x | x | x |
2 | Address hole | x | x | x | x |
3 | Protection violation | x | | x | x |
- No target core found/address hole: This error indicates that a request was addressed to a hole in the L4 address map. When this error occurs, an in-band error response is returned to the L3 level. The error is also logged into the L4_IA_AGENT_STATUS_L[27] INBAND_ERROR bit. Additionally, an address hole error code is logged to the L4_IA_ERROR_LOG_L[25:24] CODE bit field.
- Unsupported command: This error indicates that the command type of the request is not supported by the accessed target register. The error is logged into the L4_IA_AGENT_STATUS_L[27] INBAND_ERROR bit. An unsupported command error code is written to the L4_IA_ERROR_LOG_L[25:24] CODE bit field for the initiator interface.
- Protection violation: This error indicates that a request is not issued from an allowed initiator member or is issued with the inappropriate ReqInfo qualifiers associated with the target region. This error is reported using an in-band error and is written to the L4_IA_AGENT_STATUS_L[27] INBAND_ERROR bit. A protection violation error code is saved into the L4_IA_ERROR_LOG_L[25:24] CODE bit field for the same initiator interface. A protection violation is also logged in the L4_IA_AGENT_STATUS_L[31] PROT_ERROR_SECONDARY or [30] PROT_ERROR_PRIMARY bit when in debug or applicative mode, respectively.
The L4_IA_ERROR_LOG_L[30] SECONDARY bit indicates whether the error occurred in application or debug.
The L4_IA_ERROR_LOG_H[15:0] REQ_INFO bit field returns the type of access (REQ_INFO qualifier) that caused the error.
The L4_IA_ERROR_LOG_L[13:8] CONNID bit field returns the ID of the initiator that caused the error.
The L4_IA_ERROR_LOG_ADDR_L[31:0] ADDR register logs the address for error conditions.