Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
pgtable.h File Reference
#include <asm/io.h>
#include <asm/pgtable-bits.h>
#include <asm-generic/pgtable.h>

Go to the source code of this file.

Macros

#define PAGE_NONE   __pgprot(_PAGE_PRESENT | _CACHE_CACHABLE_NONCOHERENT)
 
#define PAGE_SHARED
 
#define PAGE_COPY
 
#define PAGE_READONLY
 
#define PAGE_KERNEL
 
#define PAGE_USERIO
 
#define PAGE_KERNEL_UNCACHED
 
#define __P000   __pgprot(0)
 
#define __P001   __pgprot(0)
 
#define __P010   __pgprot(0)
 
#define __P011   __pgprot(0)
 
#define __P100   __pgprot(0)
 
#define __P101   __pgprot(0)
 
#define __P110   __pgprot(0)
 
#define __P111   __pgprot(0)
 
#define __S000   __pgprot(0)
 
#define __S001   __pgprot(0)
 
#define __S010   __pgprot(0)
 
#define __S011   __pgprot(0)
 
#define __S100   __pgprot(0)
 
#define __S101   __pgprot(0)
 
#define __S110   __pgprot(0)
 
#define __S111   __pgprot(0)
 
#define ZERO_PAGE(vaddr)   (virt_to_page((void *)(empty_zero_page + (((unsigned long)(vaddr)) & zero_page_mask))))
 
#define is_zero_pfn   is_zero_pfn
 
#define my_zero_pfn(addr)   page_to_pfn(ZERO_PAGE(addr))
 
#define pmd_phys(pmd)   virt_to_phys((void *)pmd_val(pmd))
 
#define pmd_page(pmd)   (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT))
 
#define pmd_page_vaddr(pmd)   pmd_val(pmd)
 
#define pte_none(pte)   (!(pte_val(pte) & ~_PAGE_GLOBAL))
 
#define pte_present(pte)   (pte_val(pte) & _PAGE_PRESENT)
 
#define set_pte_at(mm, addr, ptep, pteval)   set_pte(ptep, pteval)
 
#define set_pmd(pmdptr, pmdval)   do { *(pmdptr) = (pmdval); } while(0)
 
#define set_pud(pudptr, pudval)   do { *(pudptr) = (pudval); } while(0)
 
#define PGD_T_LOG2   (__builtin_ffs(sizeof(pgd_t)) - 1)
 
#define PMD_T_LOG2   (__builtin_ffs(sizeof(pmd_t)) - 1)
 
#define PTE_T_LOG2   (__builtin_ffs(sizeof(pte_t)) - 1)
 
#define pgprot_noncached   pgprot_noncached
 
#define mk_pte(page, pgprot)   pfn_pte(page_to_pfn(page), (pgprot))
 
#define kern_addr_valid(addr)   (1)
 
#define io_remap_pfn_range(vma, vaddr, pfn, size, prot)   remap_pfn_range(vma, vaddr, pfn, size, prot)
 
#define HAVE_ARCH_UNMAPPED_AREA
 
#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN
 
#define pgtable_cache_init()   do { } while (0)
 

Functions

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

Variables

unsigned long _page_cachable_default
 
unsigned long empty_zero_page
 
unsigned long zero_page_mask
 
pgd_t swapper_pg_dir []
 

Macro Definition Documentation

#define __P000   __pgprot(0)

Definition at line 49 of file pgtable.h.

#define __P001   __pgprot(0)

Definition at line 50 of file pgtable.h.

#define __P010   __pgprot(0)

Definition at line 51 of file pgtable.h.

#define __P011   __pgprot(0)

Definition at line 52 of file pgtable.h.

#define __P100   __pgprot(0)

Definition at line 53 of file pgtable.h.

#define __P101   __pgprot(0)

Definition at line 54 of file pgtable.h.

#define __P110   __pgprot(0)

Definition at line 55 of file pgtable.h.

#define __P111   __pgprot(0)

Definition at line 56 of file pgtable.h.

#define __S000   __pgprot(0)

Definition at line 58 of file pgtable.h.

#define __S001   __pgprot(0)

Definition at line 59 of file pgtable.h.

#define __S010   __pgprot(0)

Definition at line 60 of file pgtable.h.

#define __S011   __pgprot(0)

Definition at line 61 of file pgtable.h.

