1*c08098f2SVineet Gupta /* 2*c08098f2SVineet Gupta * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 3*c08098f2SVineet Gupta * 4*c08098f2SVineet Gupta * This program is free software; you can redistribute it and/or modify 5*c08098f2SVineet Gupta * it under the terms of the GNU General Public License version 2 as 6*c08098f2SVineet Gupta * published by the Free Software Foundation. 7*c08098f2SVineet Gupta */ 8*c08098f2SVineet Gupta 9*c08098f2SVineet Gupta #include <linux/ptrace.h> 10*c08098f2SVineet Gupta #include <linux/export.h> 11*c08098f2SVineet Gupta 12*c08098f2SVineet Gupta /*------------------------------------------------------------------------- 13*c08098f2SVineet Gupta * APIs expected by various kernel sub-systems 14*c08098f2SVineet Gupta *------------------------------------------------------------------------- 15*c08098f2SVineet Gupta */ 16*c08098f2SVineet Gupta 17*c08098f2SVineet Gupta noinline void show_stacktrace(struct task_struct *tsk, struct pt_regs *regs) 18*c08098f2SVineet Gupta { 19*c08098f2SVineet Gupta pr_info("\nStack Trace: NOT Available\n"); 20*c08098f2SVineet Gupta } 21*c08098f2SVineet Gupta EXPORT_SYMBOL(show_stacktrace); 22*c08098f2SVineet Gupta 23*c08098f2SVineet Gupta /* Expected by sched Code */ 24*c08098f2SVineet Gupta void show_stack(struct task_struct *tsk, unsigned long *sp) 25*c08098f2SVineet Gupta { 26*c08098f2SVineet Gupta show_stacktrace(tsk, NULL); 27*c08098f2SVineet Gupta } 28*c08098f2SVineet Gupta 29*c08098f2SVineet Gupta /* Expected by Rest of kernel code */ 30*c08098f2SVineet Gupta void dump_stack(void) 31*c08098f2SVineet Gupta { 32*c08098f2SVineet Gupta show_stacktrace(NULL, NULL); 33*c08098f2SVineet Gupta } 34*c08098f2SVineet Gupta EXPORT_SYMBOL(dump_stack); 35*c08098f2SVineet Gupta 36*c08098f2SVineet Gupta /* Another API expected by schedular, shows up in "ps" as Wait Channel 37*c08098f2SVineet Gupta * Ofcourse just returning schedule( ) would be pointless so unwind until 38*c08098f2SVineet Gupta * the function is not in schedular code 39*c08098f2SVineet Gupta */ 40*c08098f2SVineet Gupta unsigned int get_wchan(struct task_struct *tsk) 41*c08098f2SVineet Gupta { 42*c08098f2SVineet Gupta return 0; 43*c08098f2SVineet Gupta } 44