0001
0002 #ifndef _XEN_MMU_H
0003
0004 #include <linux/linkage.h>
0005 #include <asm/page.h>
0006
0007 enum pt_level {
0008 PT_PGD,
0009 PT_P4D,
0010 PT_PUD,
0011 PT_PMD,
0012 PT_PTE
0013 };
0014
0015
0016 bool __set_phys_to_machine(unsigned long pfn, unsigned long mfn);
0017
0018 void set_pte_mfn(unsigned long vaddr, unsigned long pfn, pgprot_t flags);
0019
0020 pte_t xen_ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep);
0021 void xen_ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr,
0022 pte_t *ptep, pte_t pte);
0023
0024 unsigned long xen_read_cr2_direct(void);
0025
0026 extern void xen_init_mmu_ops(void);
0027 extern void xen_hvm_init_mmu_ops(void);
0028 #endif