XenevaOS
Loading...
Searching...
No Matches
bug.h
Go to the documentation of this file.
1#ifndef __ASM_BUG_H__
2#define __ASM_BUG_H__
3
4/*
5 * DCL <asm/bug.h> -- where BUG()/WARN() actually live.
6 *
7 * This header exists so a mainline source can include it the way mainline
8 * does. Nothing in DCL reaches it directly: the chain that matters is
9 * virtio_console.c -> <linux/freezer.h> -> <linux/jump_label.h>
10 * -> <linux/bug.h> -> <asm/bug.h>
11 * and <linux/bug.h> needs three things from it -- BUG() and BUG_ON() at :18
12 * and :103, and the variadic WARN(cond, fmt, ...) at :105.
13 *
14 * All three are already in <linux/kernel.h> (BUG, BUG_ON, WARN_ON, WARN), and
15 * that is deliberate on both sides: kernel.h is where the tty/serial ports
16 * pick them up, so there is exactly one definition of each rather than a
17 * second one here that could drift from it. Routing rather than redefining
18 * also keeps an identical-body redefinition off the table -- the macro text
19 * is never written twice.
20 *
21 * The cycle is safe: kernel.h includes compiler.h, minmax.h, string.h and
22 * sprintf.h, none of which reaches bug.h.
23 */
24#include <linux/kernel.h>
25
26#endif