1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * arch/x86/mm/hap/private.h
4  *
5  * Copyright (c) 2007, AMD Corporation (Wei Huang)
6  *
7  */
8 #ifndef __HAP_PRIVATE_H__
9 #define __HAP_PRIVATE_H__
10 
11 #include "../mm-locks.h"
12 
13 /********************************************/
14 /*          GUEST TRANSLATION FUNCS         */
15 /********************************************/
16 unsigned long cf_check hap_gva_to_gfn_2_levels(
17     struct vcpu *v, struct p2m_domain *p2m, unsigned long gva, uint32_t *pfec);
18 unsigned long cf_check hap_gva_to_gfn_3_levels(
19     struct vcpu *v, struct p2m_domain *p2m, unsigned long gva, uint32_t *pfec);
20 unsigned long cf_check hap_gva_to_gfn_4_levels(
21     struct vcpu *v, struct p2m_domain *p2m, unsigned long gva, uint32_t *pfec);
22 
23 unsigned long cf_check hap_p2m_ga_to_gfn_2_levels(
24     struct vcpu *v, struct p2m_domain *p2m, unsigned long cr3,
25     paddr_t ga, uint32_t *pfec, unsigned int *page_order);
26 unsigned long cf_check hap_p2m_ga_to_gfn_3_levels(
27     struct vcpu *v, struct p2m_domain *p2m, unsigned long cr3,
28     paddr_t ga, uint32_t *pfec, unsigned int *page_order);
29 unsigned long cf_check hap_p2m_ga_to_gfn_4_levels(
30     struct vcpu *v, struct p2m_domain *p2m, unsigned long cr3,
31     paddr_t ga, uint32_t *pfec, unsigned int *page_order);
32 
33 #endif /* __HAP_PRIVATE_H__ */
34