Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Variables
page.h File Reference
#include <linux/const.h>
#include <linux/types.h>
#include <asm/vm-flags.h>
#include <mem.h>
#include <asm-generic/memory_model.h>
#include <asm-generic/getorder.h>

Go to the source code of this file.

Data Structures

struct  pte_t
 
struct  pgd_t
 
struct  pgprot_t
 

Macros

#define PAGE_SHIFT   12
 
#define PAGE_SIZE   (_AC(1, UL) << PAGE_SHIFT)
 
#define PAGE_MASK   (~(PAGE_SIZE-1))
 
#define clear_page(page)   memset((void *)(page), 0, PAGE_SIZE)
 
#define copy_page(to, from)   memcpy((void *)(to), (void *)(from), PAGE_SIZE)
 
#define clear_user_page(page, vaddr, pg)   clear_page(page)
 
#define copy_user_page(to, from, vaddr, pg)   copy_page(to, from)
 
#define pte_val(x)   ((x).pte)
 
#define pte_get_bits(p, bits)   ((p).pte & (bits))
 
#define pte_set_bits(p, bits)   ((p).pte |= (bits))
 
#define pte_clear_bits(p, bits)   ((p).pte &= ~(bits))
 
#define pte_copy(to, from)   ((to).pte = (from).pte)
 
#define pte_is_zero(p)   (!((p).pte & ~_PAGE_NEWPAGE))
 
#define pte_set_val(p, phys, prot)   (p).pte = (phys | pgprot_val(prot))
 
#define pgd_val(x)   ((x).pgd)
 
#define pgprot_val(x)   ((x).pgprot)
 
#define __pte(x)   ((pte_t) { (x) } )
 
#define __pgd(x)   ((pgd_t) { (x) } )
 
#define __pgprot(x)   ((pgprot_t) { (x) } )
 
#define PAGE_OFFSET   (uml_physmem)
 
#define KERNELBASE   PAGE_OFFSET
 
#define __va_space   (8*1024*1024)
 
#define __pa(virt)   to_phys((void *) (unsigned long) (virt))
 
#define __va(phys)   to_virt((unsigned long) (phys))
 
#define phys_to_pfn(p)   ((pfn_t) ((p) >> PAGE_SHIFT))
 
#define pfn_to_phys(pfn)   ((phys_t) ((pfn) << PAGE_SHIFT))
 
#define pfn_valid(pfn)   ((pfn) < max_mapnr)
 
#define virt_addr_valid(v)   pfn_valid(phys_to_pfn(__pa(v)))
 

Typedefs

typedef unsigned long pfn_t
 
typedef unsigned long phys_t
 
typedef struct pagepgtable_t
 

Variables

unsigned long uml_physmem
 

Macro Definition Documentation

#define __pa (   virt)    to_phys((void *) (unsigned long) (virt))

Definition at line 109 of file page.h.

#define __pgd (   x)    ((pgd_t) { (x) } )

Definition at line 92 of file page.h.

#define __pgprot (   x)    ((pgprot_t) { (x) } )

Definition at line 93 of file page.h.

#define __pte (   x)    ((pte_t) { (x) } )

Definition at line 91 of file page.h.

#define __va (   phys)    to_virt((unsigned long) (phys))

Definition at line 110 of file page.h.

#define __va_space   (8*1024*1024)

Definition at line 100 of file page.h.

#define clear_page (   page)    memset((void *)(page), 0, PAGE_SIZE)

Definition at line 28 of file page.h.

#define clear_user_page (   page,
  vaddr,
  pg 
)    clear_page(page)

Definition at line 31 of file page.h.

#define copy_page (   to,
  from 
)    memcpy((void *)(to), (void *)(from), PAGE_SIZE)

Definition at line 29 of file page.h.

#define copy_user_page (   to,
  from,
  vaddr,
  pg 
)    copy_page(to, from)

Definition at line 32 of file page.h.

#define KERNELBASE   PAGE_OFFSET

Definition at line 98 of file page.h.

#define PAGE_MASK   (~(PAGE_SIZE-1))

Definition at line 15 of file page.h.

#define PAGE_OFFSET   (uml_physmem)

Definition at line 97 of file page.h.

#define PAGE_SHIFT   12

Definition at line 13 of file page.h.

#define PAGE_SIZE   (_AC(1, UL) << PAGE_SHIFT)

Definition at line 14 of file page.h.

#define pfn_to_phys (   pfn)    ((phys_t) ((pfn) << PAGE_SHIFT))

Definition at line 113 of file page.h.

#define pfn_valid (   pfn)    ((pfn) < max_mapnr)

Definition at line 115 of file page.h.

#define pgd_val (   x)    ((x).pgd)

Definition at line 88 of file page.h.

#define pgprot_val (   x)    ((x).pgprot)

Definition at line 89 of file page.h.

#define phys_to_pfn (   p)    ((pfn_t) ((p) >> PAGE_SHIFT))

Definition at line 112 of file page.h.

#define pte_clear_bits (   p,
  bits 
)    ((p).pte &= ~(bits))

Definition at line 74 of file page.h.

#define pte_copy (   to,
  from 
)    ((to).pte = (from).pte)

Definition at line 75 of file page.h.

#define pte_get_bits (   p,
  bits 
)    ((p).pte & (bits))

Definition at line 72 of file page.h.

#define pte_is_zero (   p)    (!((p).pte & ~_PAGE_NEWPAGE))

Definition at line 76 of file page.h.

#define pte_set_bits (   p,
  bits 
)    ((p).pte |= (bits))

Definition at line 73 of file page.h.

#define pte_set_val (   p,
  phys,
  prot 
)    (p).pte = (phys | pgprot_val(prot))

Definition at line 77 of file page.h.

#define pte_val (   x)    ((x).pte)

Definition at line 69 of file page.h.

#define virt_addr_valid (   v)    pfn_valid(phys_to_pfn(__pa(v)))

Definition at line 116 of file page.h.

Typedef Documentation

typedef unsigned long pfn_t

Definition at line 79 of file page.h.

typedef struct page* pgtable_t

Definition at line 86 of file page.h.

typedef unsigned long phys_t

Definition at line 80 of file page.h.

Variable Documentation

unsigned long uml_physmem

Definition at line 109 of file um_arch.c.