[Xenomai-core] xeno_panic_trace-v2
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
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.