[coreboot-gerrit] Patch set updated for coreboot: eab8f04 misc: Drop print_ implementation from non-romcc boards

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Mon Jan 5 23:10:24 CET 2015


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/8115

-gerrit

commit eab8f04ff10c0afe7a4809a82198b457c1d3b101
Author: Stefan Reinauer <reinauer at chromium.org>
Date:   Mon Jan 5 13:12:38 2015 -0800

    misc: Drop print_ implementation from non-romcc boards
    
    Because we have no stack on romcc boards, we had a separate, not as
    powerful clone of printk: print_*. Back in the day, like more than half
    a decade ago, we migrated a lot of boards to printk, but we never
    cleaned up the existing code to be consistent. instead, we worked around
    the problem with a very messy console.h (nowadays the mess is hidden in
    romstage_console.c and early_print.h)
    This patch cleans up the generic code pieces to use printk() on all
    non-ROMCC boards.
    
    Our two remaining boards are fixed up in this commit:
    bifferos/bifferboard and dmp/vortex86ex.
    
    Change-Id: I16676eeabe5c892c8e3c9f3c0cd3bae2e8fd74b6
    Signed-off-by: Stefan Reinauer <stefan.reinauer at coreboot.org>
---
 src/arch/x86/lib/romcc_console.c              |  7 +++
 src/console/die.c                             |  6 +--
 src/console/post.c                            |  4 +-
 src/include/assert.h                          | 27 -----------
 src/include/console/console.h                 | 12 +----
 src/include/console/early_print.h             | 54 ---------------------
 src/lib/debug.c                               | 44 ++++++-----------
 src/lib/generic_dump_spd.c                    | 40 +++++-----------
 src/lib/generic_sdram.c                       | 17 ++-----
 src/lib/loaders/load_and_run_ramstage.c       |  2 +-
 src/lib/ramtest.c                             | 69 +--------------------------
 src/mainboard/bifferos/bifferboard/romstage.c |  1 +
 src/mainboard/dmp/vortex86ex/romstage.c       |  1 +
 13 files changed, 48 insertions(+), 236 deletions(-)

diff --git a/src/arch/x86/lib/romcc_console.c b/src/arch/x86/lib/romcc_console.c
index 9e0c3c9..a6424dd 100644
--- a/src/arch/x86/lib/romcc_console.c
+++ b/src/arch/x86/lib/romcc_console.c
@@ -20,6 +20,7 @@
 #include <build.h>
 #include <console/streams.h>
 #include <console/early_print.h>
+#include <console/loglevel.h>
 
 /* Include the sources. */
 #if CONFIG_CONSOLE_SERIAL && CONFIG_DRIVERS_UART_8250IO
@@ -78,3 +79,9 @@ void console_init(void)
 
 	print_info(console_test);
 }
+
+void die(const char *msg)
+{
+	print_emerg(msg);
+	halt();
+}
diff --git a/src/console/die.c b/src/console/die.c
index e6e968a..9a626c8 100644
--- a/src/console/die.c
+++ b/src/console/die.c
@@ -25,13 +25,11 @@
 
 #ifndef __ROMCC__
 #define NORETURN __attribute__((noreturn))
-#else
-#define NORETURN
-#endif
 
 /* Report a fatal error */
 void NORETURN die(const char *msg)
 {
-	print_emerg(msg);
+	printk(BIOS_EMERG, msg);
 	halt();
 }
+#endif
diff --git a/src/console/post.c b/src/console/post.c
index 4f2a87c..df71a62d 100644
--- a/src/console/post.c
+++ b/src/console/post.c
@@ -150,9 +150,7 @@ void post_code(uint8_t value)
 {
 #if !CONFIG_NO_POST
 #if CONFIG_CONSOLE_POST
-	print_emerg("POST: 0x");
-	print_emerg_hex8(value);
-	print_emerg("\n");
+	printk(BIOS_EMERG, "POST: 0x%02x\n", value);
 #endif
 #if CONFIG_CMOS_POST
 	cmos_post_code(value);
diff --git a/src/include/assert.h b/src/include/assert.h
index 9f624a9..966449b 100644
--- a/src/include/assert.h
+++ b/src/include/assert.h
@@ -22,31 +22,6 @@
 
 #include <console/console.h>
 
-#if defined(__PRE_RAM__) && !CONFIG_CACHE_AS_RAM
-
-/* 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("\n");				\
-		/* die(""); */					\
-	}							\
-}
-
-#define BUG() {							\
-	print_emerg("BUG ENCOUNTERED: SYSTEM HALTED at file '");\
-	print_emerg(__FILE__);					\
-	print_emerg("', line 0x");				\
-	print_debug_hex32(__LINE__);				\
-	print_emerg("\n");					\
-	/* die(""); */						\
-}
-
-#else
-
 /* GCC and CAR versions */
 #define ASSERT(x) {						\
 	if (!(x)) {						\
@@ -61,8 +36,6 @@
 	/* die(""); */						\
 }
 
