1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 23be80aaeSVineet Gupta /* 33be80aaeSVineet Gupta * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 43be80aaeSVineet Gupta */ 53be80aaeSVineet Gupta 63be80aaeSVineet Gupta #ifndef _ASM_ARC_BUG_H 73be80aaeSVineet Gupta #define _ASM_ARC_BUG_H 83be80aaeSVineet Gupta 93be80aaeSVineet Gupta #ifndef __ASSEMBLY__ 103be80aaeSVineet Gupta 113be80aaeSVineet Gupta #include <asm/ptrace.h> 123be80aaeSVineet Gupta 133be80aaeSVineet Gupta struct task_struct; 143be80aaeSVineet Gupta 153be80aaeSVineet Gupta void show_regs(struct pt_regs *regs); 163be80aaeSVineet Gupta void show_stacktrace(struct task_struct *tsk, struct pt_regs *regs); 173be80aaeSVineet Gupta void show_kernel_fault_diag(const char *str, struct pt_regs *regs, 1838a9ff6dSVineet Gupta unsigned long address); 1938a9ff6dSVineet Gupta void die(const char *str, struct pt_regs *regs, unsigned long address); 203be80aaeSVineet Gupta 213be80aaeSVineet Gupta #define BUG() do { \ 223872d052SVineet Gupta pr_warn("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \ 23173a3efdSArnd Bergmann barrier_before_unreachable(); \ 24173a3efdSArnd Bergmann __builtin_trap(); \ 253be80aaeSVineet Gupta } while (0) 263be80aaeSVineet Gupta 273be80aaeSVineet Gupta #define HAVE_ARCH_BUG 283be80aaeSVineet Gupta 293be80aaeSVineet Gupta #include <asm-generic/bug.h> 303be80aaeSVineet Gupta 313be80aaeSVineet Gupta #endif /* !__ASSEMBLY__ */ 323be80aaeSVineet Gupta 333be80aaeSVineet Gupta #endif 34