root/arch/mips/include/asm/bug.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. BUG
  2. __BUG_ON

   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 
  12 static 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 
  22 static 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 */

/* [<][>][^][v][top][bottom][index][help] */