[coreboot-gerrit] Patch set updated for coreboot: 7cf8642 console: Refactor uart8250/NE2K

Kyösti Mälkki (kyosti.malkki@gmail.com) gerrit at coreboot.org
Mon Apr 7 10:39:46 CEST 2014


Kyösti Mälkki (kyosti.malkki at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5330

-gerrit

commit 7cf8642fd14b7f0a07380c1242a0a31a00b56762
Author: Kyösti Mälkki <kyosti.malkki at gmail.com>
Date:   Tue Jan 28 11:34:38 2014 +0200

    console: Refactor uart8250/NE2K
    
    Do this for symmetry with romstage_console.c.
    
    Change-Id: If17acfc3da07b1dbefa87162c3c7168deb7b354a
    Signed-off-by: Kyösti Mälkki <kyosti.malkki at gmail.com>
---
 src/arch/x86/lib/romcc_console.c    | 35 ++++++++++++++++-------------------
 src/arch/x86/lib/romstage_console.c |  2 +-
 src/include/console/ne2k.h          |  4 ++++
 3 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/src/arch/x86/lib/romcc_console.c b/src/arch/x86/lib/romcc_console.c
index a6e8ecc..0557a52 100644
--- a/src/arch/x86/lib/romcc_console.c
+++ b/src/arch/x86/lib/romcc_console.c
@@ -41,6 +41,16 @@ static void __console_tx_byte(unsigned char byte)
 #endif
 }
 
+static void __console_tx_flush(void)
+{
+#if CONFIG_CONSOLE_SERIAL
+	uart_tx_flush();
+#endif
+#if CONFIG_CONSOLE_NE2K
+	ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
+#endif
+}
+
 static void __console_tx_nibble(unsigned nibble)
 {
 	unsigned char digit;
@@ -54,13 +64,8 @@ static void __console_tx_nibble(unsigned nibble)
 static void __console_tx_char(int loglevel, unsigned char byte)
 {
 	if (console_log_level(loglevel)) {
-#if CONFIG_CONSOLE_SERIAL
-		uart_tx_byte(byte);
-#endif
-#if CONFIG_CONSOLE_NE2K
-		ne2k_append_data_byte(byte, CONFIG_CONSOLE_NE2K_IO_PORT);
-		ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
-#endif
+		__console_tx_byte(byte);
+		__console_tx_flush();
 	}
 }
 
@@ -69,10 +74,8 @@ static void __console_tx_hex8(int loglevel, unsigned char value)
 	if (console_log_level(loglevel)) {
 		__console_tx_nibble((value >>  4U) & 0x0fU);
 		__console_tx_nibble(value & 0x0fU);
+		__console_tx_flush();
 	}
-#if CONFIG_CONSOLE_NE2K
-		ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
-#endif
 }
 
 static void __console_tx_hex16(int loglevel, unsigned short value)
@@ -82,10 +85,8 @@ static void __console_tx_hex16(int loglevel, unsigned short value)
 		__console_tx_nibble((value >>  8U) & 0x0fU);
 		__console_tx_nibble((value >>  4U) & 0x0fU);
 		__console_tx_nibble(value & 0x0fU);
+		__console_tx_flush();
 	}
-#if CONFIG_CONSOLE_NE2K
-		ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
-#endif
 }
 
 static void __console_tx_hex32(int loglevel, unsigned int value)
@@ -99,10 +100,8 @@ static void __console_tx_hex32(int loglevel, unsigned int value)
 		__console_tx_nibble((value >>  8U) & 0x0fU);
 		__console_tx_nibble((value >>  4U) & 0x0fU);
 		__console_tx_nibble(value & 0x0fU);
+		__console_tx_flush();
 	}
-#if CONFIG_CONSOLE_NE2K
-		ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
-#endif
 }
 
 static void __console_tx_string(int loglevel, const char *str)
@@ -114,9 +113,7 @@ static void __console_tx_string(int loglevel, const char *str)
 				__console_tx_byte('\r');
 			__console_tx_byte(ch);
 		}
-#if CONFIG_CONSOLE_NE2K
-		ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
-#endif
+		__console_tx_flush();
 	}
 }
 
diff --git a/src/arch/x86/lib/romstage_console.c b/src/arch/x86/lib/romstage_console.c
index 4971f01..58742a2 100644
--- a/src/arch/x86/lib/romstage_console.c
+++ b/src/arch/x86/lib/romstage_console.c
@@ -33,7 +33,7 @@ void console_tx_byte(unsigned char byte)
 	usb_tx_byte(0, byte);
 #endif
 #if CONFIG_CONSOLE_NE2K
-	ne2k_append_data(&byte, 1, CONFIG_CONSOLE_NE2K_IO_PORT);
+	ne2k_append_data_byte(byte, CONFIG_CONSOLE_NE2K_IO_PORT);
 #endif
 #if CONFIG_CONSOLE_CBMEM && (CONFIG_EARLY_CBMEM_INIT || !defined(__PRE_RAM__))
 	cbmemc_tx_byte(byte);
diff --git a/src/include/console/ne2k.h b/src/include/console/ne2k.h
index 62424f1..cb3c1ec 100644
--- a/src/include/console/ne2k.h
+++ b/src/include/console/ne2k.h
@@ -22,4 +22,8 @@
 void ne2k_append_data(unsigned char *d, int len, unsigned int base);
 int ne2k_init(unsigned int eth_nic_base);
 void ne2k_transmit(unsigned int eth_nic_base);
+
+#ifndef __ROMCC__
+#define ne2k_append_data_byte(d, base) ne2k_append_data(&d, 1, base)
+#endif
 #endif /* _NE2K_H */



More information about the coreboot-gerrit mailing list