summaryrefslogtreecommitdiffstats
path: root/arch/sparc/include/asm/bug.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/include/asm/bug.h')
-rw-r--r--arch/sparc/include/asm/bug.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/bug.h b/arch/sparc/include/asm/bug.h
new file mode 100644
index 000000000..ea53e418f
--- /dev/null
+++ b/arch/sparc/include/asm/bug.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _SPARC_BUG_H
+#define _SPARC_BUG_H
+
+#ifdef CONFIG_BUG
+#include <linux/compiler.h>
+
+#ifdef CONFIG_DEBUG_BUGVERBOSE
+void do_BUG(const char *file, int line);
+#define BUG() do { \
+ do_BUG(__FILE__, __LINE__); \
+ barrier_before_unreachable(); \
+ __builtin_trap(); \
+} while (0)
+#else
+#define BUG() do { \
+ barrier_before_unreachable(); \
+ __builtin_trap(); \
+} while (0)
+#endif
+
+#define HAVE_ARCH_BUG
+#endif
+
+#include <asm-generic/bug.h>
+
+struct pt_regs;
+void __noreturn die_if_kernel(char *str, struct pt_regs *regs);
+
+#endif