Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
pageattr.c File Reference
#include <linux/highmem.h>
#include <linux/bootmem.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
#include <linux/seq_file.h>
#include <linux/debugfs.h>
#include <linux/pfn.h>
#include <linux/percpu.h>
#include <linux/gfp.h>
#include <linux/pci.h>
#include <asm/e820.h>
#include <asm/processor.h>
#include <asm/tlbflush.h>
#include <asm/sections.h>
#include <asm/setup.h>
#include <asm/uaccess.h>
#include <asm/pgalloc.h>
#include <asm/proto.h>
#include <asm/pat.h>

Go to the source code of this file.

Data Structures

struct  cpa_data
 

Macros

#define CPA_FLUSHTLB   1
 
#define CPA_ARRAY   2
 
#define CPA_PAGES_ARRAY   4
 
#define debug_pagealloc   0
 

Functions

void clflush_cache_range (void *vaddr, unsigned int size)
 
 EXPORT_SYMBOL_GPL (clflush_cache_range)
 
pte_tlookup_address (unsigned long address, unsigned int *level)
 
 EXPORT_SYMBOL_GPL (lookup_address)
 
int _set_memory_uc (unsigned long addr, int numpages)
 
int set_memory_uc (unsigned long addr, int numpages)
 
 EXPORT_SYMBOL (set_memory_uc)
 
int set_memory_array_uc (unsigned long *addr, int addrinarray)
 
 EXPORT_SYMBOL (set_memory_array_uc)
 
int set_memory_array_wc (unsigned long *addr, int addrinarray)
 
 EXPORT_SYMBOL (set_memory_array_wc)
 
int _set_memory_wc (unsigned long addr, int numpages)
 
int set_memory_wc (unsigned long addr, int numpages)
 
 EXPORT_SYMBOL (set_memory_wc)
 
int _set_memory_wb (unsigned long addr, int numpages)
 
int set_memory_wb (unsigned long addr, int numpages)
 
 EXPORT_SYMBOL (set_memory_wb)
 
int set_memory_array_wb (unsigned long *addr, int addrinarray)
 
 EXPORT_SYMBOL (set_memory_array_wb)
 
int set_memory_x (unsigned long addr, int numpages)
 
 EXPORT_SYMBOL (set_memory_x)
 
int set_memory_nx (unsigned long addr, int numpages)
 
 EXPORT_SYMBOL (set_memory_nx)
 
int set_memory_ro (unsigned long addr, int numpages)
 
 EXPORT_SYMBOL_GPL (set_memory_ro)
 
int set_memory_rw (unsigned long addr, int numpages)
 
 EXPORT_SYMBOL_GPL (set_memory_rw)
 
int set_memory_np (unsigned long addr, int numpages)
 
int set_memory_4k (unsigned long addr, int numpages)
 
int set_pages_uc (struct page *page, int numpages)
 
 EXPORT_SYMBOL (set_pages_uc)
 
int set_pages_array_uc (struct page **pages, int addrinarray)
 
 EXPORT_SYMBOL (set_pages_array_uc)
 
int set_pages_array_wc (struct page **pages, int addrinarray)
 
 EXPORT_SYMBOL (set_pages_array_wc)
 
int set_pages_wb (struct page *page, int numpages)
 
 EXPORT_SYMBOL (set_pages_wb)
 
int set_pages_array_wb (struct page **pages, int addrinarray)
 
 EXPORT_SYMBOL (set_pages_array_wb)
 
int set_pages_x (struct page *page, int numpages)
 
 EXPORT_SYMBOL (set_pages_x)
 
int set_pages_nx (struct page *page, int numpages)
 
 EXPORT_SYMBOL (set_pages_nx)
 
int set_pages_ro (struct page *page, int numpages)
 
int set_pages_rw (struct page *page, int numpages)
 

Macro Definition Documentation

#define CPA_ARRAY   2

Definition at line 52 of file pageattr.c.

#define CPA_FLUSHTLB   1

Definition at line 51 of file pageattr.c.

#define CPA_PAGES_ARRAY   4

Definition at line 53 of file pageattr.c.

#define debug_pagealloc   0

Definition at line 110 of file pageattr.c.

Function Documentation

int _set_memory_uc ( unsigned long  addr,
int  numpages 
)

Definition at line 967 of file pageattr.c.

