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] Revert 16067:9f9f9b68cd08a03fc8cfad9f5ab7

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] Revert 16067:9f9f9b68cd08a03fc8cfad9f5ab702e50b6b6463.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 14 Nov 2007 04:40:11 -0800
Delivery-date: Wed, 14 Nov 2007 04:40:45 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/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@xxxxxxxxxxxxx>
# Date 1194974924 0
# Node ID 37be0bb6051888621b516e4b79f83765f0b795be
# Parent  dfca1120813fb2d47f63147a986f472209aa8e4c
Revert 16067:9f9f9b68cd08a03fc8cfad9f5ab702e50b6b6463.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 xen/common/grant_table.c |  105 +++++++++++++++--------------------------------
 1 files changed, 34 insertions(+), 71 deletions(-)

diff -r dfca1120813f -r 37be0bb60518 xen/common/grant_table.c
--- a/xen/common/grant_table.c  Sun Nov 11 18:28:57 2007 +0000
+++ b/xen/common/grant_table.c  Tue Nov 13 17:28:44 2007 +0000
@@ -198,7 +198,6 @@ __gnttab_map_grant_ref(
     int            handle;
     unsigned long  frame = 0;
     int            rc = GNTST_okay;
-    int            is_iomem = 0;
     struct active_grant_entry *act;
     struct grant_mapping *mt;
     grant_entry_t *sha;
@@ -329,55 +328,34 @@ __gnttab_map_grant_ref(
 
     spin_unlock(&rd->grant_table->lock);
 
-    if ( op->flags & GNTMAP_host_map ) 
-    {
-        /* Could be an iomem page for setting up permission */
-        if ( is_iomem_page(frame) )
-        {
-            is_iomem = 1;
-            if ( iomem_permit_access(ld, frame, frame) )
-            {
-                gdprintk(XENLOG_WARNING, 
-                         "Could not permit access to grant frame "
-                         "%lx as iomem\n", frame);
-                rc = GNTST_general_error;
-                goto undo_out;
-            }
-        }
-    } 
-
-    if ( !is_iomem ) 
-    {
-        if ( unlikely(!mfn_valid(frame)) ||
-             unlikely(!((op->flags & GNTMAP_readonly) ?
-                        get_page(mfn_to_page(frame), rd) :
-                        get_page_and_type(mfn_to_page(frame), rd,
-                                          PGT_writable_page))))
-        {
-            if ( !rd->is_dying )
-                gdprintk(XENLOG_WARNING,
-                         "Could not pin grant frame %lx\n", frame);
-            rc = GNTST_general_error;
+    if ( unlikely(!mfn_valid(frame)) ||
+         unlikely(!((op->flags & GNTMAP_readonly) ?
+                    get_page(mfn_to_page(frame), rd) :
+                    get_page_and_type(mfn_to_page(frame), rd,
+                                      PGT_writable_page))) )
+    {
+        if ( !rd->is_dying )
+            gdprintk(XENLOG_WARNING, "Could not pin grant frame %lx\n", frame);
+        rc = GNTST_general_error;
+        goto undo_out;
+    }
+        
+    if ( op->flags & GNTMAP_host_map )
+    {
+        rc = create_grant_host_mapping(op->host_addr, frame, op->flags);
+        if ( rc != GNTST_okay )
+        {
+            if ( !(op->flags & GNTMAP_readonly) )
+                put_page_type(mfn_to_page(frame));
+            put_page(mfn_to_page(frame));
             goto undo_out;
         }
-        
-        if ( op->flags & GNTMAP_host_map )
-        {
-            rc = create_grant_host_mapping(op->host_addr, frame, op->flags);
-            if ( rc != GNTST_okay )
-            {
-                if ( !(op->flags & GNTMAP_readonly) )
-                    put_page_type(mfn_to_page(frame));
-                put_page(mfn_to_page(frame));
-                goto undo_out;
-            }
-
-            if ( op->flags & GNTMAP_device_map )
-            {
-                (void)get_page(mfn_to_page(frame), rd);
-                if ( !(op->flags & GNTMAP_readonly) )
-                    get_page_type(mfn_to_page(frame), PGT_writable_page);
-            }
+
+        if ( op->flags & GNTMAP_device_map )
+        {
+            (void)get_page(mfn_to_page(frame), rd);
+            if ( !(op->flags & GNTMAP_readonly) )
+                get_page_type(mfn_to_page(frame), PGT_writable_page);
         }
     }
 
@@ -518,21 +496,12 @@ __gnttab_unmap_common(
         }
     }
 
-    if ( op->flags & GNTMAP_host_map )
-    {
-        if ( (op->host_addr != 0) )
-        {
-            if ( (rc = replace_grant_host_mapping(op->host_addr,
-                                                  op->frame, op->new_addr, 
-                                                  op->flags)) < 0 )
-                goto unmap_out;
-        }
-        else if ( is_iomem_page(op->frame) &&
-                  iomem_access_permitted(ld, op->frame, op->frame) )
-        {
-            if ( (rc = iomem_deny_access(ld, op->frame, op->frame)) < 0 )
-                goto unmap_out;
-        }
+    if ( (op->host_addr != 0) && (op->flags & GNTMAP_host_map) )
+    {
+        if ( (rc = replace_grant_host_mapping(op->host_addr,
+                                              op->frame, op->new_addr, 
+                                              op->flags)) < 0 )
+            goto unmap_out;
 
         ASSERT(act->pin & (GNTPIN_hstw_mask | GNTPIN_hstr_mask));
         op->map->flags &= ~GNTMAP_host_map;
@@ -540,7 +509,7 @@ __gnttab_unmap_common(
             act->pin -= GNTPIN_hstr_inc;
         else
             act->pin -= GNTPIN_hstw_inc;
-    } 
+    }
 
     /* If just unmapped a writable mapping, mark as dirtied */
     if ( !(op->flags & GNTMAP_readonly) )
@@ -1592,7 +1561,6 @@ gnttab_release_mappings(
     struct domain        *rd;
     struct active_grant_entry *act;
     struct grant_entry   *sha;
-    int rc;
 
     BUG_ON(!d->is_dying);
 
@@ -1650,12 +1618,7 @@ gnttab_release_mappings(
             {
                 BUG_ON(!(act->pin & GNTPIN_hstw_mask));
                 act->pin -= GNTPIN_hstw_inc;
-
-                if ( is_iomem_page(act->frame) &&
-                     iomem_access_permitted(rd, act->frame, act->frame) )
-                    rc = iomem_deny_access(rd, act->frame, act->frame);
-                else 
-                    gnttab_release_put_page_and_type(mfn_to_page(act->frame));
+                gnttab_release_put_page_and_type(mfn_to_page(act->frame));
             }
 
             if ( (act->pin & (GNTPIN_devw_mask|GNTPIN_hstw_mask)) == 0 )

_______________________________________________
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] Revert 16067:9f9f9b68cd08a03fc8cfad9f5ab702e50b6b6463., Xen patchbot-unstable <=