• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/arch/cris/include/arch-v32/arch/
1#ifndef __ASM_CRISv32_ARCH_BUG_H
2#define __ASM_CRISv32_ARCH_BUG_H
3
4#include <linux/stringify.h>
5
6#ifdef CONFIG_BUG
7#ifdef CONFIG_DEBUG_BUGVERBOSE
8/*
9 * The penalty for the in-band code path will be the size of break 14.
10 * All other stuff is done out-of-band with exception handlers.
11 */
12#define BUG()								\
13	__asm__ __volatile__ ("0: break 14\n\t"				\
14			      ".section .fixup,\"ax\"\n"		\
15			      "1:\n\t"					\
16			      "move.d %0, $r10\n\t"			\
17			      "move.d %1, $r11\n\t"			\
18			      "jump do_BUG\n\t"				\
19			      "nop\n\t"					\
20			      ".previous\n\t"				\
21			      ".section __ex_table,\"a\"\n\t"		\
22			      ".dword 0b, 1b\n\t"			\
23			      ".previous\n\t"				\
24			      : : "ri" (__FILE__), "i" (__LINE__))
25#else
26#define BUG() __asm__ __volatile__ ("break 14\n\t")
27#endif
28
29#define HAVE_ARCH_BUG
30#endif
31
32#include <asm-generic/bug.h>
33#endif
34