SMPCC Functions
- __STATIC_FORCEINLINE SMP_VER_Type SMPCC_GetVersion (void)
- __STATIC_FORCEINLINE uint8_t SMPCC_IsCCachePresent (void)
- __STATIC_FORCEINLINE uint8_t SMPCC_GetCoreNum (void)
- __STATIC_FORCEINLINE uint8_t SMPCC_GetIOCPNum (void)
- __STATIC_FORCEINLINE uint8_t SMPCC_GetPMONNum (void)
- __STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheSetNum (void)
- __STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheWayNum (void)
- __STATIC_FORCEINLINE uint8_t SMPCC_GetCCacheLineSize (void)
- __STATIC_FORCEINLINE uint8_t SMPCC_IsCCacheSupportECC (void)
- __STATIC_FORCEINLINE void SMPCC_EnableSnoop (uint16_t client_msk)
- __STATIC_FORCEINLINE void SMPCC_DisableSnoop (uint16_t client_msk)
- __STATIC_FORCEINLINE void SMPCC_EnableCCache (void)
- __STATIC_FORCEINLINE void SMPCC_DisableCCache (void)
- __STATIC_FORCEINLINE int32_t SMPCC_IsCCacheEnabled (void)
- __STATIC_FORCEINLINE uint8_t SMPCC_IsAnySnoopPending (uint32_t client_msk)
- __STATIC_FORCEINLINE uint8_t SMPCC_IsAnyTransactionPending (uint32_t client_msk)
- __STATIC_FORCEINLINE void SMPCC_SetCLMAllWays (uint64_t addr)
- __STATIC_FORCEINLINE void SMPCC_SetCLMNWays (uint64_t addr, uint32_t way_msk)
- __STATIC_FORCEINLINE void SMPCC_SetCLMNoWay (void)
- __STATIC_FORCEINLINE void SMPCC_SetCCacheControl (uint32_t val)
- __STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheControl (void)
- __STATIC_FORCEINLINE void SMPCC_EnableCCacheECC (void)
- __STATIC_FORCEINLINE void SMPCC_DisableCCacheECC (void)
- __STATIC_FORCEINLINE void SMPCC_EnableCCacheECCExcp (void)
- __STATIC_FORCEINLINE void SMPCC_DisableCCacheECCExcp (void)
- __STATIC_FORCEINLINE void SMPCC_LockECCConfig (void)
- __STATIC_FORCEINLINE void SMPCC_LockECCErrInjection (void)
- __STATIC_FORCEINLINE void SMPCC_EnableRecvErrIrq (void)
- __STATIC_FORCEINLINE void SMPCC_DisableRecvErrIrq (void)
- __STATIC_FORCEINLINE void SMPCC_EnableFatalErrIrq (void)
- __STATIC_FORCEINLINE void SMPCC_DisableFatalErrIrq (void)
- __STATIC_FORCEINLINE void SMPCC_EnableBusErrIrq (void)
- __STATIC_FORCEINLINE void SMPCC_DisableBusErrIrq (void)
- __STATIC_FORCEINLINE void SMPCC_EnableSModeCmd (void)
- __STATIC_FORCEINLINE void SMPCC_DisableSModeCmd (void)
- __STATIC_FORCEINLINE void SMPCC_EnableUModeCmd (void)
- __STATIC_FORCEINLINE void SMPCC_DisableUModeCmd (void)
- __STATIC_FORCEINLINE void SMPCC_EnableCCacheECCCheck (void)
- __STATIC_FORCEINLINE void SMPCC_DisableCCacheECCCheck (void)
- __STATIC_FORCEINLINE void SMPCC_EnableCLMECC (void)
- __STATIC_FORCEINLINE void SMPCC_DisableCLMECC (void)
- __STATIC_FORCEINLINE void SMPCC_EnableCLMECCCheck (void)
- __STATIC_FORCEINLINE void SMPCC_DisableCLMECCCheck (void)
- __STATIC_FORCEINLINE void SMPCC_EnableCLMECCExcp (void)
- __STATIC_FORCEINLINE void SMPCC_DisableCLMECCExcp (void)
- __STATIC_FORCEINLINE void SMPCC_EnableL1PrefetchShareCacheline (void)
- __STATIC_FORCEINLINE void SMPCC_DisableL1PrefetchShareCacheline (void)
- __STATIC_FORCEINLINE void SMPCC_EnableCCacheEarlyPrefetch (void)
- __STATIC_FORCEINLINE void SMPCC_DisableCCacheEarlyPrefetch (void)
- __STATIC_FORCEINLINE void SMPCC_LimitCCachePrefetchOutsNum (void)
- __STATIC_FORCEINLINE void SMPCC_UnlimitCCachePrefetchOutsNum (void)
- __STATIC_FORCEINLINE void SMPCC_EnableCCachePrefetchNoWb (void)
- __STATIC_FORCEINLINE void SMPCC_DisableCCachePrefetchNoWb (void)
- __STATIC_FORCEINLINE void SMPCC_EnableICacheSnoopDCache (void)
- __STATIC_FORCEINLINE void SMPCC_DisableICacheSnoopDCache (void)
- __STATIC_FORCEINLINE uint32_t SMPCC_GetRecvErrCount (void)
- __STATIC_FORCEINLINE void SMPCC_ClearRecvErrCount (void)
- __STATIC_FORCEINLINE uint32_t SMPCC_GetFatalErrCount (void)
- __STATIC_FORCEINLINE void SMPCC_ClearFatalErrCount (void)
- __STATIC_FORCEINLINE void SMPCC_SetRecvErrCntThreshold (uint16_t threshold)
- __STATIC_FORCEINLINE uint16_t SMPCC_GetRecvErrCntThreshold (void)
- __STATIC_FORCEINLINE void SMPCC_SetFatalErrCntThreshold (uint16_t threshold)
- __STATIC_FORCEINLINE uint16_t SMPCC_GetFatalErrCntThreshold (void)
- __STATIC_FORCEINLINE uint32_t SMPCC_GetClientErrStatus (uint8_t client_id)
- __STATIC_FORCEINLINE void SMPCC_SetSTMControl (uint32_t val)
- __STATIC_FORCEINLINE uint32_t SMPCC_GetSTMControl (void)
- __STATIC_FORCEINLINE void SMPCC_EnableStreamRead (void)
- __STATIC_FORCEINLINE void SMPCC_DisableStreamRead (void)
- __STATIC_FORCEINLINE void SMPCC_EnableStreamWrite (void)
- __STATIC_FORCEINLINE void SMPCC_DisableStreamWrite (void)
- __STATIC_FORCEINLINE void SMPCC_EnableStreamTransAlloc (void)
- __STATIC_FORCEINLINE void SMPCC_DisableStreamTransAlloc (void)
- __STATIC_FORCEINLINE void SMPCC_EnableStreamMergeNCRead (void)
- __STATIC_FORCEINLINE void SMPCC_DisableStreamMergeNCRead (void)
- __STATIC_FORCEINLINE void SMPCC_EnableStreamReadCross4K (void)
- __STATIC_FORCEINLINE void SMPCC_DisableStreamReadCross4K (void)
- __STATIC_FORCEINLINE void SMPCC_SetNSRegionNACL (uint8_t region_id, uint64_t addr)
- __STATIC_FORCEINLINE void SMPCC_SetNSRegionNAPOT (uint8_t region_id, uint64_t addr)
- __STATIC_FORCEINLINE void SMPCC_DisableNSRegion (uint8_t region_id)
- __STATIC_FORCEINLINE void SMPCC_SetPMONEventSelect (uint8_t idx, uint8_t client_id, uint8_t event)
- __STATIC_FORCEINLINE uint32_t SMPCC_GetPMONEventSelect (uint8_t idx)
- __STATIC_FORCEINLINE uint64_t SMPCC_GetPMONCount (uint8_t idx)
- __STATIC_FORCEINLINE void SMPCC_ClearPMONCount (uint8_t idx)
- __STATIC_FORCEINLINE uint64_t SMPCC_GetClientErrAddr (uint8_t client_id)
- __STATIC_FORCEINLINE void SMPCC_MaskClientCCacheWays (uint8_t client_id, uint32_t way_msk)
- __STATIC_FORCEINLINE int32_t SMPCC_IsXorErrorInjectMode (void)
- __STATIC_FORCEINLINE void SMPCC_SetECCCode (uint32_t ecc_code)
- __STATIC_FORCEINLINE void SMPCC_CCacheTramErrInject (uint32_t ecc_code, void *addr)
- __STATIC_FORCEINLINE void SMPCC_CCacheDramErrInject (uint32_t ecc_code, void *addr)
- __STATIC_FORCEINLINE void SMPCC_CLMErrInject (uint32_t ecc_code, void *addr)
- __STATIC_FORCEINLINE void SMPCC_CCacheErrRestore (void *addr)
- group SMPCC Functions
SMPCC related functions.
Functions
- __STATIC_FORCEINLINE SMP_VER_Type SMPCC_GetVersion (void)
Get the SMP version number.
This function gets the hardware version information from SMP_VER register.
- Returns:
hardware version number in SMP_VER register.
- __STATIC_FORCEINLINE uint8_t SMPCC_IsCCachePresent (void)
Check if cluster cache is present.
This function checks if the cluster cache is present in the system.
- Returns:
1 if cluster cache is present, 0 otherwise
- __STATIC_FORCEINLINE uint8_t SMPCC_GetCoreNum (void)
Get the number of cores in the cluster.
This function returns the number of cores in the SMP cluster.
- Returns:
Number of cores in the cluster
- __STATIC_FORCEINLINE uint8_t SMPCC_GetIOCPNum (void)
Get the number of IO coherency ports.
This function returns the number of IO coherency ports in the cluster.
- Returns:
Number of IO coherency ports
- __STATIC_FORCEINLINE uint8_t SMPCC_GetPMONNum (void)
Get the number of performance monitors.
This function returns the number of performance monitors in the cluster.
- Returns:
Number of performance monitors
- __STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheSetNum (void)
Get the number of cache sets.
This function returns the number of cache sets in the cluster cache (2^cc_set).
- Returns:
Number of cache sets
- __STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheWayNum (void)
Get the number of cache ways.
This function returns the number of cache ways in the cluster cache (cc_way + 1).
- Returns:
Number of cache ways
- __STATIC_FORCEINLINE uint8_t SMPCC_GetCCacheLineSize (void)
Get the cache line size.
This function returns the cache line size in the cluster cache (2^(cc_lsize + 2)).
- Returns:
Cache line size in bytes
- __STATIC_FORCEINLINE uint8_t SMPCC_IsCCacheSupportECC (void)
Check if cluster cache supports ECC.
This function checks if the cluster cache supports ECC functionality.
- Returns:
1 if ECC is supported, 0 otherwise
- __STATIC_FORCEINLINE void SMPCC_EnableSnoop (uint16_t client_msk)
Enable snoop for specific clients.
This function enables snoop functionality for specified client mask.
See also
SMPCC_DisableSnoop
- Parameters:
client_msk – [in] Client mask to enable snoop for
- __STATIC_FORCEINLINE void SMPCC_DisableSnoop (uint16_t client_msk)
Disable snoop for specific clients.
This function disables snoop functionality for specified client mask.
See also
SMPCC_EnableSnoop
- Parameters:
client_msk – [in] Client mask to disable snoop for
- __STATIC_FORCEINLINE void SMPCC_EnableCCache (void)
Enable cluster cache.
This function enables the cluster cache.
See also
SMPCC_DisableCCache
- __STATIC_FORCEINLINE void SMPCC_DisableCCache (void)
Disable cluster cache.
This function disables the cluster cache.
See also
SMPCC_EnableCCache
- __STATIC_FORCEINLINE int32_t SMPCC_IsCCacheEnabled (void)
Get status of cluster cache.
This function returns the enable status of the cluster cache.
See also
SMPCC_EnableCCache
- Returns:
Return the status of cluster cache (1 - enabled, 0 - disabled)
- __STATIC_FORCEINLINE uint8_t SMPCC_IsAnySnoopPending (uint32_t client_msk)
Check if any client is being snooped.
This function checks if any client specified in the mask is currently being snooped.
- Parameters:
client_msk – [in] Client mask to check
- Returns:
1 if any client is being snooped, 0 otherwise
- __STATIC_FORCEINLINE uint8_t SMPCC_IsAnyTransactionPending (uint32_t client_msk)
Check if any transaction is pending for clients.
This function checks if any transaction is pending for clients specified in the mask.
- Parameters:
client_msk – [in] Client mask to check
- Returns:
1 if any transaction is pending, 0 otherwise
- __STATIC_FORCEINLINE void SMPCC_SetCLMAllWays (uint64_t addr)
Set Cluster Local Memory to use all ways.
This function configures the Cluster Local Memory to use all cache ways at the specified address.
Example usage:
SMPCC_DisableCCache(); MFlushInvalCCache(); SMPCC_SetCLMAllWays(addr);
Remark
Access to the
CLM_ADDR_BASEregister depends on the physical address (PA) size. If the PA size is not larger than 32 bits, only the low 32 bits of the address can be accessed.Before changing the Cluster Cache to CLM mode, ensure that:
The Cluster Cache is disabled,
Its contents have been invalidated and flushed to memory.
See also
SMPCC_SetCLMNWays
SMPCC_SetCLMNoWay
- Parameters:
addr – [in] Base address for Cluster Local Memory.
- __STATIC_FORCEINLINE void SMPCC_SetCLMNWays (uint64_t addr, uint32_t way_msk)
Set Cluster Local Memory to use specific ways.
This function configures the Cluster Local Memory to use specific cache ways at the specified address.
Example usage:
SMPCC_DisableCCache(); MFlushInvalCCache(); SMPCC_SetCLMNWays(addr, way_msk); SMPCC_EnableCCache(); // Enable the remaining CCache
Remark
Access to the
CLM_ADDR_BASEregister depends on the physical address (PA) size. If the PA size is not larger than 32 bits, only the low 32 bits of the address can be accessed.Before changing the Cluster Cache to CLM mode, ensure that:
The Cluster Cache is disabled,
Its contents have been invalidated and flushed to memory.
See also
SMPCC_SetCLMAllWays
SMPCC_SetCLMNoWay
- Parameters:
addr – [in] Base address for Cluster Local Memory
way_msk – [in] Way mask to configure
- __STATIC_FORCEINLINE void SMPCC_SetCLMNoWay (void)
Configure Cluster Local Memory to use no ways.
This function configures the Cluster Local Memory to not use any cache ways.
See also
SMPCC_SetCLMAllWays
SMPCC_SetCLMNWays
- __STATIC_FORCEINLINE void SMPCC_SetCCacheControl (uint32_t val)
Set Cluster Cache Control register.
This function sets the value of the Cluster Cache Control register.
See also
SMPCC_GetCCacheControl
- Parameters:
val – [in] Value to set in the control register
- __STATIC_FORCEINLINE uint32_t SMPCC_GetCCacheControl (void)
Get Cluster Cache Control register value.
This function returns the current value of the Cluster Cache Control register.
See also
SMPCC_SetCCacheControl
- Returns:
Current value of the control register
- __STATIC_FORCEINLINE void SMPCC_EnableCCacheECC (void)
Enable Cluster Cache ECC.
This function enables ECC functionality for the cluster cache.
See also
SMPCC_DisableCCacheECC
- __STATIC_FORCEINLINE void SMPCC_DisableCCacheECC (void)
Disable Cluster Cache ECC.
This function disables ECC functionality for the cluster cache.
See also
SMPCC_EnableCCacheECC
- __STATIC_FORCEINLINE void SMPCC_EnableCCacheECCExcp (void)
Enable Cluster Cache ECC Exception.
This function enables ECC exception handling for the cluster cache.
See also
SMPCC_DisableCCacheECCExcp
- __STATIC_FORCEINLINE void SMPCC_DisableCCacheECCExcp (void)
Disable Cluster Cache ECC Exception.
This function disables ECC exception handling for the cluster cache.
See also
SMPCC_EnableCCacheECCExcp
- __STATIC_FORCEINLINE void SMPCC_LockECCConfig (void)
Lock ECC Configuration.
This function locks the ECC configuration to prevent further changes.
See also
SMPCC_LockECCErrInjection
- __STATIC_FORCEINLINE void SMPCC_LockECCErrInjection (void)
Lock ECC Error Injection Register.
This function locks the ECC error injection register to prevent further changes.
See also
SMPCC_LockECCConfig
- __STATIC_FORCEINLINE void SMPCC_EnableRecvErrIrq (void)
Enable Recoverable Error Interrupt.
This function enables interrupt generation when recoverable error count exceeds the threshold.
See also
SMPCC_DisableRecvErrIrq
- __STATIC_FORCEINLINE void SMPCC_DisableRecvErrIrq (void)
Disable Recoverable Error Interrupt.
This function disables interrupt generation when recoverable error count exceeds the threshold.
See also
SMPCC_EnableRecvErrIrq
- __STATIC_FORCEINLINE void SMPCC_EnableFatalErrIrq (void)
Enable Fatal Error Interrupt.
This function enables interrupt generation when fatal error count exceeds the threshold.
See also
SMPCC_DisableFatalErrIrq
- __STATIC_FORCEINLINE void SMPCC_DisableFatalErrIrq (void)
Disable Fatal Error Interrupt.
This function disables interrupt generation when fatal error count exceeds the threshold.
See also
SMPCC_EnableFatalErrIrq
- __STATIC_FORCEINLINE void SMPCC_EnableBusErrIrq (void)
Enable Bus Error Interrupt.
This function enables interrupt generation for bus errors in cluster cache maintenance operations.
See also
SMPCC_DisableBusErrIrq
- __STATIC_FORCEINLINE void SMPCC_DisableBusErrIrq (void)
Disable Bus Error Interrupt.
This function disables interrupt generation for bus errors in cluster cache maintenance operations.
See also
SMPCC_EnableBusErrIrq
- __STATIC_FORCEINLINE void SMPCC_EnableSModeCmd (void)
Enable Supervisor Mode Commands.
This function enables supervisor mode to operate CC_sCMD and SMP_PMON_SEL registers.
See also
SMPCC_DisableSModeCmd
- __STATIC_FORCEINLINE void SMPCC_DisableSModeCmd (void)
Disable Supervisor Mode Commands.
This function disables supervisor mode from operating CC_sCMD and SMP_PMON_SEL registers.
See also
SMPCC_EnableSModeCmd
- __STATIC_FORCEINLINE void SMPCC_EnableUModeCmd (void)
Enable User Mode Commands.
This function enables user mode to operate CC_uCMD and SMP_PMON_SEL registers.
See also
SMPCC_DisableUModeCmd
- __STATIC_FORCEINLINE void SMPCC_DisableUModeCmd (void)
Disable User Mode Commands.
This function disables user mode from operating CC_uCMD and SMP_PMON_SEL registers.
See also
SMPCC_EnableUModeCmd
- __STATIC_FORCEINLINE void SMPCC_EnableCCacheECCCheck (void)
Enable Cluster Cache ECC Check.
This function enables ECC check functionality for the cluster cache.
See also
SMPCC_DisableCCacheECCCheck
- __STATIC_FORCEINLINE void SMPCC_DisableCCacheECCCheck (void)
Disable Cluster Cache ECC Check.
This function disables ECC check functionality for the cluster cache.
See also
SMPCC_EnableCCacheECCCheck
- __STATIC_FORCEINLINE void SMPCC_EnableCLMECC (void)
Enable Cluster Local Memory ECC.
This function enables ECC functionality for the Cluster Local Memory.
See also
SMPCC_DisableCLMECC
- __STATIC_FORCEINLINE void SMPCC_DisableCLMECC (void)
Disable Cluster Local Memory ECC.
This function disables ECC functionality for the Cluster Local Memory.
See also
SMPCC_EnableCLMECC
- __STATIC_FORCEINLINE void SMPCC_EnableCLMECCCheck (void)
Enable Cluster Local Memory ECC Check.
This function enables ECC check functionality for the Cluster Local Memory.
See also
SMPCC_DisableCLMCCCheck
- __STATIC_FORCEINLINE void SMPCC_DisableCLMECCCheck (void)
Disable Cluster Local Memory ECC Check.
This function disables ECC check functionality for the Cluster Local Memory.
See also
SMPCC_EnableCLMECCCheck
- __STATIC_FORCEINLINE void SMPCC_EnableCLMECCExcp (void)
Enable Cluster Local Memory ECC Exception.
This function enables ECC exception handling for the Cluster Local Memory.
See also
SMPCC_DisableCLMECCExcp
- __STATIC_FORCEINLINE void SMPCC_DisableCLMECCExcp (void)
Disable Cluster Local Memory ECC Exception.
This function disables ECC exception handling for the Cluster Local Memory.
See also
SMPCC_EnableCLMECCExcp
- __STATIC_FORCEINLINE void SMPCC_EnableL1PrefetchShareCacheline (void)
Enable L1 Prefetch to Snoop and Share Cacheline.
This function enables L1 prefetch to snoop and share cacheline from other cores.
See also
SMPCC_DisableL1PrefetchShareCacheline
- __STATIC_FORCEINLINE void SMPCC_DisableL1PrefetchShareCacheline (void)
Disable L1 Prefetch to Snoop and Share Cacheline.
This function disables L1 prefetch to snoop and share cacheline from other cores.
See also
SMPCC_EnableL1PrefetchShareCacheline
- __STATIC_FORCEINLINE void SMPCC_EnableCCacheEarlyPrefetch (void)
Enable Cluster Cache Early Prefetch.
This function enables L2 prefetch to initialize external bus read access while looking up the cluster cache.
See also
SMPCC_DisableCCacheEarlyPrefetch
- __STATIC_FORCEINLINE void SMPCC_DisableCCacheEarlyPrefetch (void)
Disable Cluster Cache Early Prefetch.
This function disables L2 prefetch to initialize external bus read access while looking up the cluster cache.
See also
SMPCC_EnableCCacheEarlyPrefetch
- __STATIC_FORCEINLINE void SMPCC_LimitCCachePrefetchOutsNum (void)
Limit Cluster Cache Prefetch Outstanding Number.
This function enables the limit of outstanding L2 prefetch to the number of L2 prefetch line-buffer.
See also
SMPCC_UnlimitCCachePrefetchOutsNum
- __STATIC_FORCEINLINE void SMPCC_UnlimitCCachePrefetchOutsNum (void)
Unlimit Cluster Cache Prefetch Outstanding Number.
This function disables the limit of outstanding L2 prefetch to the number of L2 prefetch line-buffer.
See also
SMPCC_LimitCCachePrefetchOutsNum
- __STATIC_FORCEINLINE void SMPCC_EnableCCachePrefetchNoWb (void)
Enable Cluster Cache Prefetch to Avoid Write Back.
This function enables L2 prefetch to abort and avoid dirty cacheline write back when filling the cluster cache.
See also
SMPCC_DisableCCachePrefetchNoWb
- __STATIC_FORCEINLINE void SMPCC_DisableCCachePrefetchNoWb (void)
Disable Cluster Cache Prefetch to Avoid Write Back.
This function disables L2 prefetch from aborting and avoiding dirty cacheline write back when filling the cluster cache.
See also
SMPCC_EnableCCachePrefetchNoWb
- __STATIC_FORCEINLINE void SMPCC_EnableICacheSnoopDCache (void)
Enable ICache to Snoop DCache.
This function enables snoop to dcache for icache refill reads.
See also
SMPCC_DisableICacheSnoopDCache
- __STATIC_FORCEINLINE void SMPCC_DisableICacheSnoopDCache (void)
Disable ICache to Snoop DCache.
This function disables snoop to dcache for icache refill reads.
See also
SMPCC_EnableICacheSnoopDCache
- __STATIC_FORCEINLINE uint32_t SMPCC_GetRecvErrCount (void)
Get Recoverable Error Count.
This function returns the current count of recoverable errors.
See also
SMPCC_ClearRecvErrCount
- Returns:
Current count of recoverable errors
- __STATIC_FORCEINLINE void SMPCC_ClearRecvErrCount (void)
Clear Recoverable Error Count.
This function clears the recoverable error count register.
See also
SMPCC_GetRecvErrCount
- __STATIC_FORCEINLINE uint32_t SMPCC_GetFatalErrCount (void)
Get Fatal Error Count.
This function returns the current count of fatal errors.
See also
SMPCC_ClearFatalErrCount
- Returns:
Current count of fatal errors
- __STATIC_FORCEINLINE void SMPCC_ClearFatalErrCount (void)
Clear Fatal Error Count.
This function clears the fatal error count register.
See also
SMPCC_GetFatalErrCount
- __STATIC_FORCEINLINE void SMPCC_SetRecvErrCntThreshold (uint16_t threshold)
Set Recoverable Error Count Threshold.
This function sets the threshold value for recoverable error count.
See also
SMPCC_GetRecvErrCntThreshold
- Parameters:
threshold – [in] Threshold value to set
- __STATIC_FORCEINLINE uint16_t SMPCC_GetRecvErrCntThreshold (void)
Get Recoverable Error Count Threshold.
This function returns the current threshold value for recoverable error count.
See also
SMPCC_SetRecvErrCntThreshold
- Returns:
Current threshold value for recoverable error count
- __STATIC_FORCEINLINE void SMPCC_SetFatalErrCntThreshold (uint16_t threshold)
Set Fatal Error Count Threshold.
This function sets the threshold value for fatal error count.
See also
SMPCC_GetFatalErrCntThreshold
- Parameters:
threshold – [in] Threshold value to set
- __STATIC_FORCEINLINE uint16_t SMPCC_GetFatalErrCntThreshold (void)
Get Fatal Error Count Threshold.
This function returns the current threshold value for fatal error count.
See also
SMPCC_SetFatalErrCntThreshold
- Returns:
Current threshold value for fatal error count
- __STATIC_FORCEINLINE uint32_t SMPCC_GetClientErrStatus (uint8_t client_id)
Get Client Error Status.
This function returns the error status for a specific client.
- Parameters:
client_id – [in] ID of the client to get error status for
- Returns:
Error status of the specified client
- __STATIC_FORCEINLINE void SMPCC_SetSTMControl (uint32_t val)
Set Stream Control Register.
This function sets the value of the Stream Control register.
See also
SMPCC_GetSTMControl
- Parameters:
val – [in] Value to set in the stream control register
- __STATIC_FORCEINLINE uint32_t SMPCC_GetSTMControl (void)
Get Stream Control Register Value.
This function returns the current value of the Stream Control register.
See also
SMPCC_SetSTMControl
- Returns:
Current value of the stream control register
- __STATIC_FORCEINLINE void SMPCC_EnableStreamRead (void)
Enable Stream Read.
This function enables stream read functionality.
See also
SMPCC_DisableStreamRead
- __STATIC_FORCEINLINE void SMPCC_DisableStreamRead (void)
Disable Stream Read.
This function disables stream read functionality.
See also
SMPCC_EnableStreamRead
- __STATIC_FORCEINLINE void SMPCC_EnableStreamWrite (void)
Enable Stream Write.
This function enables stream write functionality.
See also
SMPCC_DisableStreamWrite
- __STATIC_FORCEINLINE void SMPCC_DisableStreamWrite (void)
Disable Stream Write.
This function disables stream write functionality.
See also
SMPCC_EnableStreamWrite
- __STATIC_FORCEINLINE void SMPCC_EnableStreamTransAlloc (void)
Enable Stream Translate Allocate.
This function enables translation of allocate attribute to non-alloc attribute.
See also
SMPCC_DisableStreamTransAlloc
- __STATIC_FORCEINLINE void SMPCC_DisableStreamTransAlloc (void)
Disable Stream Translate Allocate.
This function disables translation of allocate attribute to non-alloc attribute.
See also
SMPCC_EnableStreamTransAlloc
- __STATIC_FORCEINLINE void SMPCC_EnableStreamMergeNCRead (void)
Enable Stream Merge Non-Cacheable Read.
This function enables non-cacheable attribute read merge functionality.
See also
SMPCC_DisableStreamMergeNCRead
- __STATIC_FORCEINLINE void SMPCC_DisableStreamMergeNCRead (void)
Disable Stream Merge Non-Cacheable Read.
This function disables non-cacheable attribute read merge functionality.
See also
SMPCC_EnableStreamMergeNCRead
- __STATIC_FORCEINLINE void SMPCC_EnableStreamReadCross4K (void)
Enable Stream Read Cross 4K Boundary.
This function enables read stream to cross 4K boundary.
See also
SMPCC_DisableStreamReadCross4K
- __STATIC_FORCEINLINE void SMPCC_DisableStreamReadCross4K (void)
Disable Stream Read Cross 4K Boundary.
This function disables read stream from crossing 4K boundary.
See also
SMPCC_EnableStreamReadCross4K
- __STATIC_FORCEINLINE void SMPCC_SetNSRegionNACL (uint8_t region_id, uint64_t addr)
Set Non-Shareable Region to NACL.
This function configures a non-shareable region as NACL (NAPOT/CA with length) at the specified address.
See also
SMPCC_SetNSRegionNAPOT
SMPCC_DisableNSRegion
- Parameters:
region_id – [in] ID of the region to configure
addr – [in] Address for the region
- __STATIC_FORCEINLINE void SMPCC_SetNSRegionNAPOT (uint8_t region_id, uint64_t addr)
Set Non-Shareable Region to NAPOT.
This function configures a non-shareable region as NAPOT (Naturally Aligned Power of Two) at the specified address.
See also
SMPCC_SetNSRegionNACL
SMPCC_DisableNSRegion
- Parameters:
region_id – [in] ID of the region to configure
addr – [in] Address for the region
- __STATIC_FORCEINLINE void SMPCC_DisableNSRegion (uint8_t region_id)
Disable Non-Shareable Region.
This function disables a non-shareable region.
See also
SMPCC_SetNSRegionNAPOT
SMPCC_SetNSRegionNACL
- Parameters:
region_id – [in] ID of the region to disable
- __STATIC_FORCEINLINE void SMPCC_SetPMONEventSelect (uint8_t idx, uint8_t client_id, uint8_t event)
Set Performance Monitor Event Selection.
This function configures a performance monitor to select a specific event and client.
See also
SMPCC_GetPMONEventSelect
SMPCC_GetPMONCount
SMPCC_ClearPMONCount
- Parameters:
idx – [in] Index of the performance monitor
client_id – [in] ID of the client to monitor
event – [in] Event to monitor
- __STATIC_FORCEINLINE uint32_t SMPCC_GetPMONEventSelect (uint8_t idx)
Get Performance Monitor Event Selection.
This function gets a performance monitor configuration value.
See also
SMPCC_SetPMONEventSelect
SMPCC_GetPMONCount
SMPCC_ClearPMONCount
- Parameters:
idx – [in] Index of the performance monitor
- Returns:
The performance monitor configuration value.
- __STATIC_FORCEINLINE uint64_t SMPCC_GetPMONCount (uint8_t idx)
Get Performance Monitor Count.
This function returns the current count value of a performance monitor.
See also
SMPCC_SetPMONEventSelect
SMPCC_GetPMONEventSelect
SMPCC_ClearPMONCount
- Parameters:
idx – [in] Index of the performance monitor
- Returns:
Current count value of the performance monitor
- __STATIC_FORCEINLINE void SMPCC_ClearPMONCount (uint8_t idx)
Clear Performance Monitor Count.
This function clears the count value of a performance monitor.
See also
SMPCC_SetPMONEventSelect
SMPCC_GetPMONEventSelect
SMPCC_GetPMONCount
- Parameters:
idx – [in] Index of the performance monitor to clear
- __STATIC_FORCEINLINE uint64_t SMPCC_GetClientErrAddr (uint8_t client_id)
Get Client Error Address.
This function returns the error address for a specific client.
- Parameters:
client_id – [in] ID of the client to get error address for
- Returns:
Error address of the specified client
- __STATIC_FORCEINLINE void SMPCC_MaskClientCCacheWays (uint8_t client_id, uint32_t way_msk)
Mask Client Cluster Cache Ways.
This function masks specific ways in the cluster cache for a specific client.
- Parameters:
client_id – [in] ID of the client
way_msk – [in] Way mask to apply
- __STATIC_FORCEINLINE int32_t SMPCC_IsXorErrorInjectMode (void)
Check if ECC error injection mode is XOR mode.
This function checks which ECC error injection mode is supported. Returns 1 if XOR mode is supported, 0 if direct write mode is supported.
- Returns:
1 if XOR mode is supported, 0 if direct write mode is supported
- __STATIC_FORCEINLINE void SMPCC_SetECCCode (uint32_t ecc_code)
Set ECC code for error injection.
This function sets the ECC code to be used for error injection.
- Parameters:
ecc_code – ECC code to be set for error injection
- Returns:
None
- __STATIC_FORCEINLINE void SMPCC_CCacheTramErrInject (uint32_t ecc_code, void *addr)
Inject ECC error to cluster cache tag RAM.
This function injects an ECC error into the cluster cache tag RAM at the specified address.
- Parameters:
ecc_code – ECC code to be injected
addr – Address where the error should be injected
- Returns:
None
- __STATIC_FORCEINLINE void SMPCC_CCacheDramErrInject (uint32_t ecc_code, void *addr)
Inject ECC error to cluster cache data RAM.
This function injects an ECC error into the cluster cache data RAM at the specified address.
- Parameters:
ecc_code – ECC code to be injected
addr – Address where the error should be injected
- Returns:
None
- __STATIC_FORCEINLINE void SMPCC_CLMErrInject (uint32_t ecc_code, void *addr)
Inject ECC error to CLM (Cluster Local Memory)
This function injects an ECC error into the CLM at the specified address. Only the ecc code can be injected, the data will keep as it is.
- Parameters:
ecc_code – ECC code to be injected
addr – Address where the error should be injected
- Returns:
None
- __STATIC_FORCEINLINE void SMPCC_CCacheErrRestore (void *addr)
Restore cluster cache after error injection.
This function restores the cluster cache after an error injection operation.
- Parameters:
addr – Address to be restored
- Returns:
None