int _set_memory_wb ( unsigned long  addr,
int  numpages 
)

Definition at line 1090 of file pageattr.c.

int _set_memory_wc ( unsigned long  addr,
int  numpages 
)

Definition at line 1049 of file pageattr.c.

void clflush_cache_range ( void vaddr,
unsigned int  size 
)

clflush_cache_range - flush a cache range with clflush : virtual start address : number of bytes to flush

clflush is an unordered instruction which needs fencing with mfence to avoid ordering issues.

Definition at line 131 of file pageattr.c.

EXPORT_SYMBOL ( set_memory_uc  )
EXPORT_SYMBOL ( set_memory_array_uc  )
EXPORT_SYMBOL ( set_memory_array_wc  )
EXPORT_SYMBOL ( set_memory_wc  )
EXPORT_SYMBOL ( set_memory_wb  )
EXPORT_SYMBOL ( set_memory_array_wb  )
EXPORT_SYMBOL ( set_memory_x  )
EXPORT_SYMBOL ( set_memory_nx  )
EXPORT_SYMBOL ( set_pages_uc  )
EXPORT_SYMBOL ( set_pages_array_uc  )
EXPORT_SYMBOL ( set_pages_array_wc  )
EXPORT_SYMBOL ( set_pages_wb  )
EXPORT_SYMBOL ( set_pages_array_wb  )
EXPORT_SYMBOL ( set_pages_x  )
EXPORT_SYMBOL ( set_pages_nx  )
EXPORT_SYMBOL_GPL ( clflush_cache_range  )
EXPORT_SYMBOL_GPL ( lookup_address  )
EXPORT_SYMBOL_GPL ( set_memory_ro  )
EXPORT_SYMBOL_GPL ( set_memory_rw  )
pte_t* lookup_address ( unsigned long  address,
unsigned int level 
)

Definition at line 333 of file pageattr.c.

int set_memory_4k ( unsigned long  addr,
int  numpages 
)

Definition at line 1161 of file pageattr.c.

int set_memory_array_uc ( unsigned long addr,
int  addrinarray 
)

Definition at line 1037 of file pageattr.c.

int set_memory_array_wb ( unsigned long addr,
int  addrinarray 
)

Definition at line 1109 of file pageattr.c.

int set_memory_array_wc ( unsigned long addr,
int  addrinarray 
)

Definition at line 1043 of file pageattr.c.

int set_memory_np ( unsigned long  addr,
int  numpages 
)

Definition at line 1156 of file pageattr.c.

int set_memory_nx ( unsigned long  addr,
int  numpages 
)

Definition at line 1135 of file pageattr.c.

int set_memory_ro ( unsigned long  addr,
int  numpages 
)

Definition at line 1144 of file pageattr.c.

int set_memory_rw ( unsigned long  addr,
int  numpages 
)

Definition at line 1150 of file pageattr.c.

int set_memory_uc ( unsigned long  addr,
int  numpages 
)

Definition at line 976 of file pageattr.c.

int set_memory_wb ( unsigned long  addr,
int  numpages 
)

Definition at line 1096 of file pageattr.c.

int set_memory_wc ( unsigned long  addr,
int  numpages 
)

Definition at line 1065 of file pageattr.c.

int set_memory_x ( unsigned long  addr,
int  numpages 
)

Definition at line 1126 of file pageattr.c.

int set_pages_array_uc ( struct page **  pages,
int  addrinarray 
)

Definition at line 1215 of file pageattr.c.

int set_pages_array_wb ( struct page **  pages,
int  addrinarray 
)

Definition at line 1235 of file pageattr.c.

int set_pages_array_wc ( struct page **  pages,
int  addrinarray 
)

Definition at line 1221 of file pageattr.c.

int set_pages_nx ( struct page page,
int  numpages 
)

Definition at line 1267 of file pageattr.c.

int set_pages_ro ( struct page page,
int  numpages 
)

Definition at line 1275 of file pageattr.c.

int set_pages_rw ( struct page page,
int  numpages 
)

Definition at line 1282 of file pageattr.c.

int set_pages_uc ( struct page page,
int  numpages 
)

Definition at line 1167 of file pageattr.c.

int set_pages_wb ( struct page page,
int  numpages 
)

Definition at line 1227 of file pageattr.c.

int set_pages_x ( struct page page,
int  numpages 
)

Definition at line 1259 of file pageattr.c.