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>

Go to the source code of this file.

Macros

#define PG_dcache_dirty   PG_arch_1
 
#define flush_cache_dup_mm(mm)   do {} while (0)
 
#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE   0
 
#define flush_dcache_mmap_lock(mapping)   do {} while (0)
 
#define flush_dcache_mmap_unlock(mapping)   do {} while (0)
 
#define flush_cache_vmap(start, end)   do {} while (0)
 
#define flush_cache_vunmap(start, end)   do {} while (0)
 
#define copy_from_user_page(vma, page, vaddr, dst, src, len)   memcpy(dst, src, len)
 
#define copy_to_user_page(vma, page, vaddr, dst, src, len)
 

Functions

void flush_cache_all (void)
 
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 page, unsigned long pfn)
 
void flush_cache_sigtramp (unsigned long addr)
 
void flush_icache_all (void)
 
void flush_icache_range (unsigned long start, unsigned long end)
 
void flush_dcache_range (unsigned long start, unsigned long end)
 
void flush_dcache_page (struct page *page)
 

Macro Definition Documentation

#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE   0

Definition at line 22 of file cacheflush.h.

#define copy_from_user_page (   vma,
  page,
  vaddr,
  dst,
  src,
  len 
)    memcpy(dst, src, len)

Definition at line 38 of file cacheflush.h.

#define copy_to_user_page (   vma,
  page,
  vaddr,
  dst,
  src,
  len 
)
Value:
do { \
memcpy(dst, src, len); \
if ((vma->vm_flags & VM_EXEC)) \
flush_cache_page(vma, vaddr, page_to_pfn(page));\
} while (0)

Definition at line 41 of file cacheflush.h.

#define flush_cache_dup_mm (   mm)    do {} while (0)

Definition at line 21 of file cacheflush.h.

#define flush_cache_vmap (   start,
  end 
)    do {} while (0)

Definition at line 25 of file cacheflush.h.

#define flush_cache_vunmap (   start,
  end 
)    do {} while (0)

Definition at line 26 of file cacheflush.h.

#define flush_dcache_mmap_lock (   mapping)    do {} while (0)

Definition at line 23 of file cacheflush.h.

#define flush_dcache_mmap_unlock (   mapping)    do {} while (0)

Definition at line 24 of file cacheflush.h.

#define PG_dcache_dirty   PG_arch_1

Definition at line 19 of file cacheflush.h.

Function Documentation

void flush_cache_all ( void  )

Definition at line 456 of file cache.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  page,
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_cache_sigtramp ( unsigned long  addr)

Definition at line 222 of file cache.c.

void flush_dcache_page ( struct page page)

Definition at line 273 of file flush.c.

void flush_dcache_range ( unsigned long  start,
unsigned long  end 
)

Definition at line 28 of file cache.c.

void flush_icache_all ( void  )

Definition at line 121 of file cache.c.

void flush_icache_range ( unsigned long  start,
unsigned long  end 
)

flush_icache_range - Globally flush dcache and invalidate icache for region : The starting virtual address of the region. : The ending virtual address of the region.

This is used by the kernel to globally flush some code it has just written from the dcache back to RAM and then to globally invalidate the icache over that region so that that code can be run on all CPUs in the system.

Definition at line 106 of file cache.c.