123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef __ASM_BUG_H
- #define __ASM_BUG_H
- #include <linux/compiler.h>
- #include <asm/sgidefs.h>
- #ifdef CONFIG_BUG
- #include <asm/break.h>
- static inline void __noreturn BUG(void)
- {
- __asm__ __volatile__("break %0" : : "i" (BRK_BUG));
- unreachable();
- }
- #define HAVE_ARCH_BUG
- #if (_MIPS_ISA > _MIPS_ISA_MIPS1)
- static inline void __BUG_ON(unsigned long condition)
- {
- if (__builtin_constant_p(condition)) {
- if (condition)
- BUG();
- else
- return;
- }
- __asm__ __volatile__("tne $0, %0, %1"
- : : "r" (condition), "i" (BRK_BUG));
- }
- #define BUG_ON(C) __BUG_ON((unsigned long)(C))
- #define HAVE_ARCH_BUG_ON
- #endif /* _MIPS_ISA > _MIPS_ISA_MIPS1 */
- #endif
- #include <asm-generic/bug.h>
- #endif /* __ASM_BUG_H */
|