Header file contains enumerations, structure definitions and function.
Go to the source code of this file.
Data Structures | |
struct | SDL_ECC_InitConfig_t |
struct | SDL_ECC_InjectErrorConfig_t |
struct | SDL_ECC_ErrorInfo_t |
Macros | |
#define | SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK0_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_ATCM0_BANK0_RAM_ID) |
Select memory subtype ATCM0 BANK0. More... | |
#define | SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK1_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_ATCM0_BANK1_RAM_ID) |
Select memory subtype ATCM0 BANK1. More... | |
#define | SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK0_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B0TCM0_BANK0_RAM_ID) |
Select memory subtype B0TCM0 BANK0. More... | |
#define | SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK1_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B0TCM0_BANK1_RAM_ID) |
Select memory subtype B0TCM0 BANK1. More... | |
#define | SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK0_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B1TCM0_BANK0_RAM_ID) |
Select memory subtype B1TCM0 BANK0. More... | |
#define | SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK1_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B1TCM0_BANK1_RAM_ID) |
Select memory subtype B1TCM0 BANK1. More... | |
#define | SDL_ECC_R5F_MEM_SUBTYPE_KS_VIM_RAM_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_CPU0_KS_VIM_RAMECC_RAM_ID) |
Select memory subtype VIM RAM. More... | |
Typedefs | |
typedef uint32_t | SDL_ECC_MemType |
This enumerator indicate ECC memory type. More... | |
typedef uint32_t | SDL_ECC_MemSubType |
This enumerator indicate ECC memory Sub Type. More... | |
typedef void(* | SDL_ECC_ErrorCallback_t) (uint32_t errorSrc, uint32_t address) |
typedef void(* | SDL_ECC_VIMDEDVector_t) (void) |
Enumerations | |
enum | SDL_ECC_AggregatorType { SDL_ECC_AGGR_TYPE_INJECT_ONLY = 1, SDL_ECC_AGGR_TYPE_FULL_FUNCTION = 2 } |
enum | SDL_ECC_InjectErrorType { SDL_INJECT_ECC_NO_ERROR = 0, SDL_INJECT_ECC_ERROR_FORCING_1BIT_ONCE = 1, SDL_INJECT_ECC_ERROR_FORCING_2BIT_ONCE = 2, SDL_INJECT_ECC_ERROR_FORCING_1BIT_N_ROW_ONCE = 3, SDL_INJECT_ECC_ERROR_FORCING_2BIT_N_ROW_ONCE = 4, SDL_INJECT_ECC_ERROR_FORCING_1BIT_REPEAT = 5, SDL_INJECT_ECC_ERROR_FORCING_2BIT_REPEAT = 6, SDL_INJECT_ECC_ERROR_FORCING_1BIT_N_ROW_REPEAT = 7, SDL_INJECT_ECC_ERROR_FORCING_2BIT_N_ROW_REPEAT = 8 } |
ECC Inject error types. More... | |
enum | SDL_ECC_RamIdType { SDL_ECC_RAM_ID_TYPE_WRAPPER = 0, SDL_ECC_RAM_ID_TYPE_INTERCONNECT = 1 } |
Functions | |
int32_t | SDL_ECC_initEsm (const SDL_ESM_Inst esmInstType) |
Initializes an module for usage with ECC module. More... | |
int32_t | SDL_ECC_init (SDL_ECC_MemType eccMemType, const SDL_ECC_InitConfig_t *pECCInitConfig) |
Initializes ECC module for ECC detection. More... | |
int32_t | SDL_ECC_initMemory (SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType) |
Initializes Memory to be ready for ECC error detection. Assumes ECC is already enabled. More... | |
int32_t | SDL_ECC_selfTest (SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType, SDL_ECC_InjectErrorType errorType, const SDL_ECC_InjectErrorConfig_t *pECCErrorConfig, uint32_t selfTestTimeOut) |
Runs self test by injecting and error and monitor response Assumes ECC is already enabled. More... | |
int32_t | SDL_ECC_injectError (SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType, SDL_ECC_InjectErrorType errorType, const SDL_ECC_InjectErrorConfig_t *pECCErrorConfig) |
Injects ECC error at specified location Assumes ECC is already enabled. More... | |
int32_t | SDL_ECC_getStaticRegisters (SDL_ECC_MemType eccMemType, SDL_ECC_staticRegs *pStaticRegs) |
Gets the static registers for the specified ECC instance. More... | |
int32_t | SDL_ECC_getErrorInfo (SDL_ECC_MemType eccMemType, SDL_Ecc_AggrIntrSrc intrSrc, SDL_ECC_ErrorInfo_t *pErrorInfo) |
Retrieves the ECC error information for the specified memtype and interrupt source. More... | |
int32_t | SDL_ECC_ackIntr (SDL_ECC_MemType eccMemType, SDL_Ecc_AggrIntrSrc intrSrc) |
Acknowledge the ECC interrupt. More... | |
int32_t | SDL_ECC_getESMErrorInfo (SDL_ESM_Inst instance, uint32_t intSrc, SDL_ECC_MemType *eccMemType, SDL_Ecc_AggrIntrSrc *intrSrcType) |
Retrieves the ECC error information for the specified ESM error. If it isn't an ECC error or the ECC error is not supported an error is returned. More... | |
int32_t | SDL_ECC_clearNIntrPending (SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType, SDL_Ecc_AggrIntrSrc intrSrc, SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents) |
Clears N pending interrupts for the specified memtype, subtype and interrupt source. More... | |
void | SDL_ECC_applicationCallbackFunction (SDL_ECC_MemType eccMemType, uint32_t errorSrc, uint32_t address, uint32_t ramId, uint64_t bitErrorOffset, uint32_t bitErrorGroup) |
Application provided external callback function for ECC handling Called inside the reference functions when ECC errors occur. NOTE: This is application supplied and not part of the SDL If not supplied by application this will result in an linker error. More... | |
#define SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK0_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_ATCM0_BANK0_RAM_ID) |
Select memory subtype ATCM0 BANK0.
#define SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK1_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_ATCM0_BANK1_RAM_ID) |
Select memory subtype ATCM0 BANK1.
#define SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK0_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B0TCM0_BANK0_RAM_ID) |
Select memory subtype B0TCM0 BANK0.
#define SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK1_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B0TCM0_BANK1_RAM_ID) |
Select memory subtype B0TCM0 BANK1.
#define SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK0_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B1TCM0_BANK0_RAM_ID) |
Select memory subtype B1TCM0 BANK0.
#define SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK1_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B1TCM0_BANK1_RAM_ID) |
Select memory subtype B1TCM0 BANK1.
#define SDL_ECC_R5F_MEM_SUBTYPE_KS_VIM_RAM_VECTOR_ID (SDL_R5FSS0_CORE0_ECC_AGGR_CPU0_KS_VIM_RAMECC_RAM_ID) |
Select memory subtype VIM RAM.
typedef uint32_t SDL_ECC_MemType |
This enumerator indicate ECC memory type.
typedef uint32_t SDL_ECC_MemSubType |
This enumerator indicate ECC memory Sub Type.
typedef void(* SDL_ECC_ErrorCallback_t) (uint32_t errorSrc, uint32_t address) |
/brief Format of ECC error Call back function
typedef void(* SDL_ECC_VIMDEDVector_t) (void) |
/brief Format of VIM DED vector function
ECC Inject error types.
enum SDL_ECC_RamIdType |
int32_t SDL_ECC_initEsm | ( | const SDL_ESM_Inst | esmInstType | ) |
Initializes an module for usage with ECC module.
============================================================================*
esmInstType | Instance of |
int32_t SDL_ECC_init | ( | SDL_ECC_MemType | eccMemType, |
const SDL_ECC_InitConfig_t * | pECCInitConfig | ||
) |
Initializes ECC module for ECC detection.
============================================================================*
eccMemType | ECC memory type |
pECCInitConfig | Pointer to Ecc init configuration |
int32_t SDL_ECC_initMemory | ( | SDL_ECC_MemType | eccMemType, |
SDL_ECC_MemSubType | memSubType | ||
) |
Initializes Memory to be ready for ECC error detection. Assumes ECC is already enabled.
============================================================================
eccMemType | ECC memory type |
memSubType | Memory subtype |
int32_t SDL_ECC_selfTest | ( | SDL_ECC_MemType | eccMemType, |
SDL_ECC_MemSubType | memSubType, | ||
SDL_ECC_InjectErrorType | errorType, | ||
const SDL_ECC_InjectErrorConfig_t * | pECCErrorConfig, | ||
uint32_t | selfTestTimeOut | ||
) |
Runs self test by injecting and error and monitor response Assumes ECC is already enabled.
============================================================================
eccMemType | ECC memory type |
memSubType | Memory subtype |
errorType | ECC Self test type |
pECCErrorConfig | Pointer to Error configuration |
selfTestTimeOut | Number of retries before time out |
int32_t SDL_ECC_injectError | ( | SDL_ECC_MemType | eccMemType, |
SDL_ECC_MemSubType | memSubType, | ||
SDL_ECC_InjectErrorType | errorType, | ||
const SDL_ECC_InjectErrorConfig_t * | pECCErrorConfig | ||
) |
Injects ECC error at specified location Assumes ECC is already enabled.
============================================================================
eccMemType | ECC memory type |
memSubType | Memory subtype |
errorType | ECC error type |
pECCErrorConfig | Pointer to Error configuration |
int32_t SDL_ECC_getStaticRegisters | ( | SDL_ECC_MemType | eccMemType, |
SDL_ECC_staticRegs * | pStaticRegs | ||
) |
Gets the static registers for the specified ECC instance.
============================================================================
eccMemType | ECC memory type |
pStaticRegs | Pointer to Static registers structure |
int32_t SDL_ECC_getErrorInfo | ( | SDL_ECC_MemType | eccMemType, |
SDL_Ecc_AggrIntrSrc | intrSrc, | ||
SDL_ECC_ErrorInfo_t * | pErrorInfo | ||
) |
Retrieves the ECC error information for the specified memtype and interrupt source.
============================================================================
eccMemType | ECC memory type |
intrSrc | interrupt source |
pErrorInfo | Pointer to the Error Information |
int32_t SDL_ECC_ackIntr | ( | SDL_ECC_MemType | eccMemType, |
SDL_Ecc_AggrIntrSrc | intrSrc | ||
) |
Acknowledge the ECC interrupt.
============================================================================
eccMemType | ECC memory type |
intrSrc | interrupt source |
int32_t SDL_ECC_getESMErrorInfo | ( | SDL_ESM_Inst | instance, |
uint32_t | intSrc, | ||
SDL_ECC_MemType * | eccMemType, | ||
SDL_Ecc_AggrIntrSrc * | intrSrcType | ||
) |
Retrieves the ECC error information for the specified ESM error. If it isn't an ECC error or the ECC error is not supported an error is returned.
============================================================================
instance | ESM instance |
intSrc | ESM interrupt number |
eccMemType | Pointer to the ECC memory type |
intrSrcType | Pointer to the interrupt source type |
int32_t SDL_ECC_clearNIntrPending | ( | SDL_ECC_MemType | eccMemType, |
SDL_ECC_MemSubType | memSubType, | ||
SDL_Ecc_AggrIntrSrc | intrSrc, | ||
SDL_Ecc_AggrEDCErrorSubType | subType, | ||
uint32_t | numEvents | ||
) |
Clears N pending interrupts for the specified memtype, subtype and interrupt source.
============================================================================
eccMemType | ECC memory type |
memSubType | Memory subtype |
intrSrc | interrupt source |
subType | error subtype (valid for EDC types only) |
numEvents | number of pending interrupts to clear |
void SDL_ECC_applicationCallbackFunction | ( | SDL_ECC_MemType | eccMemType, |
uint32_t | errorSrc, | ||
uint32_t | address, | ||
uint32_t | ramId, | ||
uint64_t | bitErrorOffset, | ||
uint32_t | bitErrorGroup | ||
) |
Application provided external callback function for ECC handling Called inside the reference functions when ECC errors occur. NOTE: This is application supplied and not part of the SDL If not supplied by application this will result in an linker error.
============================================================================
eccMemType | ECC Memory Type |
errorSrc | Error source for the ECC error event. |
address | Address at which the ECC error occurred. |
ramId | RAM ID at which the ECC error occurred. |
bitErrorOffset | Offset at which the ECC error occurred. |
bitErrorGroup | group checker that reported the error (Interconnect ECC type only). |