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