Changeset 5170
- Timestamp:
- Feb 28, 2010 7:13:09 PM (3 years ago)
- File:
-
- 1 edited
-
trunk/src/include/assert.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/include/assert.h
r5127 r5170 1 1 /* 2 2 * This file is part of the coreboot project. 3 * 4 * Copyright (C) 2010 coresystems GmbH 3 5 * 4 * Copyright (C) 2005 Digital Design Corporation 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation; version 2 of 9 * the License. 10 10 * 11 11 * This program is distributed in the hope that it will be useful, … … 16 16 * You should have received a copy of the GNU General Public License 17 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 19 * MA 02110-1301 USA 19 20 */ 20 21 21 /* 22 * assert.h: Debugging macros 23 */ 22 #ifndef __ASSERT_H__ 23 #define __ASSERT_H__ 24 24 25 #ifndef __ASSERT_H_DEFINED 26 #define __ASSERT_H_DEFINED 25 #if defined(__PRE_RAM__) && !CONFIG_USE_PRINTK_IN_CAR 27 26 28 // ROMCC doesn't support __FILE__ or __LINE__ :^{ 27 /* ROMCC versions */ 28 #define ASSERT(x) { \ 29 if(!(x)) { \ 30 print_emerg("ASSERTION FAILED: file '"); \ 31 print_emerg(__FILE__); \ 32 print_emerg("', line 0x"); \ 33 print_debug_hex32(__LINE__); \ 34 print_emerg("\r\n"); \ 35 /* die(""); */ \ 36 } \ 37 } 29 38 30 #if CONFIG_DEBUG 31 #ifdef __PRE_RAM__ 32 #define ASSERT(x) { if (!(x)) die("ASSERT failure!\r\n"); } 39 #define BUG() { \ 40 print_emerg("BUG ENCOUNTERED: SYSTEM HALTED at file '");\ 41 print_emerg(__FILE__); \ 42 print_emerg("', line 0x"); \ 43 print_debug_hex32(__LINE__); \ 44 print_emerg("\r\n"); \ 45 /* die(""); */ \ 46 } 47 33 48 #else 34 #define ASSERT(x) { \35 if (!(x)) \36 { \37 printk_emerg("ASSERT failure: file '%s', line %d\n", __FILE__, __LINE__); \38 die(""); \39 } \40 }41 #endif // __ROMCC__42 #else // !CONFIG_DEBUG43 #define ASSERT(x) { }44 #endif45 49 46 #ifdef __PRE_RAM__ 47 #define BUG() { die("BUG encountered: system halted\r\n"); } 48 #else 49 #define BUG() { \ 50 printk_emerg("BUG: file '%s', line %d\n", __FILE__, __LINE__); \ 51 die(""); \ 52 } 50 /* GCC and CAR versions */ 51 #define ASSERT(x) { \ 52 if (!(x)) { \ 53 printk_emerg("ASSERTION FAILED: file '%s', " \ 54 " line %d\n", __FILE__, __LINE__); \ 55 /* die(""); */ \ 56 } \ 57 } 58 #define BUG() { \ 59 printk_emerg("BUG ENCOUNTERED: SYSTEM HALTED at file '%s', " \ 60 " line %d\n", __FILE__, __LINE__); \ 61 /* die(""); */ \ 62 } 63 53 64 #endif 54 65 55 #endif // __ASSERT_H_ DEFINED66 #endif // __ASSERT_H__
Note: See TracChangeset
for help on using the changeset viewer.
