![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
Various functions for cache consistency. More...
Functions | |
| L4_BEGIN_DECLS int | l4_cache_clean_data (unsigned long start, unsigned long end) L4_NOTHROW |
| Cache clean a range in D-cache; writes back to PoC. | |
| int | l4_cache_flush_data (unsigned long start, unsigned long end) L4_NOTHROW |
| Cache flush a range; writes back to PoC. | |
| int | l4_cache_inv_data (unsigned long start, unsigned long end) L4_NOTHROW |
| Cache invalidate a range; might write back to PoC. | |
| int | l4_cache_coherent (unsigned long start, unsigned long end) L4_NOTHROW |
| Make memory coherent between I-cache and D-cache; writes back to PoU. | |
| int | l4_cache_dma_coherent (unsigned long start, unsigned long end) L4_NOTHROW |
| Make memory coherent for use with external memory; writes back to PoC. | |
| int | l4_cache_dma_coherent_full (void) L4_NOTHROW |
| Make memory coherent for use with external memory; writes back to PoC. | |
Various functions for cache consistency.
These functions shall be used to ensure that
all blocks (e.g. CPU cores, devices, DMA engines) are guaranteed to see the same copy of a memory location (Point of Coherency – PoC),
instruction and data caches of a core are guaranteed to see the same copy of a memory location (Point of Unification – PoU).
Certain functions are NOPs on certain architectures, for example on Intel it's not necessary to explicitly make caches coherent to PoU.
|
inline |
Cache clean a range in D-cache; writes back to PoC.
| start | Start of range (inclusive) |
| end | End of range (exclusive) |
| 0 | on success |
| -EFAULT | in the case of an unresolved page fault in the given area |
Writes back any dirty cache lines in the range but leaves them in the cache and marks the cached copies clean.
Definition at line 70 of file cache.h.
References L4_NOTHROW.
|
inline |
Make memory coherent between I-cache and D-cache; writes back to PoU.
| start | Start of range (inclusive) |
| end | End of range (exclusive) |
| 0 | on success |
| -EFAULT | in the case of an unresolved page fault in the given area |
Definition at line 94 of file cache.h.
References L4_NOTHROW.
|
inline |
Make memory coherent for use with external memory; writes back to PoC.
| start | Start of range (inclusive) |
| end | End of range (exclusive) |
| 0 | on success |
| -EFAULT | in the case of an unresolved page fault in the given area |
Definition at line 102 of file cache.h.
References L4_NOTHROW.
|
inline |
Cache flush a range; writes back to PoC.
| start | Start of range (inclusive) |
| end | End of range (exclusive) |
| 0 | on success |
| -EFAULT | in the case of an unresolved page fault in the given area |
Writes back any dirty cache lines and invalidates all cache entries in the range.
Definition at line 78 of file cache.h.
References L4_NOTHROW.
|
inline |
Cache invalidate a range; might write back to PoC.
| start | Start of range (inclusive) |
| end | End of range (exclusive) |
| 0 | on success |
| -EFAULT | in the case of an unresolved page fault in the given area |
Invalidates all cache entries in the range but does not necessarily write back dirty cache lines.
Definition at line 86 of file cache.h.
References L4_NOTHROW.