CMSIS-Core (Cortex-A): Cache and branch predictor maintenance operations

| 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
Cache and branch predictor maintenance operations
Core Register Access

This section describes the cache and branch predictor maintenance operations. More...

## Functions
__STATIC_INLINE void | __set_BPIALL (uint32_t value)
| Set BPIALL (Branch Predictor Invalidate All) More...
__STATIC_INLINE void | __set_DCCIMVAC (uint32_t value)
| Set DCCIMVAC (Clean and Invalidate data or unified cache line by MVA to PoC) More...
__STATIC_INLINE void | __set_DCCMVAC (uint32_t value)
| Set DCCMVAC (Clean data or unified cache line by MVA to PoC) More...
__STATIC_INLINE void | __set_DCIMVAC (uint32_t value)
| Set DCIMVAC (Invalidate data or unified cache line by MVA to PoC) More...
__STATIC_INLINE void | __set_ICIALLU (uint32_t value)
| Set ICIALLU (Instruction Cache Invalidate All) More...

## Description

Cache maintenance operations are defined to act on particular memory locations. In addition, for instruction caches and branch predictors, there are operations that invalidate all entries.

Consider using L1 Cache Functions and L2C-310 Cache Controller Functions for cache maintenance instead of raw register usage.

## Function Documentation

__STATIC_INLINE void __set_BPIALL | ( | uint32_t | value | ) |

Parameters

  [in] | value | BPIALL value to set

This function writes the provided value to the Branch Predictor Invalidate All (BPIALL) register.

__STATIC_INLINE void __set_DCCIMVAC | ( | uint32_t | value | ) |

Parameters

  [in] | value | DCCIMVAC value to set

This function cleans and invalidates data or unified cache line by MVA to PoC.

__STATIC_INLINE void __set_DCCMVAC | ( | uint32_t | value | ) |

Parameters

  [in] | value | DCCMVAC value to set

This function cleans data or unified cache line by MVA to PoC.

__STATIC_INLINE void __set_DCIMVAC | ( | uint32_t | value | ) |

Parameters

  [in] | value | DCIMVAC value to set

This function invalidates data or unified cache line by MVA to PoC.

__STATIC_INLINE void __set_ICIALLU | ( | uint32_t | value | ) |

Parameters

  [in] | value | ICIALLU value to set

This function invalidates all instruction cache.