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

[Xen-devel] [PATCH] shadow code printing adjustments



Messages prior to BUG() should always be displayed, not just when
DEBUG_TRACE_DUMP is defined (which by default it isn't). Convert them
from SHADOW_PRINTK() to SHADOW_ERROR().

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: 2007-10-10/xen/arch/x86/mm/shadow/common.c
===================================================================
--- 2007-10-10.orig/xen/arch/x86/mm/shadow/common.c     2007-10-10 
16:25:15.000000000 +0200
+++ 2007-10-10/xen/arch/x86/mm/shadow/common.c  2007-10-10 16:30:01.000000000 
+0200
@@ -746,7 +746,7 @@ void shadow_unhook_mappings(struct vcpu 
         break;
 #endif
     default:
-        SHADOW_PRINTK("top-level shadow has bad type %08x\n", sp->type);
+        SHADOW_ERROR("top-level shadow has bad type %08x\n", sp->type);
         BUG();
     }
 }
@@ -814,12 +814,12 @@ void shadow_prealloc(struct domain *d, u
     
     /* Nothing more we can do: all remaining shadows are of pages that
      * hold Xen mappings for some vcpu.  This can never happen. */
-    SHADOW_PRINTK("Can't pre-allocate %i shadow pages!\n"
-                   "  shadow pages total = %u, free = %u, p2m=%u\n",
-                   1 << order, 
-                   d->arch.paging.shadow.total_pages, 
-                   d->arch.paging.shadow.free_pages, 
-                   d->arch.paging.shadow.p2m_pages);
+    SHADOW_ERROR("Can't pre-allocate %i shadow pages!\n"
+                 "  shadow pages total = %u, free = %u, p2m=%u\n",
+                 1 << order,
+                 d->arch.paging.shadow.total_pages,
+                 d->arch.paging.shadow.free_pages,
+                 d->arch.paging.shadow.p2m_pages);
     BUG();
 }
 
@@ -912,7 +912,7 @@ mfn_t shadow_alloc(struct domain *d,  
      * It means that we didn't call shadow_prealloc() correctly before
      * we allocated.  We can't recover by calling prealloc here, because
      * we might free up higher-level pages that the caller is working on. */
-    SHADOW_PRINTK("Can't allocate %i shadow pages!\n", 1 << order);
+    SHADOW_ERROR("Can't allocate %i shadow pages!\n", 1 << order);
     BUG();
 
  found:
@@ -1605,8 +1605,8 @@ void sh_destroy_shadow(struct vcpu *v, m
         break;
 #endif
     default:
-        SHADOW_PRINTK("tried to destroy shadow of bad type %08lx\n", 
-                       (unsigned long)t);
+        SHADOW_ERROR("tried to destroy shadow of bad type %08lx\n",
+                     (unsigned long)t);
         BUG();
     }    
 }
Index: 2007-10-10/xen/arch/x86/mm/shadow/multi.c
===================================================================
--- 2007-10-10.orig/xen/arch/x86/mm/shadow/multi.c      2007-09-27 
10:42:44.000000000 +0200
+++ 2007-10-10/xen/arch/x86/mm/shadow/multi.c   2007-10-10 16:25:28.000000000 
+0200
@@ -2472,7 +2472,7 @@ sh_map_and_validate_gl4e(struct vcpu *v,
                                 shadow_l4_index, 
                                 validate_gl4e);
 #else // ! GUEST_PAGING_LEVELS >= 4
-    SHADOW_PRINTK("called in wrong paging mode!\n");
+    SHADOW_ERROR("called in wrong paging mode!\n");
     BUG();
     return 0;
 #endif 
@@ -2488,7 +2488,7 @@ sh_map_and_validate_gl3e(struct vcpu *v,
                                 shadow_l3_index, 
                                 validate_gl3e);
 #else // ! GUEST_PAGING_LEVELS >= 4
-    SHADOW_PRINTK("called in wrong paging mode!\n");
+    SHADOW_ERROR("called in wrong paging mode!\n");
     BUG();
     return 0;
 #endif
@@ -2514,7 +2514,7 @@ sh_map_and_validate_gl2he(struct vcpu *v
                                 shadow_l2_index, 
                                 validate_gl2e);
 #else /* Non-PAE guests don't have different kinds of l2 table */
-    SHADOW_PRINTK("called in wrong paging mode!\n");
+    SHADOW_ERROR("called in wrong paging mode!\n");
     BUG();
     return 0;
 #endif




_______________________________________________
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®.