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

[Xen-changelog] Change domain_crash to say where it was called from.



# HG changeset patch
# User sos22@xxxxxxxxxxxxxxxxxxxx
# Node ID 860fa26845c242eac64dbef60bc2fec42cfacc8c
# Parent  806dfeb03d92a895815bf633def4f0306b8852a3
Change domain_crash to say where it was called from.

Signed-off-by: Steven Smith, sos22@xxxxxxxxx

diff -r 806dfeb03d92 -r 860fa26845c2 xen/arch/x86/x86_32/entry.S
--- a/xen/arch/x86/x86_32/entry.S       Wed Jan 25 10:12:34 2006
+++ b/xen/arch/x86/x86_32/entry.S       Wed Jan 25 16:14:19 2006
@@ -477,6 +477,14 @@
         .long FLT24,domain_crash_synchronous , FLT25,domain_crash_synchronous
 .previous
 
+domain_crash_synchronous_string:
+       .asciz "domain_crash_sync from entry.S %lx\n"
+       
+domain_crash_synchronous:
+       pushl $domain_crash_synchronous_string
+       call printf
+       jmp __domain_crash_synchronous
+       
         ALIGN
 process_guest_exception_and_events:
         leal VCPU_trap_bounce(%ebx),%edx
diff -r 806dfeb03d92 -r 860fa26845c2 xen/common/domain.c
--- a/xen/common/domain.c       Wed Jan 25 10:12:34 2006
+++ b/xen/common/domain.c       Wed Jan 25 16:14:19 2006
@@ -139,7 +139,7 @@
 }
 
 
-void domain_crash(struct domain *d)
+void __domain_crash(struct domain *d)
 {
     if ( d == current->domain )
     {
@@ -157,9 +157,9 @@
 }
 
 
-void domain_crash_synchronous(void)
-{
-    domain_crash(current->domain);
+void __domain_crash_synchronous(void)
+{
+    __domain_crash(current->domain);
     for ( ; ; )
         do_softirq();
 }
diff -r 806dfeb03d92 -r 860fa26845c2 xen/include/xen/sched.h
--- a/xen/include/xen/sched.h   Wed Jan 25 10:12:34 2006
+++ b/xen/include/xen/sched.h   Wed Jan 25 16:14:19 2006
@@ -238,13 +238,21 @@
  * caller is the specified domain. The domain is not synchronously descheduled
  * from any processor.
  */
-extern void domain_crash(struct domain *d);
+extern void __domain_crash(struct domain *d);
+#define domain_crash(d) do {                                              \
+    printf("domain_crash called from %s:%d\n", __FILE__, __LINE__);       \
+    __domain_crash(d);                                                    \
+} while (0)
 
 /*
  * Mark current domain as crashed and synchronously deschedule from the local
  * processor. This function never returns.
  */
-extern void domain_crash_synchronous(void) __attribute__((noreturn));
+extern void __domain_crash_synchronous(void) __attribute__((noreturn));
+#define domain_crash_synchronous() do {                                   \
+    printf("domain_crash_sync called from %s:%d\n", __FILE__, __LINE__);  \
+    __domain_crash_synchronous();                                         \
+} while (0)
 
 void new_thread(struct vcpu *d,
                 unsigned long start_pc,

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


 


Rackspace

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