Linux Kernel
3.7.1
|
#include <asm/page.h>
#include <asm/e820.h>
#include <asm/pgtable_types.h>
#include <asm/x86_init.h>
#include <asm/pgtable_64.h>
#include <linux/mm_types.h>
#include <asm-generic/pgtable.h>
Go to the source code of this file.
Macros | |
#define | pgprot_noncached(prot) |
#define | ZERO_PAGE(vaddr) (virt_to_page(empty_zero_page)) |
#define | set_pte(ptep, pte) native_set_pte(ptep, pte) |
#define | set_pte_at(mm, addr, ptep, pte) native_set_pte_at(mm, addr, ptep, pte) |
#define | set_pmd_at(mm, addr, pmdp, pmd) native_set_pmd_at(mm, addr, pmdp, pmd) |
#define | set_pte_atomic(ptep, pte) native_set_pte_atomic(ptep, pte) |
#define | set_pmd(pmdp, pmd) native_set_pmd(pmdp, pmd) |
#define | set_pgd(pgdp, pgd) native_set_pgd(pgdp, pgd) |
#define | pgd_clear(pgd) native_pgd_clear(pgd) |
#define | set_pud(pudp, pud) native_set_pud(pudp, pud) |
#define | pud_clear(pud) native_pud_clear(pud) |
#define | pte_clear(mm, addr, ptep) native_pte_clear(mm, addr, ptep) |
#define | pmd_clear(pmd) native_pmd_clear(pmd) |
#define | pte_update(mm, addr, ptep) do { } while (0) |
#define | pte_update_defer(mm, addr, ptep) do { } while (0) |
#define | pmd_update(mm, addr, ptep) do { } while (0) |
#define | pmd_update_defer(mm, addr, ptep) do { } while (0) |
#define | pgd_val(x) native_pgd_val(x) |
#define | __pgd(x) native_make_pgd(x) |
#define | pud_val(x) native_pud_val(x) |
#define | __pud(x) native_make_pud(x) |
#define | pmd_val(x) native_pmd_val(x) |
#define | __pmd(x) native_make_pmd(x) |
#define | pte_val(x) native_pte_val(x) |
#define | __pte(x) native_make_pte(x) |
#define | arch_end_context_switch(prev) do {} while(0) |
#define | pte_page(pte) pfn_to_page(pte_pfn(pte)) |
#define | pgprot_modify pgprot_modify |
#define | pte_pgprot(x) __pgprot(pte_flags(x) & PTE_FLAGS_MASK) |
#define | canon_pgprot(p) __pgprot(massage_pgprot(p)) |
#define | __HAVE_ARCH_PTE_SAME |
#define | pmd_page(pmd) pfn_to_page((pmd_val(pmd) & PTE_PFN_MASK) >> PAGE_SHIFT) |
#define | mk_pte(page, pgprot) pfn_pte(page_to_pfn(page), (pgprot)) |
#define | io_remap_pfn_range(vma, vaddr, pfn, size, prot) remap_pfn_range(vma, vaddr, pfn, size, prot) |
#define | pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD - 1)) |
#define | pgd_offset(mm, address) ((mm)->pgd + pgd_index((address))) |
#define | pgd_offset_k(address) pgd_offset(&init_mm, (address)) |
#define | KERNEL_PGD_BOUNDARY pgd_index(PAGE_OFFSET) |
#define | KERNEL_PGD_PTRS (PTRS_PER_PGD - KERNEL_PGD_BOUNDARY) |
#define | pte_update(mm, addr, ptep) do { } while (0) |
#define | pte_update_defer(mm, addr, ptep) do { } while (0) |
#define | __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS |
#define | __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG |
#define | __HAVE_ARCH_PTEP_CLEAR_YOUNG_FLUSH |
#define | __HAVE_ARCH_PTEP_GET_AND_CLEAR |
#define | __HAVE_ARCH_PTEP_GET_AND_CLEAR_FULL |
#define | __HAVE_ARCH_PTEP_SET_WRPROTECT |
#define | flush_tlb_fix_spurious_fault(vma, address) do { } while (0) |
#define | mk_pmd(page, pgprot) pfn_pmd(page_to_pfn(page), (pgprot)) |
#define | __HAVE_ARCH_PMDP_SET_ACCESS_FLAGS |
#define | __HAVE_ARCH_PMDP_TEST_AND_CLEAR_YOUNG |
#define | __HAVE_ARCH_PMDP_CLEAR_YOUNG_FLUSH |
#define | __HAVE_ARCH_PMDP_SPLITTING_FLUSH |
#define | __HAVE_ARCH_PMD_WRITE |
#define | __HAVE_ARCH_PMDP_GET_AND_CLEAR |
#define | __HAVE_ARCH_PMDP_SET_WRPROTECT |
Functions | |
struct mm_struct * | pgd_page_get_mm (struct page *page) |
pmd_t * | populate_extra_pmd (unsigned long vaddr) |
pte_t * | populate_extra_pte (unsigned long vaddr) |
int | ptep_set_access_flags (struct vm_area_struct *vma, unsigned long address, pte_t *ptep, pte_t entry, int dirty) |
int | ptep_test_and_clear_young (struct vm_area_struct *vma, unsigned long addr, pte_t *ptep) |
int | ptep_clear_flush_young (struct vm_area_struct *vma, unsigned long address, pte_t *ptep) |
int | pmdp_set_access_flags (struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp, pmd_t entry, int dirty) |
int | pmdp_test_and_clear_young (struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp) |
int | pmdp_clear_flush_young (struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp) |
void | pmdp_splitting_flush (struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp) |
Variables | |
unsigned long | empty_zero_page [PAGE_SIZE/sizeof(unsigned long)] |
spinlock_t | pgd_lock |
struct list_head | pgd_list |
int | direct_gbpages |
#define flush_tlb_fix_spurious_fault | ( | vma, | |
address | |||
) | do { } while (0) |
#define io_remap_pfn_range | ( | vma, | |
vaddr, | |||
pfn, | |||
size, | |||
prot | |||
) | remap_pfn_range(vma, vaddr, pfn, size, prot) |
#define KERNEL_PGD_BOUNDARY pgd_index(PAGE_OFFSET) |
#define KERNEL_PGD_PTRS (PTRS_PER_PGD - KERNEL_PGD_BOUNDARY) |
#define pgd_index | ( | address | ) | (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD - 1)) |
#define pgd_offset_k | ( | address | ) | pgd_offset(&init_mm, (address)) |
#define pgprot_noncached | ( | prot | ) |
#define pmd_page | ( | pmd | ) | pfn_to_page((pmd_val(pmd) & PTE_PFN_MASK) >> PAGE_SHIFT) |
#define pmd_update_defer | ( | mm, | |
addr, | |||
ptep | |||
) | do { } while (0) |
#define pte_pgprot | ( | x | ) | __pgprot(pte_flags(x) & PTE_FLAGS_MASK) |
#define pte_update_defer | ( | mm, | |
addr, | |||
ptep | |||
) | do { } while (0) |
#define pte_update_defer | ( | mm, | |
addr, | |||
ptep | |||
) | do { } while (0) |
#define ZERO_PAGE | ( | vaddr | ) | (virt_to_page(empty_zero_page)) |
int pmdp_clear_flush_young | ( | struct vm_area_struct * | vma, |
unsigned long | address, | ||
pmd_t * | pmdp | ||
) |
Definition at line 69 of file pgtable-generic.c.
int pmdp_set_access_flags | ( | struct vm_area_struct * | vma, |
unsigned long | address, | ||
pmd_t * | pmdp, | ||
pmd_t | entry, | ||
int | dirty | ||
) |
Definition at line 37 of file pgtable-generic.c.
void pmdp_splitting_flush | ( | struct vm_area_struct * | vma, |
unsigned long | addr, | ||
pmd_t * | pmdp | ||
) |
int pmdp_test_and_clear_young | ( | struct vm_area_struct * | vma, |
unsigned long | addr, | ||
pmd_t * | pmdp | ||
) |
int ptep_clear_flush_young | ( | struct vm_area_struct * | vma, |
unsigned long | address, | ||
pte_t * | ptep | ||
) |
int ptep_test_and_clear_young | ( | struct vm_area_struct * | vma, |
unsigned long | addr, | ||
pte_t * | ptep | ||
) |
spinlock_t pgd_lock |