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 <asm/intrinsics.h>
#include <asm/types.h>
#include <asm-generic/memory_model.h>

Go to the source code of this file.

Data Structures

union  ia64_va
 
struct  pte_t
 
struct  pmd_t
 
struct  pgd_t
 
struct  pgprot_t
 

Macros

#define RGN_SHIFT   (61)
 
#define RGN_BASE(r)   (__IA64_UL_CONST(r)<<RGN_SHIFT)
 
#define RGN_BITS   (RGN_BASE(-1))
 
#define RGN_KERNEL   7 /* Identity mapped region */
 
#define RGN_UNCACHED   6 /* Identity mapped I/O region */
 
#define RGN_GATE   5 /* Gate page, Kernel text, etc */
 
#define RGN_HPAGE   4 /* For Huge TLB pages */
 
#define PAGE_SIZE   (__IA64_UL_CONST(1) << PAGE_SHIFT)
 
#define PAGE_MASK   (~(PAGE_SIZE - 1))
 
#define PERCPU_PAGE_SHIFT   18 /* log2() of max. size of per-CPU area */
 
#define PERCPU_PAGE_SIZE   (__IA64_UL_CONST(1) << PERCPU_PAGE_SHIFT)
 
#define STRICT_MM_TYPECHECKS
 
#define clear_user_page(addr, vaddr, page)
 
#define copy_user_page(to, from, vaddr, page)
 
#define __alloc_zeroed_user_highpage(movableflags, vma, vaddr)
 
#define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE
 
#define virt_addr_valid(kaddr)   pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
 
#define ia64_pfn_valid(pfn)   1
 
#define page_to_phys(page)   (page_to_pfn(page) << PAGE_SHIFT)
 
#define virt_to_page(kaddr)   pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
 
#define pfn_to_kaddr(pfn)   __va((pfn) << PAGE_SHIFT)
 
#define __pa(x)   ({ia64_va _v; _v.l = (long) (x); _v.f.reg = 0; _v.l;})
 
#define __va(x)   ({ia64_va _v; _v.l = (long) (x); _v.f.reg = -1; _v.p;})
 
#define REGION_NUMBER(x)   ({ia64_va _v; _v.l = (long) (x); _v.f.reg;})
 
#define REGION_OFFSET(x)   ({ia64_va _v; _v.l = (long) (x); _v.f.off;})
 
#define pte_val(x)   ((x).pte)
 
#define pmd_val(x)   ((x).pmd)
 
#define pgd_val(x)   ((x).pgd)
 
#define pgprot_val(x)   ((x).pgprot)
 
#define __pte(x)   ((pte_t) { (x) } )
 
#define __pmd(x)   ((pmd_t) { (x) } )
 
#define __pgprot(x)   ((pgprot_t) { (x) } )
 
#define PAGE_OFFSET   RGN_BASE(RGN_KERNEL)
 
#define VM_DATA_DEFAULT_FLAGS
 
#define GATE_ADDR   RGN_BASE(RGN_GATE)
 
#define KERNEL_START   (GATE_ADDR+__IA64_UL_CONST(0x100000000))
 
#define PERCPU_ADDR   (-PERCPU_PAGE_SIZE)
 
#define LOAD_OFFSET   (KERNEL_START - KERNEL_TR_PAGE_SIZE)
 

Typedefs

typedef union ia64_va ia64_va
 
typedef struct pagepgtable_t
 

Functions

void clear_page (void *page)
 
void copy_page (void *to, void *from)
 

Macro Definition Documentation

#define __alloc_zeroed_user_highpage (   movableflags,
  vma,
  vaddr 
)
Value:
({ \
GFP_HIGHUSER | __GFP_ZERO | movableflags, vma, vaddr); \
if (page) \
flush_dcache_page(page); \
})

Definition at line 84 of file page.h.

#define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE

Definition at line 93 of file page.h.

#define __pa (   x)    ({ia64_va _v; _v.l = (long) (x); _v.f.reg = 0; _v.l;})

Definition at line 142 of file page.h.

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

