Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
cacheflush.h File Reference
#include <linux/mm.h>
#include <asm/shmparam.h>

Go to the source code of this file.

Macros

#define CACHE_COLOUR(vaddr)   ((vaddr & (SHMLBA - 1)) >> PAGE_SHIFT)
 
#define PG_dcache_clean   PG_arch_1
 
#define copy_from_user_page(vma, page, vaddr, dst, src, len)
 
#define flush_cache_all()   __cpuc_flush_kern_all()
 
#define flush_cache_dup_mm(mm)   flush_cache_mm(mm)
 
#define flush_cache_user_range(vma, start, end)   __cpuc_coherent_user_range((start) & PAGE_MASK, PAGE_ALIGN(end))
 
#define flush_icache_range(s, e)   __cpuc_coherent_kern_range(s, e)
 
#define clean_dcache_area(start, size)   cpu_dcache_clean_area(start, size)
 
#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE   1
 
#define flush_dcache_mmap_lock(mapping)   spin_lock_irq(&(mapping)->tree_lock)
 
#define flush_dcache_mmap_unlock(mapping)   spin_unlock_irq(&(mapping)->tree_lock)
 
#define flush_icache_user_range(vma, page, addr, len)   flush_dcache_page(page)
 
#define flush_icache_page(vma, page)   do { } while (0)
 

Functions

void __cpuc_flush_icache_all (void)
 
void __cpuc_flush_kern_all (void)
 
void __cpuc_flush_user_all (void)
 
void __cpuc_flush_user_range (unsigned long, unsigned long, unsigned int)
 
void __cpuc_coherent_kern_range (unsigned long, unsigned long)
 
void __cpuc_coherent_user_range (unsigned long, unsigned long)
 
void __cpuc_flush_dcache_area (void *, size_t)
 
void __cpuc_flush_kern_dcache_area (void *addr, size_t size)
 
void __cpuc_dma_clean_range (unsigned long, unsigned long)
 
void __cpuc_dma_flush_range (unsigned long, unsigned long)
 
void copy_to_user_page (struct vm_area_struct *, struct page *, unsigned long, void *, const void *, unsigned long)
 
void flush_cache_mm (struct mm_struct *mm)
 
void flush_cache_range (struct vm_area_struct *vma, unsigned long start, unsigned long end)
 
void flush_cache_page (struct vm_area_struct *vma, unsigned long user_addr, unsigned long pfn)
 
void flush_dcache_page (struct page *)
 

Macro Definition Documentation

#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE   1

Definition at line 179 of file cacheflush.h.

#define CACHE_COLOUR (   vaddr)    ((vaddr & (SHMLBA - 1)) >> PAGE_SHIFT)

Definition at line 19 of file cacheflush.h.

#define clean_dcache_area (   start,
  size 
)    cpu_dcache_clean_area(start, size)

Definition at line 165 of file cacheflush.h.

#define copy_from_user_page (   vma,
  page,
  vaddr,
  dst,
  src,
  len 
)
Value:
do { \
memcpy(dst, src, len); \
} while (0)

Definition at line 120 of file cacheflush.h.

#define flush_cache_all (   void)    __cpuc_flush_kern_all()

Definition at line 137 of file cacheflush.h.

#define flush_cache_dup_mm (   mm)    flush_cache_mm(mm)

Definition at line 145 of file cacheflush.h.

#define flush_cache_user_range (   vma,
  start,
  end 
)    __cpuc_coherent_user_range((start) & PAGE_MASK, PAGE_ALIGN(end))

Definition at line 152 of file cacheflush.h.

#define flush_dcache_mmap_lock (   mapping)    spin_lock_irq(&(mapping)->tree_lock)

Definition at line 182 of file cacheflush.h.

#define flush_dcache_mmap_unlock (   mapping)    spin_unlock_irq(&(mapping)->tree_lock)

Definition at line 184 of file cacheflush.h.

#define flush_icache_page (   vma,
  page 
)    do { } while (0)

Definition at line 194 of file cacheflush.h.

#define flush_icache_range (   s,
  e 
)    __cpuc_coherent_kern_range(s, e)

Definition at line 159 of file cacheflush.h.

#define flush_icache_user_range (   vma,
  page,
  addr,
  len 
)    flush_dcache_page(page)

Definition at line 187 of file cacheflush.h.

#define PG_dcache_clean   PG_arch_1

Definition at line 25 of file cacheflush.h.

Function Documentation

void __cpuc_coherent_kern_range ( unsigned  long,
unsigned  long 
)
void __cpuc_coherent_user_range ( unsigned  long,
unsigned  long 
)
void __cpuc_dma_clean_range ( unsigned  long,
unsigned  long 
)
void __cpuc_dma_flush_range ( unsigned  long,
unsigned  long 
)
void __cpuc_flush_dcache_area ( void ,
size_t   
)
void __cpuc_flush_icache_all ( void  )
void __cpuc_flush_kern_all ( void  )
void __cpuc_flush_kern_dcache_area ( void addr,
size_t  size 
)
void __cpuc_flush_user_all ( void  )
void __cpuc_flush_user_range ( unsigned  long,
unsigned  long,
unsigned  int 
)
void copy_to_user_page ( struct vm_area_struct ,
struct page ,
unsigned  long,
void ,
const void ,
unsigned  long 
)

Definition at line 149 of file flush.c.

void flush_cache_mm ( struct mm_struct mm)

Definition at line 30 of file flush.c.

void flush_cache_page ( struct vm_area_struct vma,
unsigned long  user_addr,
unsigned long  pfn 
)

Definition at line 41 of file flush.c.

void flush_cache_range ( struct vm_area_struct vma,
unsigned long  start,
unsigned long  end 
)

Definition at line 34 of file flush.c.

void flush_dcache_page ( struct page )

Definition at line 273 of file flush.c.