-#endif /* defined(__PRE_RAM__) && !CONFIG_CACHE_AS_RAM */
-
 #define assert(statement)	ASSERT(statement)
 
 #endif // __ASSERT_H__
diff --git a/src/include/console/console.h b/src/include/console/console.h
index 9e98bfc..38e05b3 100644
--- a/src/include/console/console.h
+++ b/src/include/console/console.h
@@ -23,6 +23,7 @@
 #include <stdint.h>
 #include <rules.h>
 #include <console/post_codes.h>
+#include <console/loglevel.h>
 
 #ifndef __ROMCC__
 void post_code(u8 value);
@@ -70,15 +71,6 @@ static inline void do_vtxprintf(const char *fmt, va_list args) {};
 #endif
 #endif
 
-/* A lot of code still uses print_debug() et al. while use of printk()
- * would be preferred.
- */
-#include <console/early_print.h>
-
-#else /* __ROMCC__ */
-
-#include "arch/x86/lib/romcc_console.c"
-
-#endif /* __ROMCC__ */
+#endif /* !__ROMCC__ */
 
 #endif /* CONSOLE_CONSOLE_H_ */
diff --git a/src/include/console/early_print.h b/src/include/console/early_print.h
index 8bc1489..cbc9b46 100644
--- a/src/include/console/early_print.h
+++ b/src/include/console/early_print.h
@@ -92,58 +92,4 @@
 #define print_debug_hex32(HEX)   __console_tx_hex32(BIOS_DEBUG, HEX)
 #define print_spew_hex32(HEX)    __console_tx_hex32(BIOS_SPEW, HEX)
 
