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

Go to the source code of this file.

Data Structures

struct  pgprot_t
 
struct  pgste_t
 
struct  pte_t
 
struct  pmd_t
 
struct  pud_t
 
struct  pgd_t
 

Macros

#define PAGE_SHIFT   12
 
#define PAGE_SIZE   (_AC(1,UL) << PAGE_SHIFT)
 
#define PAGE_MASK   (~(PAGE_SIZE-1))
 
#define PAGE_DEFAULT_ACC   0
 
#define PAGE_DEFAULT_KEY   (PAGE_DEFAULT_ACC << 4)
 
#define HPAGE_SHIFT   20
 
#define HPAGE_SIZE   (1UL << HPAGE_SHIFT)
 
#define HPAGE_MASK   (~(HPAGE_SIZE - 1))
 
#define HUGETLB_PAGE_ORDER   (HPAGE_SHIFT - PAGE_SHIFT)
 
#define ARCH_HAS_SETCLEAR_HUGE_PTE
 
#define ARCH_HAS_HUGE_PTE_TYPE
 
#define ARCH_HAS_PREPARE_HUGEPAGE
 
#define ARCH_HAS_HUGEPAGE_CLEAR_FLUSH
 
#define clear_user_page(page, vaddr, pg)   clear_page(page)
 
#define copy_user_page(to, from, vaddr, pg)   copy_page(to, from)
 
#define __alloc_zeroed_user_highpage(movableflags, vma, vaddr)   alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO | movableflags, vma, vaddr)
 
#define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE
 
#define pgprot_val(x)   ((x).pgprot)
 
#define pgste_val(x)   ((x).pgste)
 
#define pte_val(x)   ((x).pte)
 
#define pmd_val(x)   ((x).pmd)
 
#define pud_val(x)   ((x).pud)
 
#define pgd_val(x)   ((x).pgd)
 
#define __pgste(x)   ((pgste_t) { (x) } )
 
#define __pte(x)   ((pte_t) { (x) } )
 
#define __pmd(x)   ((pmd_t) { (x) } )
 
#define __pud(x)   ((pud_t) { (x) } )
 
#define __pgd(x)   ((pgd_t) { (x) } )
 
#define __pgprot(x)   ((pgprot_t) { (x) } )
 
#define _PAGE_CHANGED   0x02 /* HW changed bit */
 
#define _PAGE_REFERENCED   0x04 /* HW referenced bit */
 
#define _PAGE_FP_BIT   0x08 /* HW fetch protection bit */
 
#define _PAGE_ACC_BITS   0xf0 /* HW access control bits */
 
#define __HAVE_ARCH_PAGE_TEST_AND_CLEAR_DIRTY
 
#define __HAVE_ARCH_PAGE_TEST_AND_CLEAR_YOUNG
 
#define HAVE_ARCH_FREE_PAGE
 
#define HAVE_ARCH_ALLOC_PAGE
 
#define __PAGE_OFFSET   0x0UL
 
#define PAGE_OFFSET   0x0UL
 
#define __pa(x)   (unsigned long)(x)
 
#define __va(x)   (void *)(unsigned long)(x)
 
#define virt_to_page(kaddr)   pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
 
#define page_to_phys(page)   (page_to_pfn(page) << PAGE_SHIFT)
 
#define virt_addr_valid(kaddr)   pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
 
#define VM_DATA_DEFAULT_FLAGS
 
#define __HAVE_ARCH_GATE_AREA   1
 

Typedefs

typedef pte_tpgtable_t
 

Functions

void arch_free_page (struct page *page, int order)
 
void arch_alloc_page (struct page *page, int order)
 
void arch_set_page_states (int make_stable)
 

Macro Definition Documentation

#define __alloc_zeroed_user_highpage (   movableflags,
  vma,
  vaddr 
)    alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO | movableflags, vma, vaddr)

Definition at line 90 of file page.h.

#define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE

Definition at line 92 of file page.h.

#define __HAVE_ARCH_GATE_AREA   1

Definition at line 212 of file page.h.

#define __HAVE_ARCH_PAGE_TEST_AND_CLEAR_DIRTY

Definition at line 162 of file page.h.

#define __HAVE_ARCH_PAGE_TEST_AND_CLEAR_YOUNG