Definition at line 193 of file page.h.

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

Definition at line 192 of file page.h.

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

Definition at line 191 of file page.h.

#define __va (   x)    ({ia64_va _v; _v.l = (long) (x); _v.f.reg = -1; _v.p;})

Definition at line 143 of file page.h.

#define clear_user_page (   addr,
  vaddr,
  page 
)
Value:
do { \
clear_page(addr); \
flush_dcache_page(page); \
} while (0)

Definition at line 71 of file page.h.

#define copy_user_page (   to,
  from,
  vaddr,
  page 
)
Value:
do { \
copy_page((to), (from)); \
flush_dcache_page(page); \
} while (0)

Definition at line 77 of file page.h.

#define GATE_ADDR   RGN_BASE(RGN_GATE)

Definition at line 224 of file page.h.

#define ia64_pfn_valid (   pfn)    1

Definition at line 100 of file page.h.

#define KERNEL_START   (GATE_ADDR+__IA64_UL_CONST(0x100000000))

Definition at line 230 of file page.h.

#define LOAD_OFFSET   (KERNEL_START - KERNEL_TR_PAGE_SIZE)

Definition at line 232 of file page.h.

#define PAGE_MASK   (~(PAGE_SIZE - 1))

Definition at line 42 of file page.h.

#define PAGE_OFFSET   RGN_BASE(RGN_KERNEL)

Definition at line 217 of file page.h.

#define PAGE_SIZE   (__IA64_UL_CONST(1) << PAGE_SHIFT)

Definition at line 41 of file page.h.

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

Definition at line 123 of file page.h.

#define PERCPU_ADDR   (-PERCPU_PAGE_SIZE)

Definition at line 231 of file page.h.

#define PERCPU_PAGE_SHIFT   18 /* log2() of max. size of per-CPU area */

Definition at line 44 of file page.h.

#define PERCPU_PAGE_SIZE   (__IA64_UL_CONST(1) << PERCPU_PAGE_SHIFT)

Definition at line 45 of file page.h.

#define pfn_to_kaddr (   pfn)    __va((pfn) << PAGE_SHIFT)

Definition at line 125 of file page.h.

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

Definition at line 188 of file page.h.

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

Definition at line 189 of file page.h.

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

Definition at line 184 of file page.h.

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

Definition at line 183 of file page.h.

#define REGION_NUMBER (   x)    ({ia64_va _v; _v.l = (long) (x); _v.f.reg;})

Definition at line 145 of file page.h.

#define REGION_OFFSET (   x)    ({ia64_va _v; _v.l = (long) (x); _v.f.off;})

Definition at line 146 of file page.h.

#define RGN_BASE (   r)    (__IA64_UL_CONST(r)<<RGN_SHIFT)

Definition at line 18 of file page.h.

#define RGN_BITS   (RGN_BASE(-1))

Definition at line 19 of file page.h.

#define RGN_GATE   5 /* Gate page, Kernel text, etc */

Definition at line 23 of file page.h.

#define RGN_HPAGE   4 /* For Huge TLB pages */

Definition at line 24 of file page.h.

#define RGN_KERNEL   7 /* Identity mapped region */

Definition at line 21 of file page.h.

#define RGN_SHIFT   (61)

Definition at line 17 of file page.h.

#define RGN_UNCACHED   6 /* Identity mapped I/O region */

Definition at line 22 of file page.h.

#define STRICT_MM_TYPECHECKS

Definition at line 62 of file page.h.

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

Definition at line 95 of file page.h.

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

Definition at line 124 of file page.h.

#define VM_DATA_DEFAULT_FLAGS
Value:
(VM_READ | VM_WRITE | \
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC | \
(((current->personality & READ_IMPLIES_EXEC) != 0) \
? VM_EXEC : 0))

Definition at line 219 of file page.h.

Typedef Documentation

typedef union ia64_va ia64_va
typedef struct page* pgtable_t

Definition at line 181 of file page.h.

Function Documentation

void clear_page ( void page)
void copy_page ( void to,
void from 
)

Definition at line 22 of file nommu.c.