CMSIS-Core (Cortex-A)  
CMSIS-Core support for Cortex-A processor-based devices
 
Loading...
Searching...
No Matches
L1 Cache Functions

L1 Cache Functions give support to enable, clean and invalidate level 1 instruction and data caches, as well as to enable branch target address cache. More...

Functions

__STATIC_FORCEINLINE void L1C_EnableCaches (void)
 Enable Caches by setting I and C bits in SCTLR register.
 
__STATIC_FORCEINLINE void L1C_DisableCaches (void)
 Disable Caches by clearing I and C bits in SCTLR register.
 
__STATIC_FORCEINLINE void L1C_EnableBTAC (void)
 Enable Branch Prediction by setting Z bit in SCTLR register.
 
__STATIC_FORCEINLINE void L1C_DisableBTAC (void)
 Disable Branch Prediction by clearing Z bit in SCTLR register.
 
__STATIC_FORCEINLINE void L1C_InvalidateBTAC (void)
 Invalidate entire branch predictor array.
 
__STATIC_FORCEINLINE void L1C_InvalidateICacheAll (void)
 Invalidate the whole instruction cache.
 
__STATIC_FORCEINLINE void L1C_CleanDCacheMVA (void *va)
 Clean data cache line by address.
 
__STATIC_FORCEINLINE void L1C_InvalidateDCacheMVA (void *va)
 Invalidate data cache line by address.
 
__STATIC_FORCEINLINE void L1C_CleanInvalidateDCacheMVA (void *va)
 Clean and Invalidate data cache by address.
 
__STATIC_FORCEINLINE void L1C_CleanInvalidateCache (uint32_t op)
 Clean and Invalidate the entire data or unified cache.
 
__STATIC_FORCEINLINE void L1C_InvalidateDCacheAll (void)
 Invalidate the whole data cache.
 
__STATIC_FORCEINLINE void L1C_CleanDCacheAll (void)
 Clean the whole data cache.
 
__STATIC_FORCEINLINE void L1C_CleanInvalidateDCacheAll (void)
 Clean and invalidate the whole data cache.
 

Description

L1 Cache Functions give support to enable, clean and invalidate level 1 instruction and data caches, as well as to enable branch target address cache.

Function Documentation

◆ L1C_CleanDCacheAll()

__STATIC_INLINE void L1C_CleanDCacheAll ( void  )

Clean the whole data cache.

◆ L1C_CleanDCacheMVA()

__STATIC_INLINE void L1C_CleanDCacheMVA ( void *  va)

Clean data cache line by address.

Parameters
[in]vaPointer to data to clear the cache for.

◆ L1C_CleanInvalidateCache()

__STATIC_INLINE void L1C_CleanInvalidateCache ( uint32_t  op)

Clean and Invalidate the entire data or unified cache.

Parameters
[in]op0 - invalidate, 1 - clean, otherwise - invalidate and clean

Generic mechanism for cleaning/invalidating the entire data or unified cache to the point of coherency.

◆ L1C_CleanInvalidateDCacheAll()

__STATIC_INLINE void L1C_CleanInvalidateDCacheAll ( void  )

Clean and invalidate the whole data cache.

◆ L1C_CleanInvalidateDCacheMVA()

__STATIC_INLINE void L1C_CleanInvalidateDCacheMVA ( void *  va)

Clean and Invalidate data cache by address.

Parameters
[in]vaPointer to data to invalidate the cache for.

◆ L1C_DisableBTAC()

__STATIC_INLINE void L1C_DisableBTAC ( void  )

Disable Branch Prediction by clearing Z bit in SCTLR register.

◆ L1C_DisableCaches()

__STATIC_INLINE void L1C_DisableCaches ( void  )

Disable Caches by clearing I and C bits in SCTLR register.

◆ L1C_EnableBTAC()

__STATIC_INLINE void L1C_EnableBTAC ( void  )

Enable Branch Prediction by setting Z bit in SCTLR register.

◆ L1C_EnableCaches()

__STATIC_INLINE void L1C_EnableCaches ( void  )

Enable Caches by setting I and C bits in SCTLR register.

◆ L1C_InvalidateBTAC()

__STATIC_INLINE void L1C_InvalidateBTAC ( void  )

Invalidate entire branch predictor array.

◆ L1C_InvalidateDCacheAll()

__STATIC_INLINE void L1C_InvalidateDCacheAll ( void  )

Invalidate the whole data cache.

◆ L1C_InvalidateDCacheMVA()

__STATIC_INLINE void L1C_InvalidateDCacheMVA ( void *  va)

Invalidate data cache line by address.

Parameters
[in]vaPointer to data to invalidate the cache for.

◆ L1C_InvalidateICacheAll()

__STATIC_INLINE void L1C_InvalidateICacheAll ( void  )

Invalidate the whole instruction cache.