blob: 0be19fd1a4126ae42bcbd3dc4cd32a2f4e292748 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Vineet Gupta3be80aa2013-01-18 15:12:17 +05302/*
3 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
Vineet Gupta3be80aa2013-01-18 15:12:17 +05304 */
5
6#ifndef _ASM_ARC_BUG_H
7#define _ASM_ARC_BUG_H
8
9#ifndef __ASSEMBLY__
10
11#include <asm/ptrace.h>
12
13struct task_struct;
14
15void show_regs(struct pt_regs *regs);
16void show_stacktrace(struct task_struct *tsk, struct pt_regs *regs);
17void show_kernel_fault_diag(const char *str, struct pt_regs *regs,
Vineet Gupta38a9ff62013-06-12 15:13:40 +053018 unsigned long address);
19void die(const char *str, struct pt_regs *regs, unsigned long address);
Vineet Gupta3be80aa2013-01-18 15:12:17 +053020
Vineet Gupta3872d052014-09-24 16:36:48 +053021#define BUG() do { \
22 pr_warn("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \
Arnd Bergmann173a3ef2018-02-21 14:45:54 -080023 barrier_before_unreachable(); \
24 __builtin_trap(); \
Vineet Gupta3be80aa2013-01-18 15:12:17 +053025} while (0)
26
27#define HAVE_ARCH_BUG
28
29#include <asm-generic/bug.h>
30
31#endif /* !__ASSEMBLY__ */
32
33#endif