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

source code of linux/arch/x86/xen/mmu.h