Definition at line 177 of file page.h.

#define __pa (   x)    (unsigned long)(x)

Definition at line 200 of file page.h.

#define __PAGE_OFFSET   0x0UL

Definition at line 198 of file page.h.

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

Definition at line 117 of file page.h.

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

Definition at line 118 of file page.h.

#define __pgste (   x)    ((pgste_t) { (x) } )

Definition at line 113 of file page.h.

#define __pmd (   x)    ((pmd_t) { (x) } )

Definition at line 115 of file page.h.

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

Definition at line 114 of file page.h.

#define __pud (   x)    ((pud_t) { (x) } )

Definition at line 116 of file page.h.

#define __va (   x)    (void *)(unsigned long)(x)

Definition at line 201 of file page.h.

#define _PAGE_ACC_BITS   0xf0 /* HW access control bits */

Definition at line 153 of file page.h.

#define _PAGE_CHANGED   0x02 /* HW changed bit */

Definition at line 150 of file page.h.

#define _PAGE_FP_BIT   0x08 /* HW fetch protection bit */

Definition at line 152 of file page.h.

#define _PAGE_REFERENCED   0x04 /* HW referenced bit */

Definition at line 151 of file page.h.

#define ARCH_HAS_HUGE_PTE_TYPE

Definition at line 26 of file page.h.

#define ARCH_HAS_HUGEPAGE_CLEAR_FLUSH

Definition at line 28 of file page.h.

#define ARCH_HAS_PREPARE_HUGEPAGE

Definition at line 27 of file page.h.

#define ARCH_HAS_SETCLEAR_HUGE_PTE

Definition at line 25 of file page.h.

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

Definition at line 87 of file page.h.

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

Definition at line 88 of file page.h.

#define HAVE_ARCH_ALLOC_PAGE

Definition at line 194 of file page.h.

#define HAVE_ARCH_FREE_PAGE

Definition at line 193 of file page.h.

#define HPAGE_MASK   (~(HPAGE_SIZE - 1))

Definition at line 22 of file page.h.

#define HPAGE_SHIFT   20

Definition at line 20 of file page.h.

#define HPAGE_SIZE   (1UL << HPAGE_SHIFT)

Definition at line 21 of file page.h.

#define HUGETLB_PAGE_ORDER   (HPAGE_SHIFT - PAGE_SHIFT)

Definition at line 23 of file page.h.

#define PAGE_DEFAULT_ACC   0

Definition at line 17 of file page.h.

#define PAGE_DEFAULT_KEY   (PAGE_DEFAULT_ACC << 4)

Definition at line 18 of file page.h.

#define PAGE_MASK   (~(PAGE_SIZE-1))

Definition at line 16 of file page.h.

#define PAGE_OFFSET   0x0UL

Definition at line 199 of file page.h.

#define PAGE_SHIFT   12

Definition at line 14 of file page.h.

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

Definition at line 15 of file page.h.

#define page_to_phys (   page)    (page_to_pfn(page) << PAGE_SHIFT)

Definition at line 203 of file page.h.

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

Definition at line 111 of file page.h.

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

Definition at line 106 of file page.h.

#define pgste_val (   x)    ((x).pgste)

Definition at line 107 of file page.h.

#define pmd_val (   x)    ((x).pmd)

Definition at line 109 of file page.h.

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

Definition at line 108 of file page.h.

#define pud_val (   x)    ((x).pud)

Definition at line 110 of file page.h.

#define virt_addr_valid (   kaddr)    pfn_valid(__pa(kaddr) >> PAGE_SHIFT)

Definition at line 204 of file page.h.

#define virt_to_page (   kaddr)    pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)

Definition at line 202 of file page.h.

#define VM_DATA_DEFAULT_FLAGS
Value:
(VM_READ | VM_WRITE | \
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)

Definition at line 206 of file page.h.

Typedef Documentation

typedef pte_t* pgtable_t

Definition at line 104 of file page.h.

Function Documentation

void arch_alloc_page ( struct page page,
int  order 
)

Definition at line 83 of file page-states.c.

void arch_free_page ( struct page page,
int  order 
)

Definition at line 65 of file page-states.c.

void arch_set_page_states ( int  make_stable)

Definition at line 90 of file page-states.c.