[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] VT-d: clean up dynamic page mapping
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1262595962 0 # Node ID b76fe58d07018a12f934aacb43a3e880323a2ede # Parent 042b371d8728843cef41dd3827ab026607c83ed1 VT-d: clean up dynamic page mapping Before dynamic VT-d page table for hvm guest (changeset 20152), need_iommu is only used for PV guest. And it maps pages into VT-d for PV guest in get_page_type and grant table. Now need_iommu is used both hvm and pv guests, this patch makes those code still only for PV guest, because it needn't to map pages there for hvm domain. Signed-off-by: Weidong Han <Weidong.han@xxxxxxxxx> --- xen/arch/x86/mm.c | 2 +- xen/common/grant_table.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff -r 042b371d8728 -r b76fe58d0701 xen/arch/x86/mm.c --- a/xen/arch/x86/mm.c Mon Jan 04 09:04:53 2010 +0000 +++ b/xen/arch/x86/mm.c Mon Jan 04 09:06:02 2010 +0000 @@ -2391,7 +2391,7 @@ static int __get_page_type(struct page_i { /* Special pages should not be accessible from devices. */ struct domain *d = page_get_owner(page); - if ( d && unlikely(need_iommu(d)) ) + if ( d && !is_hvm_domain(d) && unlikely(need_iommu(d)) ) { if ( (x & PGT_type_mask) == PGT_writable_page ) iommu_unmap_page(d, mfn_to_gmfn(d, page_to_mfn(page))); diff -r 042b371d8728 -r b76fe58d0701 xen/common/grant_table.c --- a/xen/common/grant_table.c Mon Jan 04 09:04:53 2010 +0000 +++ b/xen/common/grant_table.c Mon Jan 04 09:06:02 2010 +0000 @@ -596,7 +596,7 @@ __gnttab_map_grant_ref( goto undo_out; } - if ( need_iommu(ld) && + if ( (!is_hvm_domain(ld) && need_iommu(ld)) && !(old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) && (act_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) ) { @@ -779,7 +779,7 @@ __gnttab_unmap_common( act->pin -= GNTPIN_hstw_inc; } - if ( need_iommu(ld) && + if ( (!is_hvm_domain(ld) && need_iommu(ld)) && (old_pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) && !(act->pin & (GNTPIN_hstw_mask|GNTPIN_devw_mask)) ) { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |