xref: /openbmc/linux/arch/arc/include/asm/bug.h (revision 38a9ff6d247cf9afcbe55ea245b650b8955029fd)
13be80aaeSVineet Gupta /*
23be80aaeSVineet Gupta  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
33be80aaeSVineet Gupta  *
43be80aaeSVineet Gupta  * This program is free software; you can redistribute it and/or modify
53be80aaeSVineet Gupta  * it under the terms of the GNU General Public License version 2 as
63be80aaeSVineet Gupta  * published by the Free Software Foundation.
73be80aaeSVineet Gupta  */
83be80aaeSVineet Gupta 
93be80aaeSVineet Gupta #ifndef _ASM_ARC_BUG_H
103be80aaeSVineet Gupta #define _ASM_ARC_BUG_H
113be80aaeSVineet Gupta 
123be80aaeSVineet Gupta #ifndef __ASSEMBLY__
133be80aaeSVineet Gupta 
143be80aaeSVineet Gupta #include <asm/ptrace.h>
153be80aaeSVineet Gupta 
163be80aaeSVineet Gupta struct task_struct;
173be80aaeSVineet Gupta 
183be80aaeSVineet Gupta void show_regs(struct pt_regs *regs);
193be80aaeSVineet Gupta void show_stacktrace(struct task_struct *tsk, struct pt_regs *regs);
203be80aaeSVineet Gupta void show_kernel_fault_diag(const char *str, struct pt_regs *regs,
21*38a9ff6dSVineet Gupta 			    unsigned long address);
22*38a9ff6dSVineet Gupta void die(const char *str, struct pt_regs *regs, unsigned long address);
233be80aaeSVineet Gupta 
243be80aaeSVineet Gupta #define BUG()	do {				\
253be80aaeSVineet Gupta 	dump_stack();					\
263be80aaeSVineet Gupta 	pr_warn("Kernel BUG in %s: %s: %d!\n",	\
273be80aaeSVineet Gupta 		__FILE__, __func__,  __LINE__);	\
283be80aaeSVineet Gupta } while (0)
293be80aaeSVineet Gupta 
303be80aaeSVineet Gupta #define HAVE_ARCH_BUG
313be80aaeSVineet Gupta 
323be80aaeSVineet Gupta #include <asm-generic/bug.h>
333be80aaeSVineet Gupta 
343be80aaeSVineet Gupta #endif	/* !__ASSEMBLY__ */
353be80aaeSVineet Gupta 
363be80aaeSVineet Gupta #endif
37