-#else
-
-#define print_emerg(STR)         printk(BIOS_EMERG,  "%s", (STR))
-#define print_alert(STR)         printk(BIOS_ALERT,  "%s", (STR))
-#define print_crit(STR)          printk(BIOS_CRIT,   "%s", (STR))
-#define print_err(STR)           printk(BIOS_ERR,    "%s", (STR))
-#define print_warning(STR)       printk(BIOS_WARNING,"%s", (STR))
-#define print_notice(STR)        printk(BIOS_NOTICE, "%s", (STR))
-#define print_info(STR)          printk(BIOS_INFO,   "%s", (STR))
-#define print_debug(STR)         printk(BIOS_DEBUG,  "%s", (STR))
-#define print_spew(STR)          printk(BIOS_SPEW,   "%s", (STR))
-
-#define print_emerg_char(CH)     printk(BIOS_EMERG,  "%c", (CH))
-#define print_alert_char(CH)     printk(BIOS_ALERT,  "%c", (CH))
-#define print_crit_char(CH)      printk(BIOS_CRIT,   "%c", (CH))
-#define print_err_char(CH)       printk(BIOS_ERR,    "%c", (CH))
-#define print_warning_char(CH)   printk(BIOS_WARNING,"%c", (CH))
-#define print_notice_char(CH)    printk(BIOS_NOTICE, "%c", (CH))
-#define print_info_char(CH)      printk(BIOS_INFO,   "%c", (CH))
-#define print_debug_char(CH)     printk(BIOS_DEBUG,  "%c", (CH))
-#define print_spew_char(CH)      printk(BIOS_SPEW,   "%c", (CH))
-
-#define print_emerg_hex8(HEX)    printk(BIOS_EMERG,  "%02x",  (HEX))
-#define print_alert_hex8(HEX)    printk(BIOS_ALERT,  "%02x",  (HEX))
-#define print_crit_hex8(HEX)     printk(BIOS_CRIT,   "%02x",  (HEX))
-#define print_err_hex8(HEX)      printk(BIOS_ERR,    "%02x",  (HEX))
-#define print_warning_hex8(HEX)  printk(BIOS_WARNING,"%02x",  (HEX))
-#define print_notice_hex8(HEX)   printk(BIOS_NOTICE, "%02x",  (HEX))
-#define print_info_hex8(HEX)     printk(BIOS_INFO,   "%02x",  (HEX))
-#define print_debug_hex8(HEX)    printk(BIOS_DEBUG,  "%02x",  (HEX))
-#define print_spew_hex8(HEX)     printk(BIOS_SPEW,   "%02x",  (HEX))
-
-#define print_emerg_hex16(HEX)   printk(BIOS_EMERG,  "%04x", (HEX))
-#define print_alert_hex16(HEX)   printk(BIOS_ALERT,  "%04x", (HEX))
-#define print_crit_hex16(HEX)    printk(BIOS_CRIT,   "%04x", (HEX))
-#define print_err_hex16(HEX)     printk(BIOS_ERR,    "%04x", (HEX))
-#define print_warning_hex16(HEX) printk(BIOS_WARNING,"%04x", (HEX))
-#define print_notice_hex16(HEX)  printk(BIOS_NOTICE, "%04x", (HEX))
-#define print_info_hex16(HEX)    printk(BIOS_INFO,   "%04x", (HEX))
-#define print_debug_hex16(HEX)   printk(BIOS_DEBUG,  "%04x", (HEX))
-#define print_spew_hex16(HEX)    printk(BIOS_SPEW,   "%04x", (HEX))
-
-#define print_emerg_hex32(HEX)   printk(BIOS_EMERG,  "%08x", (HEX))
-#define print_alert_hex32(HEX)   printk(BIOS_ALERT,  "%08x", (HEX))
-#define print_crit_hex32(HEX)    printk(BIOS_CRIT,   "%08x", (HEX))
-#define print_err_hex32(HEX)     printk(BIOS_ERR,    "%08x", (HEX))
-#define print_warning_hex32(HEX) printk(BIOS_WARNING,"%08x", (HEX))
-#define print_notice_hex32(HEX)  printk(BIOS_NOTICE, "%08x", (HEX))
-#define print_info_hex32(HEX)    printk(BIOS_INFO,   "%08x", (HEX))
-#define print_debug_hex32(HEX)   printk(BIOS_DEBUG,  "%08x", (HEX))
-#define print_spew_hex32(HEX)    printk(BIOS_SPEW,   "%08x", (HEX))
-
-#endif
-
 #endif /* __CONSOLE_EARLY_PRINT_H_ */
diff --git a/src/lib/debug.c b/src/lib/debug.c
index a2c323c..8d629c2 100644
--- a/src/lib/debug.c
+++ b/src/lib/debug.c
@@ -21,12 +21,8 @@
 
 static void print_debug_pci_dev(unsigned dev)
 {
-	print_debug("PCI: ");
-	print_debug_hex8((dev >> 16) & 0xff);
-	print_debug_char(':');
-	print_debug_hex8((dev >> 11) & 0x1f);
-	print_debug_char('.');
-	print_debug_hex8((dev >> 8) & 7);
+	printk(BIOS_DEBUG, "PCI: %02x:%02x.%x",
+		(dev >> 16) & 0xff, (dev >> 11) & 0x1f, (dev >> 8) & 7);
 }
 
 static inline void print_pci_devices(void)
@@ -42,7 +38,7 @@ static inline void print_pci_devices(void)
 			continue;
 		}
 		print_debug_pci_dev(dev);
-		print_debug("\n");
+		printk(BIOS_DEBUG, "\n");
 	}
 }
 
@@ -50,20 +46,16 @@ static void dump_pci_device(unsigned dev)
 {
 	int i;
 	print_debug_pci_dev(dev);
-	print_debug("\n");
+	printk(BIOS_DEBUG, "\n");
 
 	for (i = 0; i <= 255; i++) {
 		unsigned char val;
-		if ((i & 0x0f) == 0) {
-			print_debug_hex8(i);
-			print_debug_char(':');
-		}
+		if ((i & 0x0f) == 0)
+			printk(BIOS_DEBUG, "%02x:", i);
 		val = pci_read_config8(dev, i);
-		print_debug_char(' ');
-		print_debug_hex8(val);
-		if ((i & 0x0f) == 0x0f) {
-			print_debug("\n");
-		}
+		printk(BIOS_DEBUG, " %02x", val);
+		if ((i & 0x0f) == 0x0f)
+			printk(BIOS_DEBUG, "\n");
 	}
 }
 
