at v2.6.19-rc2 41 lines 1.0 kB view raw
1/* 2 * include/asm-xtensa/bug.h 3 * 4 * Macros to cause a 'bug' message. 5 * 6 * This file is subject to the terms and conditions of the GNU General Public 7 * License. See the file "COPYING" in the main directory of this archive 8 * for more details. 9 * 10 * Copyright (C) 2001 - 2005 Tensilica Inc. 11 */ 12 13#ifndef _XTENSA_BUG_H 14#define _XTENSA_BUG_H 15 16#include <linux/stringify.h> 17 18#define ILL __asm__ __volatile__ (".byte 0,0,0\n") 19 20#ifdef CONFIG_KALLSYMS 21# define BUG() do { \ 22 printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ 23 ILL; \ 24} while (0) 25#else 26# define BUG() do { \ 27 printk("kernel BUG!\n"); \ 28 ILL; \ 29} while (0) 30#endif 31 32#define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0) 33#define PAGE_BUG(page) do { BUG(); } while (0) 34#define WARN_ON(condition) do { \ 35 if (unlikely((condition)!=0)) { \ 36 printk ("Warning in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \ 37 dump_stack(); \ 38 } \ 39} while (0) 40 41#endif /* _XTENSA_BUG_H */