bug.h 787 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef _LINUX_BUG_H
  2. #define _LINUX_BUG_H
  3. #include <asm/bug.h>
  4. enum bug_trap_type {
  5. BUG_TRAP_TYPE_NONE = 0,
  6. BUG_TRAP_TYPE_WARN = 1,
  7. BUG_TRAP_TYPE_BUG = 2,
  8. };
  9. struct pt_regs;
  10. #ifdef CONFIG_GENERIC_BUG
  11. #include <asm-generic/bug.h>
  12. static inline int is_warning_bug(const struct bug_entry *bug)
  13. {
  14. return bug->flags & BUGFLAG_WARNING;
  15. }
  16. const struct bug_entry *find_bug(unsigned long bugaddr);
  17. enum bug_trap_type report_bug(unsigned long bug_addr, struct pt_regs *regs);
  18. /* These are defined by the architecture */
  19. int is_valid_bugaddr(unsigned long addr);
  20. #else /* !CONFIG_GENERIC_BUG */
  21. static inline enum bug_trap_type report_bug(unsigned long bug_addr,
  22. struct pt_regs *regs)
  23. {
  24. return BUG_TRAP_TYPE_BUG;
  25. }
  26. #endif /* CONFIG_GENERIC_BUG */
  27. #endif /* _LINUX_BUG_H */