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

[Xen-devel] [PATCH] more guest debugging aids



This adds a page walk for the cases where creation of a bounce frame faults.

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

Index: 2006-12-05/xen/arch/x86/x86_32/entry.S
===================================================================
--- 2006-12-05.orig/xen/arch/x86/x86_32/entry.S 2006-12-01 10:44:36.000000000 
+0100
+++ 2006-12-05/xen/arch/x86/x86_32/entry.S      2006-12-08 14:24:54.000000000 
+0100
@@ -382,21 +382,33 @@ nvm86_3:/* Rewrite our stack frame and r
         movb $0,TRAPBOUNCE_flags(%edx)
         ret
 .section __ex_table,"a"
-        .long  FLT6,domain_crash_synchronous ,  FLT7,domain_crash_synchronous
-        .long  FLT8,domain_crash_synchronous ,  FLT9,domain_crash_synchronous
-        .long FLT10,domain_crash_synchronous , FLT11,domain_crash_synchronous
-        .long FLT12,domain_crash_synchronous , FLT13,domain_crash_synchronous
-        .long FLT14,domain_crash_synchronous , FLT15,domain_crash_synchronous
-        .long FLT16,domain_crash_synchronous , FLT17,domain_crash_synchronous
-        .long FLT18,domain_crash_synchronous , FLT19,domain_crash_synchronous
-        .long FLT20,domain_crash_synchronous , FLT21,domain_crash_synchronous
-        .long FLT22,domain_crash_synchronous , FLT23,domain_crash_synchronous
-        .long FLT24,domain_crash_synchronous , FLT25,domain_crash_synchronous
+        .long  FLT6,domain_crash_synchronous  ,  FLT7,domain_crash_page_fault
+        .long  FLT8,domain_crash_page_fault_4 ,  FLT9,domain_crash_page_fault_8
+        .long FLT10,domain_crash_page_fault_12, FLT11,domain_crash_page_fault
+        .long FLT12,domain_crash_page_fault_4 , FLT13,domain_crash_synchronous
+        .long FLT14,domain_crash_page_fault   , FLT15,domain_crash_page_fault_4
+        .long FLT16,domain_crash_page_fault_8 , FLT17,domain_crash_page_fault
+        .long FLT18,domain_crash_page_fault   , FLT19,domain_crash_page_fault_4
+        .long FLT20,domain_crash_page_fault_8 , 
FLT21,domain_crash_page_fault_12
+        .long FLT22,domain_crash_page_fault   , FLT23,domain_crash_page_fault_4
+        .long FLT24,domain_crash_page_fault_8 , 
FLT25,domain_crash_page_fault_12
 .previous
 
+.section .rodata,"a"
 domain_crash_synchronous_string:
         .asciz "domain_crash_sync called from entry.S (%lx)\n"
+.previous
 
+domain_crash_page_fault_12:
+        addl  $4,%esi
+domain_crash_page_fault_8:
+        addl  $4,%esi
+domain_crash_page_fault_4:
+        addl  $4,%esi
+domain_crash_page_fault:
+        pushl %esi
+        call  show_page_walk
+        addl  $4,%esp
 domain_crash_synchronous:
         pushl $domain_crash_synchronous_string
         call  printk
Index: 2006-12-05/xen/arch/x86/x86_64/entry.S
===================================================================
--- 2006-12-05.orig/xen/arch/x86/x86_64/entry.S 2006-12-01 10:44:36.000000000 
+0100
+++ 2006-12-05/xen/arch/x86/x86_64/entry.S      2006-12-08 14:24:54.000000000 
+0100
@@ -308,17 +308,30 @@ FLT13:  movq  %rax,(%rsi)               
         movb  $0,TRAPBOUNCE_flags(%rdx)
         ret
 .section __ex_table,"a"
-        .quad  FLT2,domain_crash_synchronous ,  FLT3,domain_crash_synchronous
-        .quad  FLT4,domain_crash_synchronous ,  FLT5,domain_crash_synchronous
-        .quad  FLT6,domain_crash_synchronous ,  FLT7,domain_crash_synchronous
-        .quad  FLT8,domain_crash_synchronous ,  FLT9,domain_crash_synchronous
-        .quad FLT10,domain_crash_synchronous , FLT11,domain_crash_synchronous
-        .quad FLT12,domain_crash_synchronous , FLT13,domain_crash_synchronous
+        .quad  FLT2,domain_crash_page_fault_32,  
FLT3,domain_crash_page_fault_24
+        .quad  FLT4,domain_crash_page_fault_8 ,  
FLT5,domain_crash_page_fault_16
+        .quad  FLT6,domain_crash_page_fault   ,  FLT7,domain_crash_page_fault
+        .quad  FLT8,domain_crash_page_fault_24,  
FLT9,domain_crash_page_fault_16
+        .quad FLT10,domain_crash_page_fault_8 , FLT11,domain_crash_page_fault
+        .quad FLT12,domain_crash_page_fault_8 , FLT13,domain_crash_page_fault
 .previous
 
+.section .rodata,"a"
 domain_crash_synchronous_string:
         .asciz "domain_crash_sync called from entry.S\n"
+.previous
 
+domain_crash_page_fault_32:
+        addq  $8,%rsi
+domain_crash_page_fault_24:
+        addq  $8,%rsi
+domain_crash_page_fault_16:
+        addq  $8,%rsi
+domain_crash_page_fault_8:
+        addq  $8,%rsi
+domain_crash_page_fault:
+        movq  %rsi,%rdi
+        call  show_page_walk
 domain_crash_synchronous:
         # Get out of the guest-save area of the stack.
         GET_GUEST_REGS(%rax)


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