CMSIS-Core (Cortex-A)   Version 6.1.0
CMSIS-Core support for Cortex-A processor-based devices
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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.