bug.h (759B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __ASM_BUG_H 3#define __ASM_BUG_H 4 5#include <linux/compiler.h> 6#include <asm/sgidefs.h> 7 8#ifdef CONFIG_BUG 9 10#include <asm/break.h> 11 12static inline void __noreturn BUG(void) 13{ 14 __asm__ __volatile__("break %0" : : "i" (BRK_BUG)); 15 unreachable(); 16} 17 18#define HAVE_ARCH_BUG 19 20#if (_MIPS_ISA > _MIPS_ISA_MIPS1) 21 22static inline void __BUG_ON(unsigned long condition) 23{ 24 if (__builtin_constant_p(condition)) { 25 if (condition) 26 BUG(); 27 else 28 return; 29 } 30 __asm__ __volatile__("tne $0, %0, %1" 31 : : "r" (condition), "i" (BRK_BUG)); 32} 33 34#define BUG_ON(C) __BUG_ON((unsigned long)(C)) 35 36#define HAVE_ARCH_BUG_ON 37 38#endif /* _MIPS_ISA > _MIPS_ISA_MIPS1 */ 39 40#endif 41 42#include <asm-generic/bug.h> 43 44#endif /* __ASM_BUG_H */