From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for 4.6] x86/mm: make {set, clear}_identity_p2m_mapping() work for HVM guests as well Date: Mon, 14 Sep 2015 15:24:14 +0100 Message-ID: <1442240654-3456-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Xen-devel Cc: George Dunlap , Andrew Cooper , Malcolm Crossley , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org From: Malcolm Crossley For Intel IGD passthrough, the guest driver programs the device to DMA to/from its RMRR. c/s 619ecf8 "make {set,clear}_identity_p2m_mapping() work for PV guests" was incomplete for pre-Broadwell systems which did not support shared EPT. The correct check to use is iommu_use_hap_pt() not paging_mode_translate() as IOMMU mappings also need to be created for HVM guests with separate EPT and IOMMU tables. Signed-off-by: Malcolm Crossley Signed-off-by: Andrew Cooper CC: Jan Beulich CC: George Dunlap CC: Wei Liu --- xen/arch/x86/mm/p2m.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c index c4329d2..c7f437c 100644 --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -957,7 +957,7 @@ int set_identity_p2m_entry(struct domain *d, unsigned long gfn, struct p2m_domain *p2m = p2m_get_hostp2m(d); int ret; - if ( !paging_mode_translate(p2m->domain) ) + if ( !iommu_use_hap_pt(d) ) { if ( !need_iommu(d) ) return 0; @@ -1032,7 +1032,7 @@ int clear_identity_p2m_entry(struct domain *d, unsigned long gfn) struct p2m_domain *p2m = p2m_get_hostp2m(d); int ret; - if ( !paging_mode_translate(d) ) + if ( !iommu_use_hap_pt(d) ) { if ( !need_iommu(d) ) return 0; -- 1.7.10.4