xref: /kernel/linux/linux-6.6/arch/x86/xen/mmu.h (revision 62306a36)
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