Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
cache.c File Reference
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/mutex.h>
#include <linux/fs.h>
#include <linux/smp.h>
#include <linux/highmem.h>
#include <linux/module.h>
#include <asm/mmu_context.h>
#include <asm/cacheflush.h>

Go to the source code of this file.

Functions

 EXPORT_SYMBOL (__flush_wback_region)
 
 EXPORT_SYMBOL (__flush_purge_region)
 
 EXPORT_SYMBOL (__flush_invalidate_region)
 
void copy_to_user_page (struct vm_area_struct *vma, struct page *page, unsigned long vaddr, void *dst, const void *src, unsigned long len)
 
void copy_from_user_page (struct vm_area_struct *vma, struct page *page, unsigned long vaddr, void *dst, const void *src, unsigned long len)
 
void copy_user_highpage (struct page *to, struct page *from, unsigned long vaddr, struct vm_area_struct *vma)
 
 EXPORT_SYMBOL (copy_user_highpage)
 
void clear_user_highpage (struct page *page, unsigned long vaddr)
 
 EXPORT_SYMBOL (clear_user_highpage)
 
void __update_cache (struct vm_area_struct *vma, unsigned long address, pte_t pte)
 
void __flush_anon_page (struct page *page, unsigned long vmaddr)
 
void flush_cache_all (void)
 
 EXPORT_SYMBOL (flush_cache_all)
 
void flush_cache_mm (struct mm_struct *mm)
 
void flush_cache_dup_mm (struct mm_struct *mm)
 
void flush_cache_page (struct vm_area_struct *vma, unsigned long addr, unsigned long pfn)
 
void flush_cache_range (struct vm_area_struct *vma, unsigned long start, unsigned long end)
 
 EXPORT_SYMBOL (flush_cache_range)
 
void flush_dcache_page (struct page *page)
 
 EXPORT_SYMBOL (flush_dcache_page)
 
void flush_icache_range (unsigned long start, unsigned long end)
 
void flush_icache_page (struct vm_area_struct *vma, struct page *page)
 
void flush_cache_sigtramp (unsigned long address)
 
void __init cpu_cache_init (void)
 

Variables

void(* local_flush_cache_all )(void *args) = cache_noop
 
void(* local_flush_cache_mm )(void *args) = cache_noop
 
void(* local_flush_cache_dup_mm )(void *args) = cache_noop
 
void(* local_flush_cache_page )(void *args) = cache_noop
 
void(* local_flush_cache_range )(void *args) = cache_noop
 
void(* local_flush_dcache_page )(void *args) = cache_noop
 
void(* local_flush_icache_range )(void *args) = cache_noop
 
void(* local_flush_icache_page )(void *args) = cache_noop
 
void(* local_flush_cache_sigtramp )(void *args) = cache_noop
 
void(* __flush_wback_region )(void *start, int size)
 
void(* __flush_purge_region )(void *start, int size)
 
void(* __flush_invalidate_region )(void *start, int size)
 

Function Documentation

void __flush_anon_page ( struct page page,
unsigned long  vmaddr 
)

Definition at line 151 of file cache.c.

void __update_cache ( struct vm_area_struct vma,
unsigned long  address,
pte_t  pte 
)

Definition at line 134 of file cache.c.

void clear_user_highpage ( struct page page,
unsigned long  vaddr 
)

Definition at line 121 of file cache.c.

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

Definition at line 77 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 58 of file cache.c.

void copy_user_highpage ( struct page to,
struct page from,
unsigned long  vaddr,
struct vm_area_struct vma 
)

Definition at line 93 of file cache.c.

void __init cpu_cache_init ( void  )

Definition at line 284 of file cache.c.

EXPORT_SYMBOL ( __flush_wback_region  )
EXPORT_SYMBOL ( __flush_purge_region  )
EXPORT_SYMBOL ( __flush_invalidate_region  )
EXPORT_SYMBOL ( copy_user_highpage  )
EXPORT_SYMBOL ( clear_user_highpage  )
EXPORT_SYMBOL ( flush_cache_all  )
EXPORT_SYMBOL ( flush_cache_range  )
EXPORT_SYMBOL ( flush_dcache_page  )
void flush_cache_all ( void  )

Definition at line 169 of file cache.c.

void flush_cache_dup_mm ( struct mm_struct mm)

Definition at line 183 of file cache.c.

void flush_cache_mm ( struct mm_struct mm)

Definition at line 175 of file cache.c.

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

Definition at line 191 of file cache.c.

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

Definition at line 203 of file cache.c.

void flush_cache_sigtramp ( unsigned long  address)

Definition at line 239 of file cache.c.

void flush_dcache_page ( struct page page)

Definition at line 216 of file cache.c.

void flush_icache_page ( struct vm_area_struct vma,
struct page page 
)

Definition at line 233 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 222 of file cache.c.

Variable Documentation

void(* __flush_invalidate_region)(void *start, int size)

Definition at line 33 of file cache.c.

void(* __flush_purge_region)(void *start, int size)

Definition at line 31 of file cache.c.

void(* __flush_wback_region)(void *start, int size)

Definition at line 29 of file cache.c.

void(* local_flush_cache_all)(void *args) = cache_noop

Definition at line 19 of file cache.c.

void(* local_flush_cache_dup_mm)(void *args) = cache_noop

Definition at line 21 of file cache.c.

void(* local_flush_cache_mm)(void *args) = cache_noop

Definition at line 20 of file cache.c.

void(* local_flush_cache_page)(void *args) = cache_noop

Definition at line 22 of file cache.c.

void(* local_flush_cache_range)(void *args) = cache_noop

Definition at line 23 of file cache.c.

void(* local_flush_cache_sigtramp)(void *args) = cache_noop

Definition at line 27 of file cache.c.

void(* local_flush_dcache_page)(void *args) = cache_noop

Definition at line 24 of file cache.c.

void(* local_flush_icache_page)(void *args) = cache_noop

Definition at line 26 of file cache.c.

void(* local_flush_icache_range)(void *args) = cache_noop

Definition at line 25 of file cache.c.