CMSIS-Core (Cortex-A)  Version 1.1.1
CMSIS-Core support for Cortex-A processor-based devices
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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. More...
 
__STATIC_FORCEINLINE void L1C_DisableCaches (void)
 Disable Caches by clearing I and C bits in SCTLR register. More...
 
__STATIC_FORCEINLINE void L1C_EnableBTAC (void)
 Enable Branch Prediction by setting Z bit in SCTLR register. More...
 
__STATIC_FORCEINLINE void L1C_DisableBTAC (void)
 Disable Branch Prediction by clearing Z bit in SCTLR register. More...
 
__STATIC_FORCEINLINE void L1C_InvalidateBTAC (void)
 Invalidate entire branch predictor array. More...
 
__STATIC_FORCEINLINE void L1C_InvalidateICacheAll (void)
 Invalidate the whole instruction cache. More...
 
__STATIC_FORCEINLINE void L1C_CleanDCacheMVA (void *va)
 Clean data cache line by address. More...
 
__STATIC_FORCEINLINE void L1C_InvalidateDCacheMVA (void *va)
 Invalidate data cache line by address. More...
 
__STATIC_FORCEINLINE void L1C_CleanInvalidateDCacheMVA (void *va)
 Clean and Invalidate data cache by address. More...
 
__STATIC_FORCEINLINE void L1C_CleanInvalidateCache (uint32_t op)
 Clean and Invalidate the entire data or unified cache Generic mechanism for cleaning/invalidating the entire data or unified cache to the point of coherency. More...
 
__STATIC_FORCEINLINE void L1C_InvalidateDCacheAll (void)
 Invalidate the whole data cache. More...
 
__STATIC_FORCEINLINE void L1C_CleanDCacheAll (void)
 Clean the whole data cache. More...
 
__STATIC_FORCEINLINE void L1C_CleanInvalidateDCacheAll (void)
 Clean and invalidate the whole data cache. More...
 
CMSIS_DEPRECATED
__STATIC_FORCEINLINE void 
__L1C_CleanInvalidateCache (uint32_t op)
 Clean and Invalidate the entire data or unified cache Generic mechanism for cleaning/invalidating the entire data or unified cache to the point of coherency. More...
 

Description

Function Documentation

__STATIC_INLINE __ASM void __L1C_CleanInvalidateCache ( uint32_t  op)
Parameters
[in]op0 - invalidate, 1 - clean, otherwise - invalidate and clean
Deprecated:
Use generic L1C_CleanInvalidateCache instead.

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

The parameter op defines which cleaning/invalidation strategy should be used:

  • 0 - Cache is invalidated using DCISW register.
  • 1 - Cache is cleaned using DCCSW register.
  • other - Cache is invalidated and cleaned using DCCISW register.
__STATIC_INLINE void L1C_CleanDCacheAll ( void  )
__STATIC_INLINE void L1C_CleanDCacheMVA ( void *  va)
Parameters
[in]vaPointer to data to clear the cache for.
__STATIC_INLINE void L1C_CleanInvalidateCache ( uint32_t  op)
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.

__STATIC_INLINE void L1C_CleanInvalidateDCacheAll ( void  )
__STATIC_INLINE void L1C_CleanInvalidateDCacheMVA ( void *  va)
Parameters
[in]vaPointer to data to invalidate the cache for.
__STATIC_INLINE void L1C_DisableBTAC ( void  )
__STATIC_INLINE void L1C_DisableCaches ( void  )
__STATIC_INLINE void L1C_EnableBTAC ( void  )
__STATIC_INLINE void L1C_EnableCaches ( void  )
__STATIC_INLINE void L1C_InvalidateBTAC ( void  )
__STATIC_INLINE void L1C_InvalidateDCacheAll ( void  )
__STATIC_INLINE void L1C_InvalidateDCacheMVA ( void *  va)
Parameters
[in]vaPointer to data to invalidate the cache for.
__STATIC_INLINE void L1C_InvalidateICacheAll ( void  )