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_BASE register 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_BASE register 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