User Tools

Site Tools


mywiki:linux:cache

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
mywiki:linux:cache [2016/01/29 13:59] – created supermywiki:linux:cache [2019/09/15 18:55] (current) – external edit 127.0.0.1
Line 1: Line 1:
-Linux Cache Operation+Linux Cache Operation & Address Conversion 
 + 
 +====== Linux Cache Operation ====== 
 +  
 +| 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 invalidate instruction 
 + 
 + 
 +====== Address Conversion ====== 
 +<include\asm\addrspace.h> 
 + 
 +| CPHYSADDR | get its physical address | 
 +
  
-| Invalidate | stale data problem | dma_cache_inv(unsigned long address unsigned long size) | 
-| Flush/write back | any dirty cache |  dma_cache_wback(unsigned long address, unsigned long size) \\  dma_cache_wback_inv(unsigned long address, unsigned long size) | 
  
  
mywiki/linux/cache.1454047146.txt.gz · Last modified: (external edit)