From: Jan Beulich Date: Fri, 2 Oct 2015 11:41:24 +0000 (+0200) Subject: x86/p2m-pt: use pre-calculated IOMMU flags X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~2455 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=edb9531263e1698343ef3f8743d23b8044979341;p=xen.git x86/p2m-pt: use pre-calculated IOMMU flags ... instead of recalculating them. At once clean up formatting of the touched code and drop a stray loop local variable shadowing a function scope one. Signed-off-by: Jan Beulich Reviewed-by: George Dunlap Reviewed-by: Andrew Cooper --- diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c index 9621eb1ce3..28a31ee9ad 100644 --- a/xen/arch/x86/mm/p2m-pt.c +++ b/xen/arch/x86/mm/p2m-pt.c @@ -673,17 +673,13 @@ p2m_pt_set_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn, if ( iommu_old_flags ) amd_iommu_flush_pages(p2m->domain, gfn, page_order); } + else if ( iommu_pte_flags ) + for ( i = 0; i < (1UL << page_order); i++ ) + iommu_map_page(p2m->domain, gfn + i, mfn_x(mfn) + i, + iommu_pte_flags); else - { - unsigned int flags = p2m_get_iommu_flags(p2mt); - - if ( flags != 0 ) - for ( i = 0; i < (1UL << page_order); i++ ) - iommu_map_page(p2m->domain, gfn+i, mfn_x(mfn)+i, flags); - else - for ( int i = 0; i < (1UL << page_order); i++ ) - iommu_unmap_page(p2m->domain, gfn+i); - } + for ( i = 0; i < (1UL << page_order); i++ ) + iommu_unmap_page(p2m->domain, gfn + i); } /*