[coreboot] [commit] r5170 - trunk/src/include

repository service svn at coreboot.org
Sun Feb 28 19:13:09 CET 2010


Author: stepan
Date: Sun Feb 28 19:13:09 2010
New Revision: 5170
URL: http://tracker.coreboot.org/trac/coreboot/changeset/5170

Log:
assert.h: have the same information on asserts in romcc and non-romcc code.

Signed-off-by: Stefan Reinauer <stepan at coresystems.de>
Acked-by: Ronald G. Minnich <rminnich at gmail.com>

Modified:
   trunk/src/include/assert.h

Modified: trunk/src/include/assert.h
==============================================================================
--- trunk/src/include/assert.h	Sat Feb 27 14:11:34 2010	(r5169)
+++ trunk/src/include/assert.h	Sun Feb 28 19:13:09 2010	(r5170)
@@ -1,12 +1,12 @@
 /*
  * This file is part of the coreboot project.
+ * 
+ * Copyright (C) 2010 coresystems GmbH
  *
- * Copyright (C) 2005 Digital Design Corporation
- *
- * 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.
+ * 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; version 2 of
+ * the License.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -15,41 +15,52 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
  */
 
-/*
- * assert.h: Debugging macros
- */
+#ifndef __ASSERT_H__
+#define __ASSERT_H__
 
-#ifndef __ASSERT_H_DEFINED
-#define __ASSERT_H_DEFINED
+#if defined(__PRE_RAM__) && !CONFIG_USE_PRINTK_IN_CAR
 
-// ROMCC doesn't support __FILE__ or __LINE__  :^{
+/* ROMCC versions */
+#define ASSERT(x) {						\
+	if(!(x)) {						\
+		print_emerg("ASSERTION FAILED: file '");	\
+		print_emerg(__FILE__);				\
+		print_emerg("', line 0x");			\
+		print_debug_hex32(__LINE__);			\
+		print_emerg("\r\n");				\
+		/* die(""); */					\
+	}							\
+}
 
-#if CONFIG_DEBUG
-#ifdef __PRE_RAM__
-#define ASSERT(x)	{ if (!(x)) die("ASSERT failure!\r\n"); }
-#else
-#define ASSERT(x)	{ 				\
-						if (!(x)) 	\
-						{			\
-							printk_emerg("ASSERT failure: file '%s', line %d\n", __FILE__, __LINE__); \
-							die(""); \
-						}			\
-					}
-#endif		// __ROMCC__
-#else		// !CONFIG_DEBUG
-#define ASSERT(x)	{ }
-#endif
+#define BUG() {							\
+	print_emerg("BUG ENCOUNTERED: SYSTEM HALTED at file '");\
+	print_emerg(__FILE__);					\
+	print_emerg("', line 0x");				\
+	print_debug_hex32(__LINE__);				\
+	print_emerg("\r\n");					\
+	/* die(""); */						\
+}
 
-#ifdef __PRE_RAM__
-#define BUG()		{ 	die("BUG encountered: system halted\r\n");  }
 #else
-#define BUG()		{ 				\
-						printk_emerg("BUG: file '%s', line %d\n", __FILE__, __LINE__); \
-						die(""); \
-					}
+
+/* GCC and CAR versions */
+#define ASSERT(x) {						\
+	if (!(x)) {						\
+		printk_emerg("ASSERTION FAILED: file '%s', "	\
+			" line %d\n", __FILE__, __LINE__);	\
+		/* die(""); */					\
+	}							\
+}
+#define BUG() {							\
+	printk_emerg("BUG ENCOUNTERED: SYSTEM HALTED at file '%s', "	\
+		" line %d\n", __FILE__, __LINE__);		\
+	/* die(""); */						\
+}
+
 #endif
 					
-#endif 	// __ASSERT_H_DEFINED
+#endif 	// __ASSERT_H__




More information about the coreboot mailing list