[Xenomai-core] xeno_panic_trace-v2

2006-02-04 Thread Jan Kiszka
Hi Philippe,

now I finally found the bug in my first version of this patch: some UVM
skin builds complained about an unknown symbol. Fixed now in this
version, please apply.

Jan
Index: include/asm-uvm/system.h
===
--- include/asm-uvm/system.h	(Revision 528)
+++ include/asm-uvm/system.h	(Arbeitskopie)
@@ -767,4 +767,7 @@
 #define xnarch_post_graph(obj,state)
 #define xnarch_post_graph_if(obj,state,cond)
 
+/* Ipipe-tracer */
+#define ipipe_trace_panic_freeze()
+
 #endif /* !_XENO_ASM_UVM_SYSTEM_H */
Index: include/asm-generic/system.h
===
--- include/asm-generic/system.h	(Revision 528)
+++ include/asm-generic/system.h	(Arbeitskopie)
@@ -39,6 +39,13 @@
 #include asm/xenomai/atomic.h
 #include nucleus/shadow.h
 
+#ifdef CONFIG_IPIPE_TRACE
+#include linux/ipipe_trace.h
+#else /* !CONFIG_IPIPE_TRACE */
+#define ipipe_trace_panic_freeze()
+#define ipipe_trace_panic_dump()
+#endif /* CONFIG_IPIPE_TRACE */
+
 #define module_param_value(parm) (parm)
 
 typedef unsigned long spl_t;
@@ -185,6 +192,7 @@
 rthal_emergency_console(); \
 xnarch_logerr(fatal: %s\n,emsg); \
 show_stack(NULL,NULL);			\
+ipipe_trace_panic_dump();			\
 for (;;) cpu_relax();			\
 } while(0)
 
Index: include/nucleus/types.h
===
--- include/nucleus/types.h	(Revision 528)
+++ include/nucleus/types.h	(Arbeitskopie)
@@ -107,8 +107,10 @@
 
 #define xnpod_fatal(format,args...) \
 do { \
-   const char *panic = xnpod_fatal_helper(format,##args); \
-   xnarch_halt(panic); \
+const char *panic; \
+ipipe_trace_panic_freeze(); \
+panic = xnpod_fatal_helper(format,##args); \
+xnarch_halt(panic); \
 } while (0)
 
 #if defined(__XENO_SIM__) || defined(__XENO_UVM__)
Index: ksrc/nucleus/shadow.c
===
--- ksrc/nucleus/shadow.c	(Revision 528)
+++ ksrc/nucleus/shadow.c	(Arbeitskopie)
@@ -1563,6 +1563,7 @@
 	testbits(status,XNSTARTED) 
 	testbits(status,XNPEND))
 	{
+	ipipe_trace_panic_freeze();
 	show_stack(xnthread_user_task(threadin),NULL);
 xnpod_fatal(blocked thread %s[%d] rescheduled?! (status=0x%lx, sig=%d, prev=%s[%d]),
 			threadin-name,


signature.asc
Description: OpenPGP digital signature
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] xeno_panic_trace-v2

2006-02-04 Thread Philippe Gerum

Jan Kiszka wrote:

Hi Philippe,

now I finally found the bug in my first version of this patch: some UVM
skin builds complained about an unknown symbol. Fixed now in this
version, please apply.


Applied, thanks.



Jan




Index: include/asm-uvm/system.h
===
--- include/asm-uvm/system.h(Revision 528)
+++ include/asm-uvm/system.h(Arbeitskopie)
@@ -767,4 +767,7 @@
 #define xnarch_post_graph(obj,state)
 #define xnarch_post_graph_if(obj,state,cond)
 
+/* Ipipe-tracer */

+#define ipipe_trace_panic_freeze()
+
 #endif /* !_XENO_ASM_UVM_SYSTEM_H */
Index: include/asm-generic/system.h
===
--- include/asm-generic/system.h(Revision 528)
+++ include/asm-generic/system.h(Arbeitskopie)
@@ -39,6 +39,13 @@
 #include asm/xenomai/atomic.h
 #include nucleus/shadow.h
 
+#ifdef CONFIG_IPIPE_TRACE

+#include linux/ipipe_trace.h
+#else /* !CONFIG_IPIPE_TRACE */
+#define ipipe_trace_panic_freeze()
+#define ipipe_trace_panic_dump()
+#endif /* CONFIG_IPIPE_TRACE */
+
 #define module_param_value(parm) (parm)
 
 typedef unsigned long spl_t;

@@ -185,6 +192,7 @@
 rthal_emergency_console(); \
 xnarch_logerr(fatal: %s\n,emsg); \
 show_stack(NULL,NULL); \
+ipipe_trace_panic_dump();  \
 for (;;) cpu_relax();  \
 } while(0)
 
Index: include/nucleus/types.h

===
--- include/nucleus/types.h (Revision 528)
+++ include/nucleus/types.h (Arbeitskopie)
@@ -107,8 +107,10 @@
 
 #define xnpod_fatal(format,args...) \

 do { \
-   const char *panic = xnpod_fatal_helper(format,##args); \
-   xnarch_halt(panic); \
+const char *panic; \
+ipipe_trace_panic_freeze(); \
+panic = xnpod_fatal_helper(format,##args); \
+xnarch_halt(panic); \
 } while (0)
 
 #if defined(__XENO_SIM__) || defined(__XENO_UVM__)

Index: ksrc/nucleus/shadow.c
===
--- ksrc/nucleus/shadow.c   (Revision 528)
+++ ksrc/nucleus/shadow.c   (Arbeitskopie)
@@ -1563,6 +1563,7 @@
testbits(status,XNSTARTED) 
testbits(status,XNPEND))
{
+   ipipe_trace_panic_freeze();
show_stack(xnthread_user_task(threadin),NULL);
 xnpod_fatal(blocked thread %s[%d] rescheduled?! (status=0x%lx, sig=%d, 
prev=%s[%d]),
threadin-name,




___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core



--

Philippe.