summaryrefslogtreecommitdiff
path: root/include/asm-s390/bug.h
blob: 87689836394442804ce094da6358dd898c272081 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef _S390_BUG_H
#define _S390_BUG_H

#include <linux/kernel.h>

#ifdef CONFIG_BUG

static inline __attribute__((noreturn)) void __do_illegal_op(void)
{
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
	__builtin_trap();
#else
	asm volatile(".long 0");
#endif
}

#define BUG() do { \
	printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
	__do_illegal_op(); \
} while (0)

#define HAVE_ARCH_BUG
#endif

#include <asm-generic/bug.h>

#endif