mmu.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #ifndef _XEN_MMU_H
  2. #include <linux/linkage.h>
  3. #include <asm/page.h>
  4. void set_pte_mfn(unsigned long vaddr, unsigned long pfn, pgprot_t flags);
  5. void xen_set_pte(pte_t *ptep, pte_t pteval);
  6. void xen_set_pte_at(struct mm_struct *mm, unsigned long addr,
  7. pte_t *ptep, pte_t pteval);
  8. void xen_set_pmd(pmd_t *pmdp, pmd_t pmdval);
  9. void xen_activate_mm(struct mm_struct *prev, struct mm_struct *next);
  10. void xen_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm);
  11. void xen_exit_mmap(struct mm_struct *mm);
  12. void xen_pgd_pin(pgd_t *pgd);
  13. void xen_pgd_unpin(pgd_t *pgd);
  14. #ifdef CONFIG_X86_PAE
  15. unsigned long long xen_pte_val(pte_t);
  16. unsigned long long xen_pmd_val(pmd_t);
  17. unsigned long long xen_pgd_val(pgd_t);
  18. pte_t xen_make_pte(unsigned long long);
  19. pmd_t xen_make_pmd(unsigned long long);
  20. pgd_t xen_make_pgd(unsigned long long);
  21. void xen_set_pte_at(struct mm_struct *mm, unsigned long addr,
  22. pte_t *ptep, pte_t pteval);
  23. void xen_set_pte_atomic(pte_t *ptep, pte_t pte);
  24. void xen_set_pud(pud_t *ptr, pud_t val);
  25. void xen_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep);
  26. void xen_pmd_clear(pmd_t *pmdp);
  27. #else
  28. unsigned long xen_pte_val(pte_t);
  29. unsigned long xen_pmd_val(pmd_t);
  30. unsigned long xen_pgd_val(pgd_t);
  31. pte_t xen_make_pte(unsigned long);
  32. pmd_t xen_make_pmd(unsigned long);
  33. pgd_t xen_make_pgd(unsigned long);
  34. #endif
  35. #endif /* _XEN_MMU_H */