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