CMSIS-Core (Cortex-A): L1 Cache Functions

| CMSIS-Core (Cortex-A) Version 1.0.0 CMSIS-Core support for Cortex-A processor-based devices

- Main Page
- Usage and Description
- Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
L1 Cache Functions
Core Peripherals

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_INLINE void | L1C_EnableCaches (void)
| Enable Caches by setting I and C bits in SCTLR register. More...
__STATIC_INLINE void | L1C_DisableCaches (void)
| Disable Caches by clearing I and C bits in SCTLR register. More...
__STATIC_INLINE void | L1C_EnableBTAC (void)
| Enable Branch Prediction by setting Z bit in SCTLR register. More...
__STATIC_INLINE void | L1C_DisableBTAC (void)
| Disable Branch Prediction by clearing Z bit in SCTLR register. More...
__STATIC_INLINE void | L1C_InvalidateBTAC (void)
| Invalidate entire branch predictor array. More...
__STATIC_INLINE void | L1C_InvalidateICacheAll (void)
| Invalidate the whole instruction cache. More...
__STATIC_INLINE void | L1C_CleanDCacheMVA (void *va)
| Clean data cache line by address. More...
__STATIC_INLINE void | L1C_InvalidateDCacheMVA (void *va)
| Invalidate data cache line by address. More...
__STATIC_INLINE void | L1C_CleanInvalidateDCacheMVA (void *va)
| Clean and Invalidate data cache by address. More...
__STATIC_INLINE void | L1C_CleanInvalidateCache (uint32_t op)
| Clean and Invalidate the entire data or unified cache. More...
__STATIC_INLINE void | L1C_InvalidateDCacheAll (void)
| Invalidate the whole data cache. More...
__STATIC_INLINE void | L1C_CleanDCacheAll (void)
| Clean the whole data cache. More...
__STATIC_INLINE void | L1C_CleanInvalidateDCacheAll (void)
| Clean and invalidate the whole data cache. More...
__STATIC_INLINE __ASM void | __L1C_CleanInvalidateCache (uint32_t op)
| Clean and Invalidate the entire data or unified cache. More...

## Description

## Function Documentation

__STATIC_INLINE __ASM void __L1C_CleanInvalidateCache | ( | uint32_t | op | ) |

Parameters

  [in] | op | 0 - invalidate, 1 - clean, otherwise - invalidate and clean

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] | va | Pointer to data to clear the cache for.

__STATIC_INLINE void L1C_CleanInvalidateCache | ( | uint32_t | op | ) |

Parameters

  [in] | op | 0 - invalidate, 1 - clean, otherwise - invalidate and clean

See Also
  __L1C_CleanInvalidateCache

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] | va | Pointer 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] | va | Pointer to data to invalidate the cache for.

__STATIC_INLINE void L1C_InvalidateICacheAll | ( | void |  | ) |