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 CACHE_OP_ICACHE_INVALIDATE   0x01
 
#define CACHE_OP_DCACHE_INVALIDATE   0x0b
 
#define CACHE_OP_DCACHE_CLEAN   0x0c
 
#define CACHE_OP_DCACHE_CLEAN_INVAL   0x0d
 
#define flush_write_buffer()   asm volatile("sync 0" : : : "memory")
 
#define flush_cache_all()   do { } while (0)
 
#define flush_cache_mm(mm)   do { } while (0)
 
#define flush_cache_dup_mm(mm)   do { } while (0)
 
#define flush_cache_range(vma, start, end)   do { } while (0)
 
#define flush_cache_page(vma, vmaddr, pfn)   do { } while (0)
 
#define flush_cache_vmap(start, end)   do { } while (0)
 
#define flush_cache_vunmap(start, end)   do { } while (0)
 
#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE   0
 
#define flush_dcache_page(page)   do { } while (0)
 
#define flush_dcache_mmap_lock(page)   do { } while (0)
 
#define flush_dcache_mmap_unlock(page)   do { } while (0)
 

Functions

void invalidate_dcache_region (void *start, size_t len)
 
void clean_dcache_region (void *start, size_t len)
 
void flush_dcache_region (void *start, size_t len)
 
void invalidate_icache_region (void *start, size_t len)
 
void flush_icache_page (struct vm_area_struct *vma, struct page *page)
 
void flush_icache_range (unsigned long start, unsigned long end)
 
void copy_to_user_page (struct vm_area_struct *vma, struct page *page, unsigned long vaddr, void *dst, const void *src, unsigned long len)
 

Macro Definition Documentation

#define ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE   0

Definition at line 110 of file cacheflush.h.

#define CACHE_OP_DCACHE_CLEAN   0x0c

Definition at line 16 of file cacheflush.h.

#define CACHE_OP_DCACHE_CLEAN_INVAL   0x0d

Definition at line 17 of file cacheflush.h.

#define CACHE_OP_DCACHE_INVALIDATE   0x0b

Definition at line 15 of file cacheflush.h.

#define CACHE_OP_ICACHE_INVALIDATE   0x01

Definition at line 14 of file cacheflush.h.

#define flush_cache_all (   void)    do { } while (0)

Definition at line 88 of file cacheflush.h.

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

Definition at line 90 of file cacheflush.h.

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

Definition at line 89 of file cacheflush.h.

#define flush_cache_page (   vma,
  vmaddr,
  pfn 
)    do { } while (0)

Definition at line 92 of file cacheflush.h.

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

Definition at line 91 of file cacheflush.h.

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

Definition at line 93 of file cacheflush.h.

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

Definition at line 94 of file cacheflush.h.

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

Definition at line 112 of file cacheflush.h.

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

Definition at line 113 of file cacheflush.h.

#define flush_dcache_page (   page)    do { } while (0)

Definition at line 111 of file cacheflush.h.

#define flush_write_buffer ( )    asm volatile("sync 0" : : : "memory")

Definition at line 82 of file cacheflush.h.

Function Documentation

void clean_dcache_region ( void start,
size_t  len 
)

Definition at line 52 of file cache.c.

void copy_to_user_page ( struct vm_area_struct vma,
struct page page,
unsigned long  vaddr,
void dst,
const void src,
unsigned long  len 
)

Definition at line 149 of file flush.c.

void flush_dcache_region ( void start,
size_t  len 
)

Definition at line 65 of file cache.c.

void flush_icache_page ( struct vm_area_struct vma,
struct page page 
)

Definition at line 118 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.

void invalidate_dcache_region ( void start,
size_t  len 
)

Definition at line 24 of file cache.c.

void invalidate_icache_region ( void start,
size_t  len 
)

Definition at line 78 of file cache.c.