3 #include <linux/linkage.h>
14 void set_pte_mfn(unsigned long vaddr
, unsigned long pfn
, pgprot_t flags
);
17 void xen_activate_mm(struct mm_struct
*prev
, struct mm_struct
*next
);
18 void xen_dup_mmap(struct mm_struct
*oldmm
, struct mm_struct
*mm
);
19 void xen_exit_mmap(struct mm_struct
*mm
);
21 pteval_t
xen_pte_val(pte_t
);
22 pmdval_t
xen_pmd_val(pmd_t
);
23 pgdval_t
xen_pgd_val(pgd_t
);
25 pte_t
xen_make_pte(pteval_t
);
26 pmd_t
xen_make_pmd(pmdval_t
);
27 pgd_t
xen_make_pgd(pgdval_t
);
29 void xen_set_pte(pte_t
*ptep
, pte_t pteval
);
30 void xen_set_pte_at(struct mm_struct
*mm
, unsigned long addr
,
31 pte_t
*ptep
, pte_t pteval
);
34 void xen_set_pte_atomic(pte_t
*ptep
, pte_t pte
);
35 void xen_pte_clear(struct mm_struct
*mm
, unsigned long addr
, pte_t
*ptep
);
36 void xen_pmd_clear(pmd_t
*pmdp
);
37 #endif /* CONFIG_X86_PAE */
39 void xen_set_pmd(pmd_t
*pmdp
, pmd_t pmdval
);
40 void xen_set_pud(pud_t
*ptr
, pud_t val
);
41 void xen_set_pmd_hyper(pmd_t
*pmdp
, pmd_t pmdval
);
42 void xen_set_pud_hyper(pud_t
*ptr
, pud_t val
);
44 #if PAGETABLE_LEVELS == 4
45 pudval_t
xen_pud_val(pud_t pud
);
46 pud_t
xen_make_pud(pudval_t pudval
);
47 void xen_set_pgd(pgd_t
*pgdp
, pgd_t pgd
);
48 void xen_set_pgd_hyper(pgd_t
*pgdp
, pgd_t pgd
);
51 pgd_t
*xen_get_user_pgd(pgd_t
*pgd
);
53 pte_t
xen_ptep_modify_prot_start(struct mm_struct
*mm
, unsigned long addr
, pte_t
*ptep
);
54 void xen_ptep_modify_prot_commit(struct mm_struct
*mm
, unsigned long addr
,
55 pte_t
*ptep
, pte_t pte
);
57 #endif /* _XEN_MMU_H */