#define __S100   __pgprot(0)

Definition at line 62 of file pgtable.h.

#define __S101   __pgprot(0)

Definition at line 63 of file pgtable.h.

#define __S110   __pgprot(0)

Definition at line 64 of file pgtable.h.

#define __S111   __pgprot(0)

Definition at line 65 of file pgtable.h.

#define HAVE_ARCH_UNMAPPED_AREA

Definition at line 416 of file pgtable.h.

#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN

Definition at line 417 of file pgtable.h.

#define io_remap_pfn_range (   vma,
  vaddr,
  pfn,
  size,
  prot 
)    remap_pfn_range(vma, vaddr, pfn, size, prot)

Definition at line 393 of file pgtable.h.

#define is_zero_pfn   is_zero_pfn

Definition at line 80 of file pgtable.h.

#define kern_addr_valid (   addr)    (1)

Definition at line 378 of file pgtable.h.

#define mk_pte (   page,
  pgprot 
)    pfn_pte(page_to_pfn(page), (pgprot))

Definition at line 346 of file pgtable.h.

#define my_zero_pfn (   addr)    page_to_pfn(ZERO_PAGE(addr))

Definition at line 88 of file pgtable.h.

#define PAGE_COPY
Value:

Definition at line 27 of file pgtable.h.

#define PAGE_KERNEL
#define PAGE_KERNEL_UNCACHED
Value:

Definition at line 35 of file pgtable.h.

Definition at line 24 of file pgtable.h.

#define PAGE_READONLY
Value:

Definition at line 29 of file pgtable.h.

#define PAGE_SHARED
Value:

Definition at line 25 of file pgtable.h.

#define PAGE_USERIO
Value:

Definition at line 33 of file pgtable.h.

#define PGD_T_LOG2   (__builtin_ffs(sizeof(pgd_t)) - 1)

Definition at line 189 of file pgtable.h.

#define pgprot_noncached   pgprot_noncached

Definition at line 331 of file pgtable.h.

#define pgtable_cache_init (   void)    do { } while (0)

Definition at line 422 of file pgtable.h.

#define pmd_page (   pmd)    (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT))

Definition at line 97 of file pgtable.h.

#define pmd_page_vaddr (   pmd)    pmd_val(pmd)

Definition at line 98 of file pgtable.h.

#define pmd_phys (   pmd)    virt_to_phys((void *)pmd_val(pmd))

Definition at line 96 of file pgtable.h.

#define PMD_T_LOG2   (__builtin_ffs(sizeof(pmd_t)) - 1)

Definition at line 190 of file pgtable.h.

#define pte_none (   pte)    (!(pte_val(pte) & ~_PAGE_GLOBAL))

Definition at line 138 of file pgtable.h.

#define pte_present (   pte)    (pte_val(pte) & _PAGE_PRESENT)

Definition at line 139 of file pgtable.h.

#define PTE_T_LOG2   (__builtin_ffs(sizeof(pte_t)) - 1)

Definition at line 191 of file pgtable.h.

#define set_pmd (   pmdptr,
  pmdval 
)    do { *(pmdptr) = (pmdval); } while(0)

Definition at line 179 of file pgtable.h.

#define set_pte_at (   mm,
  addr,
  ptep,
  pteval 
)    set_pte(ptep, pteval)

Definition at line 161 of file pgtable.h.

#define set_pud (   pudptr,
  pudval 
)    do { *(pudptr) = (pudval); } while(0)

Definition at line 186 of file pgtable.h.

#define ZERO_PAGE (   vaddr)    (virt_to_page((void *)(empty_zero_page + (((unsigned long)(vaddr)) & zero_page_mask))))

Definition at line 77 of file pgtable.h.

Function Documentation

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

Definition at line 121 of file cache.c.

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

Definition at line 189 of file tlb-r3k.c.

void paging_init ( void  )

paging_init - setup page tables

paging_init() sets up the page tables for each node of the system and frees the bootmem allocator memory for general use.

Definition at line 238 of file init.c.

Variable Documentation

unsigned long _page_cachable_default

Definition at line 140 of file cache.c.

unsigned long empty_zero_page

Definition at line 42 of file mmu.c.

pgd_t swapper_pg_dir[]

Definition at line 36 of file init.c.

unsigned long zero_page_mask

Definition at line 42 of file init.c.