@@ -86,22 +78,16 @@ static inline void dump_pci_devices(void)
 
 static inline void dump_io_resources(unsigned port)
 {
-
 	int i;
-	print_debug_hex16(port);
-	print_debug(":\n");
+	printk(BIOS_DEBUG, "%04x:\n", port);
 	for (i = 0; i < 256; i++) {
 		u8 val;
-		if ((i & 0x0f) == 0) {
-			print_debug_hex8(i);
-			print_debug_char(':');
-		}
+		if ((i & 0x0f) == 0)
+			printk(BIOS_DEBUG, "%02x:", i);
 		val = inb(port);
-		print_debug_char(' ');
-		print_debug_hex8(val);
-		if ((i & 0x0f) == 0x0f) {
-			print_debug("\n");
-		}
+		printk(BIOS_DEBUG, " %02x", val);
+		if ((i & 0x0f) == 0x0f)
+			printk(BIOS_DEBUG, "\n");
 		port++;
 	}
 }
diff --git a/src/lib/generic_dump_spd.c b/src/lib/generic_dump_spd.c
index 32a572e..d61ce1e 100644
--- a/src/lib/generic_dump_spd.c
+++ b/src/lib/generic_dump_spd.c
@@ -6,60 +6,46 @@
 static void dump_spd_registers(const struct mem_controller *ctrl)
 {
 	int i;
-	print_debug("\n");
+	printk(BIOS_DEBUG, "\n");
 	for(i = 0; i < 4; i++) {
 		unsigned device;
 		device = ctrl->channel0[i];
 		if (device) {
 			int j;
-			print_debug("dimm: ");
-			print_debug_hex8(i);
-			print_debug(".0: ");
-			print_debug_hex8(device);
+			printk(BIOS_DEBUG, "dimm: %02x.0: %02x", i, device);
 			for(j = 0; j < 256; j++) {
 				int status;
 				unsigned char byte;
-				if ((j & 0xf) == 0) {
-					print_debug("\n");
-					print_debug_hex8(j);
-					print_debug(": ");
-				}
+				if ((j & 0xf) == 0)
+					printk(BIOS_DEBUG, "\n%02x: ", j);
 				status = spd_read_byte(device, j);
 				if (status < 0) {
-					print_debug("bad device\n");
+					printk(BIOS_DEBUG, "bad device\n");
 					break;
 				}
 				byte = status & 0xff;
-				print_debug_hex8(byte);
-				print_debug_char(' ');
+				printk(BIOS_DEBUG, "%02x ", byte);
 			}
-			print_debug("\n");
+			printk(BIOS_DEBUG, "\n");
 		}
 		device = ctrl->channel1[i];
 		if (device) {
 			int j;
-			print_debug("dimm: ");
-			print_debug_hex8(i);
-			print_debug(".1: ");
-			print_debug_hex8(device);
+			printk(BIOS_DEBUG, "dimm: %02x.1: %02x", i, device);
 			for(j = 0; j < 256; j++) {
 				int status;
 				unsigned char byte;
-				if ((j & 0xf) == 0) {
-					print_debug("\n");
-					print_debug_hex8(j);
-					print_debug(": ");
-				}
+				if ((j & 0xf) == 0)
+					printk(BIOS_DEBUG, "\n%02x: ");
 				status = spd_read_byte(device, j);
 				if (status < 0) {
-					print_debug("bad device\n");
+					printk(BIOS_DEBUG, "bad device\n");
 					break;
 				}
 				byte = status & 0xff;
-				print_debug_hex8(byte);
-				print_debug_char(' ');
+				printk(BIOS_DEBUG, "%02x ", byte);
 			}
-			print_debug("\n");
+			printk(BIOS_DEBUG, "\n");
 		}
 	}
 }
diff --git a/src/lib/generic_sdram.c b/src/lib/generic_sdram.c
index efb61db..a79d822 100644
--- a/src/lib/generic_sdram.c
+++ b/src/lib/generic_sdram.c
@@ -1,14 +1,5 @@
 #include <lib.h> /* Prototypes */
 
-static inline void print_debug_sdram_8(const char *strval, uint32_t val)
-{
-#if CONFIG_CACHE_AS_RAM
-        printk(BIOS_DEBUG, "%s%02x\n", strval, val);
-#else
-        print_debug(strval); print_debug_hex8(val); print_debug("\n");
-#endif
-}
-
 /* Setup SDRAM */
 #if CONFIG_RAMINIT_SYSINFO
 void sdram_initialize(int controllers, const struct mem_controller *ctrl, void *sysinfo)
