| /* |
| * Debug macros for run-time debugging. |
| * Turned on/off with CONFIG_RUNTIME_DEBUG option. |
| * |
| * Copyright (C) 2001 MontaVista Software Inc. |
| * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms of the GNU General Public License as published by the |
| * Free Software Foundation; either version 2 of the License, or (at your |
| * option) any later version. |
| * |
| */ |
| |
| #ifndef _ASM_DEBUG_H |
| #define _ASM_DEBUG_H |
| |
| #include <linux/config.h> |
| |
| /* |
| * run-time macros for catching spurious errors. Eable CONFIG_RUNTIME_DEBUG in |
| * kernel hacking config menu to use them. |
| * |
| * Use them as run-time debugging aid. NEVER USE THEM AS ERROR HANDLING CODE!!! |
| */ |
| |
| #ifdef CONFIG_RUNTIME_DEBUG |
| |
| #include <linux/kernel.h> |
| |
| #define db_assert(x) if (!(x)) { \ |
| panic("assertion failed at %s:%d: %s", __FILE__, __LINE__, #x); } |
| #define db_warn(x) if (!(x)) { \ |
| printk(KERN_WARNING "warning at %s:%d: %s", __FILE__, __LINE__, #x); } |
| #define db_verify(x, y) db_assert(x y) |
| #define db_verify_warn(x, y) db_warn(x y) |
| #define db_run(x) do { x; } while (0) |
| |
| #else |
| |
| #define db_assert(x) |
| #define db_warn(x) |
| #define db_verify(x, y) x |
| #define db_verify_warn(x, y) x |
| #define db_run(x) |
| |
| #endif |
| |
| #endif /* _ASM_DEBUG_H */ |