zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.54k stars 6.46k forks source link

API extensions for Cache Management #33123

Open nika-nordic opened 3 years ago

nika-nordic commented 3 years ago

Introduction

We would like to propose several extensions to Zephyr’s Cache Management API.

Problem description

Some SoC may implement extra cache features that are not covered by current Zephyr cache API.

Proposed change

Add new functions to existing Zephyr cache API that would help to utilize miscellaneous cache capabilities.

Detailed RFC

Proposed change (Detailed)

Expand Zephyr cache management API with the following functionalities:

Dependencies

This would be a new API so current code is unaffected.

ioannisg commented 3 years ago

CC @ceolin @andyross @carlocaione

decsny commented 1 year ago

Another thing that would be useful is if the cache API supported platforms that have multiple caches, for example some NXP platforms have cache64 which is paired with the flexspi to fetch from external memories (so, it's kind of like an L2 cache, but specific only to one peripheral), and also the core cache for the instruction and data buses generally with any bus followers