]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - arch/blackfin/include/asm/bug.h
Blackfin: define __NR_recvmmsg
[mirror_ubuntu-artful-kernel.git] / arch / blackfin / include / asm / bug.h
CommitLineData
96f1050d
RG
1/*
2 * Copyright 2004-2009 Analog Devices Inc.
3 *
4 * Licensed under the GPL-2 or later.
5 */
6
1394f032
BW
7#ifndef _BLACKFIN_BUG_H
8#define _BLACKFIN_BUG_H
2d191233
MF
9
10#ifdef CONFIG_BUG
2d191233 11
70f12567
MF
12#define BFIN_BUG_OPCODE 0xefcd
13
14#ifdef CONFIG_DEBUG_BUGVERBOSE
15
16#define _BUG_OR_WARN(flags) \
17 asm volatile( \
18 "1: .hword %0\n" \
19 " .section __bug_table,\"a\",@progbits\n" \
20 "2: .long 1b\n" \
21 " .long %1\n" \
22 " .short %2\n" \
23 " .short %3\n" \
24 " .org 2b + %4\n" \
25 " .previous" \
26 : \
27 : "i"(BFIN_BUG_OPCODE), "i"(__FILE__), \
28 "i"(__LINE__), "i"(flags), \
29 "i"(sizeof(struct bug_entry)))
30
31#else
32
33#define _BUG_OR_WARN(flags) \
34 asm volatile( \
35 "1: .hword %0\n" \
36 " .section __bug_table,\"a\",@progbits\n" \
37 "2: .long 1b\n" \
38 " .short %1\n" \
39 " .org 2b + %2\n" \
40 " .previous" \
41 : \
42 : "i"(BFIN_BUG_OPCODE), "i"(flags), \
43 "i"(sizeof(struct bug_entry)))
44
45#endif /* CONFIG_DEBUG_BUGVERBOSE */
46
47#define BUG() \
48 do { \
49 _BUG_OR_WARN(0); \
50 for (;;); \
51 } while (0)
52
53#define WARN_ON(condition) \
54 ({ \
55 int __ret_warn_on = !!(condition); \
56 if (unlikely(__ret_warn_on)) \
57 _BUG_OR_WARN(BUGFLAG_WARNING); \
58 unlikely(__ret_warn_on); \
59 })
60
61#define HAVE_ARCH_BUG
62#define HAVE_ARCH_WARN_ON
2d191233
MF
63
64#endif
65
1394f032 66#include <asm-generic/bug.h>
2d191233 67
1394f032 68#endif