From: Jan Beulich Date: Fri, 28 Sep 2018 15:13:38 +0000 (+0200) Subject: x86: hap_enabled() is HVM-only X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=82f7659c9bd72e80c4734113f30907198326e39c;p=people%2Fiwj%2Fxen.git x86: hap_enabled() is HVM-only There at least two cases where the field so far got accessed for PV guests as well: One is in iommu_construct(), via iommu_use_hap_pt(), and the other is arch_domain_create() -> paging_domain_init() -> p2m_init() -> p2m_init_hostp2m() -> p2m_init_one() -> p2m_initialise() It just so happens that the field currently lives in struct hvm_domain at an offset larger than sizeof(struct pv_domain). Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- diff --git a/xen/include/asm-x86/hvm/domain.h b/xen/include/asm-x86/hvm/domain.h index 172d27ff49..80b2ab041e 100644 --- a/xen/include/asm-x86/hvm/domain.h +++ b/xen/include/asm-x86/hvm/domain.h @@ -195,7 +195,7 @@ struct hvm_domain { }; #ifdef CONFIG_HVM -#define hap_enabled(d) ((d)->arch.hvm.hap_enabled) +#define hap_enabled(d) (is_hvm_domain(d) && (d)->arch.hvm.hap_enabled) #else #define hap_enabled(d) ({(void)(d); false;}) #endif