[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] Fix get_page_from_l1e and cleanup_page_cacheattr to use PGC_cacheattr_mask



# HG changeset patch
# User Patrick Colp <Patrick.Colp@xxxxxxxxxx>
# Date 1242295647 -3600
# Node ID c5098f5c5caf4174bd2e46d49d7b65109203f7c5
# Parent  2522cc95efd2f3fadf7342d18fe86e8f37f89c2a
Fix get_page_from_l1e and cleanup_page_cacheattr to use PGC_cacheattr_mask.

Signed-off-by: Patrick Colp <Patrick.Colp@xxxxxxxxxx>

diff -r 2522cc95efd2 -r c5098f5c5caf xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c Mon May 11 13:52:04 2009 +0100
+++ b/xen/arch/x86/mm.c Thu May 14 11:07:27 2009 +0100
@@ -766,7 +766,7 @@
         goto could_not_pin;
 
     if ( pte_flags_to_cacheattr(l1f) !=
-         ((page->count_info >> PGC_cacheattr_base) & 7) )
+         ((page->count_info & PGC_cacheattr_mask) >> PGC_cacheattr_base) )
     {
         unsigned long x, nx, y = page->count_info;
         unsigned long cacheattr = pte_flags_to_cacheattr(l1f);
@@ -782,7 +782,7 @@
             return 0;
         }
 
-        while ( ((y >> PGC_cacheattr_base) & 7) != cacheattr )
+        while ( ((y & PGC_cacheattr_mask) >> PGC_cacheattr_base) != cacheattr )
         {
             x  = y;
             nx = (x & ~PGC_cacheattr_mask) | (cacheattr << PGC_cacheattr_base);
@@ -2389,7 +2389,8 @@
 
 void cleanup_page_cacheattr(struct page_info *page)
 {
-    uint32_t cacheattr = (page->count_info >> PGC_cacheattr_base) & 7;
+    uint32_t cacheattr =
+        (page->count_info & PGC_cacheattr_mask) >> PGC_cacheattr_base;
 
     if ( likely(cacheattr == 0) )
         return;

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.