mywiki:linux:cache
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mywiki:linux:cache [2016/01/29 14:02] – super | mywiki:linux:cache [2019/09/15 18:55] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Linux Cache Operation | + | Linux Cache Operation |
| - | | Invalidate | stale data problem | dma_cache_inv(unsigned long address unsigned long size) | | + | ====== Linux Cache Operation ====== |
| - | | Flush/write back | any dirty cache | dma_cache_wback(unsigned long address, unsigned long size) \\ | + | |
| + | | opt | Term | API | | ||
| + | | Invalidate | stale data problem | **dma_cache_inv**(unsigned long address unsigned long size) | | ||
| + | | Flush/write back | any dirty cache | dma_cache_wback/**dma_cache_wback_inv**(unsigned long address, unsigned long size) | | ||
| - | Note: For dma_cache_wback: In theory, for write back caches an invalidate kills the cache line only without actually writing the data out, thus destroying the data in the cache.A safer thing to do in this case is issue a flush and | + | Note: For dma_cache_wback, in theory, for write back caches an invalidate kills the cache line only without actually writing the data out, thus destroying the data in the cache. A safer thing to do in this case is issue a flush and invalidate instruction |
| - | invalidate instruction | + | |
| + | |||
| + | ====== Address Conversion ====== | ||
| + | < | ||
| + | |||
| + | | CPHYSADDR | get its physical address | | ||
| + | | | ||
mywiki/linux/cache.1454047365.txt.gz · Last modified: (external edit)