@@ -19,7 +10,7 @@ void sdram_initialize(int controllers, const struct mem_controller *ctrl)
 	int i;
 	/* Set the registers we can set once to reasonable values */
 	for(i = 0; i < controllers; i++) {
-		print_debug_sdram_8("Ram1.", i);
+		printk(BIOS_DEBUG, "Ram1.%02x\n", i);
 
 	#if CONFIG_RAMINIT_SYSINFO
 		sdram_set_registers(ctrl + i, sysinfo);
@@ -30,7 +21,7 @@ void sdram_initialize(int controllers, const struct mem_controller *ctrl)
 
 	/* Now setup those things we can auto detect */
 	for(i = 0; i < controllers; i++) {
-                print_debug_sdram_8("Ram2.", i);
+		printk(BIOS_DEBUG, "Ram2.%02x\n", i);
 
 	#if CONFIG_RAMINIT_SYSINFO
 		sdram_set_spd_registers(ctrl + i, sysinfo);
@@ -44,7 +35,7 @@ void sdram_initialize(int controllers, const struct mem_controller *ctrl)
 	 * Some chipsets do the work for us while on others
 	 * we need to it by hand.
 	 */
-	print_debug("Ram3\n");
+	printk(BIOS_DEBUG, "Ram3\n");
 
 	#if CONFIG_RAMINIT_SYSINFO
 	sdram_enable(controllers, ctrl, sysinfo);
@@ -52,5 +43,5 @@ void sdram_initialize(int controllers, const struct mem_controller *ctrl)
 	sdram_enable(controllers, ctrl);
 	#endif
 
-	print_debug("Ram4\n");
+	printk(BIOS_DEBUG, "Ram4\n");
 }
diff --git a/src/lib/loaders/load_and_run_ramstage.c b/src/lib/loaders/load_and_run_ramstage.c
index 71eb22c..5237e20 100644
--- a/src/lib/loaders/load_and_run_ramstage.c
+++ b/src/lib/loaders/load_and_run_ramstage.c
@@ -74,7 +74,7 @@ static void run_ramstage_from_resume(struct romstage_handoff *handoff)
 		entry = load_cached_ramstage(handoff, cbmem_entry);
 
 		if (entry != NULL) {
-			print_debug("Jumping to image.\n");
+			printk(BIOS_DEBUG, "Jumping to image.\n");
 			stage_exit(entry);
 		}
 	}
diff --git a/src/lib/ramtest.c b/src/lib/ramtest.c
index e9173fa..99138e3 100644
--- a/src/lib/ramtest.c
+++ b/src/lib/ramtest.c
@@ -83,13 +83,7 @@ static int ram_bitset_nodie(unsigned long start)
 	unsigned char failed, failures;
 	uint8_t verbose = 0;
 
-#if !defined(__ROMCC__)
 	printk(BIOS_DEBUG, "DRAM bitset write: 0x%08lx\n", start);
