1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef _XEN_MMU_H 3 4 #include <linux/linkage.h> 5 #include <asm/page.h> 6 7 enum pt_level { 8 PT_PGD, 9 PT_P4D, 10 PT_PUD, 11 PT_PMD, 12 PT_PTE 13 }; 14 15 16 bool __set_phys_to_machine(unsigned long pfn, unsigned long mfn); 17 18 void set_pte_mfn(unsigned long vaddr, unsigned long pfn, pgprot_t flags); 19 20 pte_t xen_ptep_modify_prot_start(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep); 21 void xen_ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, 22 pte_t *ptep, pte_t pte); 23 24 unsigned long xen_read_cr2_direct(void); 25 26 extern void xen_init_mmu_ops(void); 27 extern void xen_hvm_init_mmu_ops(void); 28 #endif /* _XEN_MMU_H */ 29