mmu.h 667 B

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