WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] amd iommu: Remove a useless flag and fix

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] amd iommu: Remove a useless flag and fix I/O page fault for hvm
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 07 Sep 2009 01:05:22 -0700
Delivery-date: Mon, 07 Sep 2009 01:06:07 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1252309394 -3600
# Node ID fdb0228d6689cf6d38cef76ff74326cbed80f249
# Parent  6a2a099c8ef420ae8aa24bcc52788008eb97a898
amd iommu: Remove a useless flag and fix I/O page fault for hvm
passthru devices.

Signed-off-by: Wei Wang <wei.wang2@xxxxxxx>
---
 xen/drivers/passthrough/amd/iommu_map.c |   10 ----------
 xen/drivers/passthrough/iommu.c         |    3 ++-
 xen/include/xen/hvm/iommu.h             |    1 -
 3 files changed, 2 insertions(+), 12 deletions(-)

diff -r 6a2a099c8ef4 -r fdb0228d6689 xen/drivers/passthrough/amd/iommu_map.c
--- a/xen/drivers/passthrough/amd/iommu_map.c   Mon Sep 07 08:42:50 2009 +0100
+++ b/xen/drivers/passthrough/amd/iommu_map.c   Mon Sep 07 08:43:14 2009 +0100
@@ -459,9 +459,6 @@ int amd_iommu_map_page(struct domain *d,
 
     spin_lock(&hd->mapping_lock);
 
-    if ( is_hvm_domain(d) && !hd->p2m_synchronized )
-        goto out;
-
     iommu_l2e = iommu_l2e_from_pfn(hd->root_table, hd->paging_mode, gfn);
     if ( iommu_l2e == 0 )
     {
@@ -472,7 +469,6 @@ int amd_iommu_map_page(struct domain *d,
     }
     set_iommu_l1e_present(iommu_l2e, gfn, (u64)mfn << PAGE_SHIFT, iw, ir);
 
-out:
     spin_unlock(&hd->mapping_lock);
     return 0;
 }
@@ -487,12 +483,6 @@ int amd_iommu_unmap_page(struct domain *
     BUG_ON( !hd->root_table );
 
     spin_lock(&hd->mapping_lock);
-
-    if ( is_hvm_domain(d) && !hd->p2m_synchronized )
-    {
-        spin_unlock(&hd->mapping_lock);
-        return 0;
-    }
 
     iommu_l2e = iommu_l2e_from_pfn(hd->root_table, hd->paging_mode, gfn);
 
diff -r 6a2a099c8ef4 -r fdb0228d6689 xen/drivers/passthrough/iommu.c
--- a/xen/drivers/passthrough/iommu.c   Mon Sep 07 08:42:50 2009 +0100
+++ b/xen/drivers/passthrough/iommu.c   Mon Sep 07 08:43:14 2009 +0100
@@ -158,7 +158,8 @@ static int iommu_populate_page_table(str
 
     page_list_for_each ( page, &d->page_list )
     {
-        if ( (page->u.inuse.type_info & PGT_type_mask) == PGT_writable_page )
+        if ( is_hvm_domain(d) ||
+            (page->u.inuse.type_info & PGT_type_mask) == PGT_writable_page )
         {
             rc = hd->platform_ops->map_page(
                 d, mfn_to_gmfn(d, page_to_mfn(page)), page_to_mfn(page));
diff -r 6a2a099c8ef4 -r fdb0228d6689 xen/include/xen/hvm/iommu.h
--- a/xen/include/xen/hvm/iommu.h       Mon Sep 07 08:42:50 2009 +0100
+++ b/xen/include/xen/hvm/iommu.h       Mon Sep 07 08:43:14 2009 +0100
@@ -41,7 +41,6 @@ struct hvm_iommu {
     int domain_id;
     int paging_mode;
     struct page_info *root_table;
-    bool_t p2m_synchronized;
 
     /* iommu_ops */
     struct iommu_ops *platform_ops;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] amd iommu: Remove a useless flag and fix I/O page fault for hvm, Xen patchbot-unstable <=