Skip to content

Proper cache management. #543

Answered by arnopo
iabdalkader asked this question in Q&A
Dec 12, 2023 · 1 comments · 1 reply
Discussion options

You must be logged in to vote

I'm using OpenAMP on a dual core M7/M4 microcontroller, and I'm trying to enable cache management with VIRTIO_USE_DCACHE. I implemented metal_machine_cache_flush and metal_machine_cache_invalidate but then I realized that those functions are called with unaligned addresses, and sizes that are not a multiple of the cache line size. I don't see any configuration option to set the cache line size, so I'm wondering if those functions were meant do more complex cache management than simply just flush/invalidate whatever address/size that gets passed to them ?

It depends on your need, these functions can be redirect to some OS functions as done for instance for NuttX or Zephyr or to implement…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@iabdalkader
Comment options

Answer selected by iabdalkader
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants