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 <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
};
#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