-#else
-	print_debug("DRAM bitset write: 0x");
-	print_debug_hex32(start);
-	print_debug("\n");
-#endif
 	for (idx=0; idx<0x400; idx+=4) {
 		test_pattern(idx, &addr, &value);
 		write_phys(start + addr, value);
@@ -98,13 +92,7 @@ static int ram_bitset_nodie(unsigned long start)
 	/* Make sure we don't read before we wrote */
 	phys_memory_barrier();
 
-#if !defined(__ROMCC__)
 	printk(BIOS_DEBUG, "DRAM bitset verify: 0x%08lx\n", start);
-#else
-	print_debug("DRAM bitset verify: 0x");
-	print_debug_hex32(start);
-	print_debug("\n");
-#endif
 	failures = 0;
 	for (idx=0; idx<0x400; idx+=4) {
 		test_pattern(idx, &addr, &value);
@@ -113,20 +101,10 @@ static int ram_bitset_nodie(unsigned long start)
 		failed = (value2 != value);
 		failures |= failed;
 		if  (failed && !verbose) {
-#if !defined(__ROMCC__)
 			printk(BIOS_ERR, "0x%08lx wr: 0x%08lx rd: 0x%08lx FAIL\n",
 				 start + addr, value, value2);
-#else
-			print_err_hex32(start + addr);
-			print_err(" wr: 0x");
-			print_err_hex32(value);
-			print_err(" rd: 0x");
-			print_err_hex32(value2);
-			print_err(" FAIL\n");
-#endif
 		}
 		if (verbose) {
-#if !defined(__ROMCC__)
 			if ((addr & 0x0f) == 0)
 				printk(BIOS_DEBUG, "%08lx wr: %08lx rd:",
 					start + addr, value);
@@ -136,39 +114,14 @@ static int ram_bitset_nodie(unsigned long start)
 				printk(BIOS_DEBUG, " %08lx ", value2);
 			if ((addr & 0x0f) == 0xc)
 				printk(BIOS_DEBUG, "\n");
-#else
-			if ((addr & 0x0f) == 0) {
-				print_dbg_hex32(start + addr);
-				print_dbg(" wr: ");
-				print_dbg_hex32(value);
-				print_dbg(" rd: ");
-			}
-			print_dbg_hex32(value2);
-			if (failed)
-				print_dbg("! ");
-			else
-				print_dbg("  ");
-			if ((addr & 0x0f) == 0xc)
-				print_dbg("\n");
-#endif
 		}
 	}
 	if (failures) {
 		post_code(0xea);
-#if !defined(__ROMCC__)
 		printk(BIOS_DEBUG, "\nDRAM did _NOT_ verify!\n");
-#else
-		print_debug("\nDRAM did _NOT_ verify!\n");
-#endif
 		return 1;
-	}
-	else {
-#if !defined(__ROMCC__)
+	} else {
 		printk(BIOS_DEBUG, "\nDRAM range verified.\n");
-#else
-		print_debug("\nDRAM range verified.\n");
-		return 0;
-#endif
 	}
 	return 0;
 }
@@ -181,20 +134,10 @@ void ram_check(unsigned long start, unsigned long stop)
 	 * test than a "Is my DRAM faulty?" test.  Not all bits
 	 * are tested.   -Tyson
 	 */
-#if !defined(__ROMCC__)
 	printk(BIOS_DEBUG, "Testing DRAM at: %08lx\n", start);
-#else
-	print_debug("Testing DRAM at: ");
-	print_debug_hex32(start);
-	print_debug("\n");
-#endif
 	if (ram_bitset_nodie(start))
 		die("DRAM ERROR");
-#if !defined(__ROMCC__)
 	printk(BIOS_DEBUG, "Done.\n");
-#else
-	print_debug("Done.\n");
-#endif
 }
 
 
@@ -206,20 +149,10 @@ int ram_check_nodie(unsigned long start, unsigned long stop)
 	 * test than a "Is my DRAM faulty?" test.  Not all bits
 	 * are tested.   -Tyson
 	 */
-#if !defined(__ROMCC__)
 	printk(BIOS_DEBUG, "Testing DRAM at : %08lx\n", start);
-#else
-	print_debug("Testing DRAM at : ");
-	print_debug_hex32(start);
-	print_debug("\n");
-#endif
 
 	ret = ram_bitset_nodie(start);
-#if !defined(__ROMCC__)
 	printk(BIOS_DEBUG, "Done.\n");
-#else
-	print_debug("Done.\n");
-#endif
 	return ret;
 }
 
diff --git a/src/mainboard/bifferos/bifferboard/romstage.c b/src/mainboard/bifferos/bifferboard/romstage.c
index 574e9a6..3bbc73a 100644
--- a/src/mainboard/bifferos/bifferboard/romstage.c
+++ b/src/mainboard/bifferos/bifferboard/romstage.c
@@ -23,6 +23,7 @@
 #include <arch/io.h>
 #include <device/pnp_def.h>
 #include <pc80/mc146818rtc.h>
+#include "arch/x86/lib/romcc_console.c"
 #include <console/console.h>
 #include <cpu/x86/cache.h>
 
diff --git a/src/mainboard/dmp/vortex86ex/romstage.c b/src/mainboard/dmp/vortex86ex/romstage.c
index d43df8d..117bd35 100644
--- a/src/mainboard/dmp/vortex86ex/romstage.c
+++ b/src/mainboard/dmp/vortex86ex/romstage.c
@@ -21,6 +21,7 @@
 #include <stdint.h>
 #include <arch/io.h>
 #include <stdlib.h>
+#include "arch/x86/lib/romcc_console.c"
 #include <console/console.h>
 #include <cpu/x86/cache.h>
 #include <halt.h>



More information about the coreboot-gerrit mailing list