[coreboot] [commit] r6191 - in trunk/src: console include include/console lib mainboard/amd/serengeti_cheetah mainboard/gigabyte/ga_2761gxdk mainboard/gigabyte/m57sli mainboard/msi/ms7260 mainboard/nvidia/l1_...

repository service svn at coreboot.org
Fri Dec 17 01:08:23 CET 2010


Author: stepan
Date: Fri Dec 17 01:08:21 2010
New Revision: 6191
URL: https://tracker.coreboot.org/trac/coreboot/changeset/6191

Log:
drop one more version of doing serial uart output differently.

coreboot made it kind of complicated to print a character on serial. Not quite
as complicated as UEFI, but too much for a good design. Fix it.

Signed-off-by: Stefan Reinauer <stepan at coreboot.org>
Acked-by: Stefan Reinauer <stepan at coreboot.org>

Deleted:
   trunk/src/pc80/serial.c
Modified:
   trunk/src/console/uart8250_console.c
   trunk/src/include/console/console.h
   trunk/src/include/lib.h
   trunk/src/include/uart8250.h
   trunk/src/lib/uart8250.c
   trunk/src/mainboard/amd/serengeti_cheetah/ap_romstage.c
   trunk/src/mainboard/gigabyte/ga_2761gxdk/ap_romstage.c
   trunk/src/mainboard/gigabyte/m57sli/ap_romstage.c
   trunk/src/mainboard/msi/ms7260/ap_romstage.c
   trunk/src/mainboard/nvidia/l1_2pvv/ap_romstage.c
   trunk/src/mainboard/supermicro/h8dme/ap_romstage.c
   trunk/src/mainboard/supermicro/h8dmr/ap_romstage.c
   trunk/src/mainboard/tyan/s2912/ap_romstage.c
   trunk/src/northbridge/via/cx700/early_serial.c
   trunk/src/northbridge/via/vx800/examples/romstage.c
   trunk/src/pc80/Makefile.inc

Modified: trunk/src/console/uart8250_console.c
==============================================================================
--- trunk/src/console/uart8250_console.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/console/uart8250_console.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -1,41 +1,36 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2003 Eric Biederman
+ *
+ * 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * 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
+ */
+
 #include <console/console.h>
 #include <uart8250.h>
 #include <pc80/mc146818rtc.h>
 
-/* Base Address */
-#ifndef CONFIG_TTYS0_BASE
-#define CONFIG_TTYS0_BASE 0x3f8
-#endif
-
-#ifndef CONFIG_TTYS0_BAUD
-#define CONFIG_TTYS0_BAUD 115200
-#endif
-
-#ifndef CONFIG_TTYS0_DIV
-#if ((115200%CONFIG_TTYS0_BAUD) != 0)
-#error Bad ttys0 baud rate
-#endif
-#define CONFIG_TTYS0_DIV	(115200/CONFIG_TTYS0_BAUD)
-#endif
-
-/* Line Control Settings */
-#ifndef CONFIG_TTYS0_LCS
-/* Set 8bit, 1 stop bit, no parity */
-#define CONFIG_TTYS0_LCS	0x3
-#endif
-
-#define UART_LCS	CONFIG_TTYS0_LCS
-
 static void ttyS0_init(void)
 {
-	static const unsigned char div[8]={1,2,3,6,12,24,48,96};
-	int b_index=0;
-	unsigned int divisor=CONFIG_TTYS0_DIV;
+	static const unsigned char div[8] = { 1, 2, 3, 6, 12, 24, 48, 96 };
+	int b_index = 0;
+	unsigned int divisor = CONFIG_TTYS0_DIV;
 
-	if(get_option(&b_index,"baud_rate")==0) {
-		divisor=div[b_index];
+	if (get_option(&b_index, "baud_rate") == 0) {
+		divisor = div[b_index];
 	}
-	uart8250_init(CONFIG_TTYS0_BASE, divisor, CONFIG_TTYS0_LCS);
+	uart8250_init(CONFIG_TTYS0_BASE, divisor);
 }
 
 static void ttyS0_tx_byte(unsigned char data)
@@ -54,9 +49,8 @@
 }
 
 static const struct console_driver uart8250_console __console = {
-	.init    = ttyS0_init,
-	.tx_byte = ttyS0_tx_byte,
-	.rx_byte = ttyS0_rx_byte,
+	.init     = ttyS0_init,
+	.tx_byte  = ttyS0_tx_byte,
+	.rx_byte  = ttyS0_rx_byte,
 	.tst_byte = ttyS0_tst_byte,
 };
-

Modified: trunk/src/include/console/console.h
==============================================================================
--- trunk/src/include/console/console.h	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/include/console/console.h	Fri Dec 17 01:08:21 2010	(r6191)
@@ -148,8 +148,9 @@
 #define print_spew_hex32(HEX)    printk(BIOS_SPEW,   "%08x", (HEX))
 #else
 
-#include <pc80/serial.c>
-
+#if CONFIG_CONSOLE_SERIAL8250
+#include "lib/uart8259.c"
+#endif
 #if CONFIG_CONSOLE_NE2K
 #include "lib/ne2k.c"
 #endif
@@ -157,7 +158,9 @@
 /* __ROMCC__ */
 static void __console_tx_byte(unsigned char byte)
 {
-	uart_tx_byte(byte);
+#if CONFIG_CONSOLE_SERIAL8250
+	uart8250_tx_byte(CONFIG_TTYS0_BASE, byte);
+#endif
 #if CONFIG_CONSOLE_NE2K
 	ne2k_append_data_byte(byte, CONFIG_CONSOLE_NE2K_IO_PORT);
 #endif
@@ -176,10 +179,12 @@
 static void __console_tx_char(int loglevel, unsigned char byte)
 {
 	if (console_loglevel >= loglevel) {
-		uart_tx_byte(byte);
+#if CONFIG_CONSOLE_SERIAL8250
+		uart8250_tx_byte(CONFIG_TTYS0_BASE, byte);
+#endif
 #if CONFIG_CONSOLE_NE2K
-	ne2k_append_data_byte(byte, CONFIG_CONSOLE_NE2K_IO_PORT);
-	ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
+		ne2k_append_data_byte(byte, CONFIG_CONSOLE_NE2K_IO_PORT);
+		ne2k_transmit(CONFIG_CONSOLE_NE2K_IO_PORT);
 #endif
 	}
 }

Modified: trunk/src/include/lib.h
==============================================================================
--- trunk/src/include/lib.h	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/include/lib.h	Fri Dec 17 01:08:21 2010	(r6191)
@@ -39,9 +39,6 @@
 void ram_check(unsigned long start, unsigned long stop);
 void quick_ram_check(void);
 
-/* Defined in src/pc80/serial.c */
-void uart_init(void);
-
 /* Defined in romstage.c */
 #if defined(CONFIG_CPU_AMD_LX) && CONFIG_CPU_AMD_LX
 void cache_as_ram_main(void);

Modified: trunk/src/include/uart8250.h
==============================================================================
--- trunk/src/include/uart8250.h	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/include/uart8250.h	Fri Dec 17 01:08:21 2010	(r6191)
@@ -1,15 +1,151 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2003 Eric Biederman
+ *
+ * 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * 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
+ */
+
 #ifndef UART8250_H
 #define UART8250_H
 
+/* Base Address */
+#ifndef CONFIG_TTYS0_BASE
+#define CONFIG_TTYS0_BASE 0x3f8
+#endif
+
+#ifndef CONFIG_TTYS0_BAUD
+#define CONFIG_TTYS0_BAUD 115200
+#endif
+
+#ifndef CONFIG_TTYS0_DIV
+#if ((115200%CONFIG_TTYS0_BAUD) != 0)
+#error Bad ttys0 baud rate
+#endif
+#define CONFIG_TTYS0_DIV	(115200/CONFIG_TTYS0_BAUD)
+#endif
+
+/* Line Control Settings */
+#ifndef CONFIG_TTYS0_LCS
+/* Set 8bit, 1 stop bit, no parity */
+#define CONFIG_TTYS0_LCS	0x3
+#endif
+
+#define UART_LCS	CONFIG_TTYS0_LCS
+
+
+/* Data */
+#define UART_RBR 0x00
+#define UART_TBR 0x00
+
+/* Control */
+#define UART_IER 0x01
+#define   UART_IER_MSI		0x08 /* Enable Modem status interrupt */
+#define   UART_IER_RLSI		0x04 /* Enable receiver line status interrupt */
+#define   UART_IER_THRI		0x02 /* Enable Transmitter holding register int. */
+#define   UART_IER_RDI		0x01 /* Enable receiver data interrupt */
+
+#define UART_IIR 0x02
+#define   UART_IIR_NO_INT	0x01 /* No interrupts pending */
+#define   UART_IIR_ID		0x06 /* Mask for the interrupt ID */
+
+#define   UART_IIR_MSI		0x00 /* Modem status interrupt */
+#define   UART_IIR_THRI		0x02 /* Transmitter holding register empty */
+#define   UART_IIR_RDI		0x04 /* Receiver data interrupt */
+#define   UART_IIR_RLSI		0x06 /* Receiver line status interrupt */
+
+#define UART_FCR 0x02
+#define   UART_FCR_FIFO_EN	0x01 /* Fifo enable */
+#define   UART_FCR_CLEAR_RCVR	0x02 /* Clear the RCVR FIFO */
+#define   UART_FCR_CLEAR_XMIT	0x04 /* Clear the XMIT FIFO */
+#define   UART_FCR_DMA_SELECT	0x08 /* For DMA applications */
+#define   UART_FCR_TRIGGER_MASK	0xC0 /* Mask for the FIFO trigger range */
+#define   UART_FCR_TRIGGER_1	0x00 /* Mask for trigger set at 1 */
+#define   UART_FCR_TRIGGER_4	0x40 /* Mask for trigger set at 4 */
+#define   UART_FCR_TRIGGER_8	0x80 /* Mask for trigger set at 8 */
+#define   UART_FCR_TRIGGER_14	0xC0 /* Mask for trigger set at 14 */
+
+#define   UART_FCR_RXSR		0x02 /* Receiver soft reset */
+#define   UART_FCR_TXSR		0x04 /* Transmitter soft reset */
+
+#define UART_LCR 0x03
+#define   UART_LCR_WLS_MSK	0x03 /* character length select mask */
+#define   UART_LCR_WLS_5	0x00 /* 5 bit character length */
+#define   UART_LCR_WLS_6	0x01 /* 6 bit character length */
+#define   UART_LCR_WLS_7	0x02 /* 7 bit character length */
+#define   UART_LCR_WLS_8	0x03 /* 8 bit character length */
+#define   UART_LCR_STB		0x04 /* Number of stop Bits, off = 1, on = 1.5 or 2) */
+#define   UART_LCR_PEN		0x08 /* Parity eneble */
+#define   UART_LCR_EPS		0x10 /* Even Parity Select */
+#define   UART_LCR_STKP		0x20 /* Stick Parity */
+#define   UART_LCR_SBRK		0x40 /* Set Break */
+#define   UART_LCR_BKSE		0x80 /* Bank select enable */
+#define   UART_LCR_DLAB		0x80 /* Divisor latch access bit */
+
+#define UART_MCR 0x04
+#define   UART_MCR_DTR		0x01 /* DTR   */
+#define   UART_MCR_RTS		0x02 /* RTS   */
+#define   UART_MCR_OUT1		0x04 /* Out 1 */
+#define   UART_MCR_OUT2		0x08 /* Out 2 */
+#define   UART_MCR_LOOP		0x10 /* Enable loopback test mode */
+
+#define UART_MCR_DMA_EN		0x04
+#define UART_MCR_TX_DFR		0x08
+
+#define UART_DLL 0x00
+#define UART_DLM 0x01
+
+/* Status */
+#define UART_LSR 0x05
+#define   UART_LSR_DR		0x01 /* Data ready */
+#define   UART_LSR_OE		0x02 /* Overrun */
+#define   UART_LSR_PE		0x04 /* Parity error */
+#define   UART_LSR_FE		0x08 /* Framing error */
+#define   UART_LSR_BI		0x10 /* Break */
+#define   UART_LSR_THRE		0x20 /* Xmit holding register empty */
+#define   UART_LSR_TEMT		0x40 /* Xmitter empty */
+#define   UART_LSR_ERR		0x80 /* Error */
+
+#define UART_MSR 0x06
+#define   UART_MSR_DCD		0x80 /* Data Carrier Detect */
+#define   UART_MSR_RI		0x40 /* Ring Indicator */
+#define   UART_MSR_DSR		0x20 /* Data Set Ready */
+#define   UART_MSR_CTS		0x10 /* Clear to Send */
+#define   UART_MSR_DDCD		0x08 /* Delta DCD */
+#define   UART_MSR_TERI		0x04 /* Trailing edge ring indicator */
+#define   UART_MSR_DDSR		0x02 /* Delta DSR */
+#define   UART_MSR_DCTS		0x01 /* Delta CTS */
+
+#define UART_SCR 0x07
+
+
+#ifndef __ROMCC__
+// Can't we just drop this? It seems silly.
 struct uart8250 {
 	unsigned int baud;
-	/* Do I need an lcs parameter here? */
 };
 
 unsigned char uart8250_rx_byte(unsigned base_port);
 int uart8250_can_rx_byte(unsigned base_port);
 void uart8250_tx_byte(unsigned base_port, unsigned char data);
-void uart8250_init(unsigned base_port, unsigned divisor, unsigned lcs);
+
+/* Yes it is silly to have three different uart init functions. But we used to
+ * have three different sets of uart code, so it's an improvement.
+ */
+void uart8250_init(unsigned base_port, unsigned divisor);
 void init_uart8250(unsigned base_port, struct uart8250 *uart);
+void uart_init(void);
+#endif
 
 #endif /* UART8250_H */

Modified: trunk/src/lib/uart8250.c
==============================================================================
--- trunk/src/lib/uart8250.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/lib/uart8250.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -1,28 +1,36 @@
-/* Should support 8250, 16450, 16550, 16550A type uarts */
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2003 Eric Biederman
+ * Copyright (C) 2006-2010 coresystems GmbH
+ *
+ * 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
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * 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
+ */
+
 #include <arch/io.h>
 #include <uart8250.h>
+#include <pc80/mc146818rtc.h>
+#if CONFIG_USE_OPTION_TABLE
+#include "option_table.h"
+#endif
+
 
-/* Data */
-#define UART_RBR 0x00
-#define UART_TBR 0x00
-
-/* Control */
-#define UART_IER 0x01
-#define UART_IIR 0x02
-#define UART_FCR 0x02
-#define UART_LCR 0x03
-#define UART_MCR 0x04
-#define UART_DLL 0x00
-#define UART_DLM 0x01
-
-/* Status */
-#define UART_LSR 0x05
-#define UART_MSR 0x06
-#define UART_SCR 0x07
+/* Should support 8250, 16450, 16550, 16550A type UARTs */
 
 static inline int uart8250_can_tx_byte(unsigned base_port)
 {
-	return inb(base_port + UART_LSR) & 0x20;
+	return inb(base_port + UART_LSR) & UART_MSR_DSR;
 }
 
 static inline void uart8250_wait_to_tx_byte(unsigned base_port)
@@ -33,7 +41,7 @@
 
 static inline void uart8250_wait_until_sent(unsigned base_port)
 {
-	while(!(inb(base_port + UART_LSR) & 0x40))
+	while(!(inb(base_port + UART_LSR) & UART_LSR_TEMT))
 		;
 }
 
@@ -47,7 +55,7 @@
 
 int uart8250_can_rx_byte(unsigned base_port)
 {
-	return inb(base_port + UART_LSR) & 0x01;
+	return inb(base_port + UART_LSR) & UART_LSR_DR;
 }
 
 unsigned char uart8250_rx_byte(unsigned base_port)
@@ -57,34 +65,56 @@
 	return inb(base_port + UART_RBR);
 }
 
-void uart8250_init(unsigned base_port, unsigned divisor, unsigned lcs)
+void uart8250_init(unsigned base_port, unsigned divisor)
 {
-	lcs &= 0x7f;
-	/* disable interrupts */
+	/* Disable interrupts */
 	outb(0x0, base_port + UART_IER);
-	/* enable fifo's */
-	outb(0x01, base_port + UART_FCR);
+	/* Enable FIFOs */
+	outb(UART_FCR_FIFO_EN, base_port + UART_FCR);
+
 	/* assert DTR and RTS so the other end is happy */
-	outb(0x03, base_port + UART_MCR);
-	/* Set Baud Rate Divisor to 12 ==> 115200 Baud */
-	outb(0x80 | lcs, base_port + UART_LCR);
+	outb(UART_MCR_DTR | UART_MCR_RTS, base_port + UART_MCR);
+
+	/* DLAB on */
+	outb(UART_LCR_DLAB | CONFIG_TTYS0_LCS, base_port + UART_LCR);
+
+	/* Set Baud Rate Divisor. 12 ==> 115200 Baud */
 	outb(divisor & 0xFF,   base_port + UART_DLL);
 	outb((divisor >> 8) & 0xFF,    base_port + UART_DLM);
-	outb(lcs, base_port + UART_LCR);
+
+	/* Set to 3 for 8N1 */
+	outb(CONFIG_TTYS0_LCS, base_port + UART_LCR);
 }
 
+#ifndef __ROMCC__
 /* Initialize a generic uart */
 void init_uart8250(unsigned base_port, struct uart8250 *uart)
 {
-	int divisor;
-	int lcs;
-	divisor = 115200/(uart->baud ? uart->baud: 1);
-	lcs = 3;
+	int divisor = uart->baud ? (115200/uart->baud) : 1;
+
 	if (base_port == CONFIG_TTYS0_BASE) {
 		/* Don't reinitialize the console serial port,
 		 * This is espeically nasty in SMP.
+		 * NOTE: The first invocation thus always needs to be 
 		 */
 		return;
 	}
-	uart8250_init(base_port, divisor, lcs);
+	uart8250_init(base_port, divisor);
 }
+#endif
+
+void uart_init(void)
+{
+#if CONFIG_USE_OPTION_TABLE
+        static const unsigned char divisor[] = { 1, 2, 3, 6, 12, 24, 48, 96 };
+        unsigned ttys0_div, ttys0_index;
+        ttys0_index = read_option(CMOS_VSTART_baud_rate, CMOS_VLEN_baud_rate, 0);
+        ttys0_index &= 7;
+        ttys0_div = divisor[ttys0_index];
+
+	uart8250_init(CONFIG_TTYS0_BASE, ttys0_div);
+#else
+	uart8250_init(CONFIG_TTYS0_BASE, CONFIG_TTYS0_DIV);
+#endif
+}
+

Modified: trunk/src/mainboard/amd/serengeti_cheetah/ap_romstage.c
==============================================================================
--- trunk/src/mainboard/amd/serengeti_cheetah/ap_romstage.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/mainboard/amd/serengeti_cheetah/ap_romstage.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -11,9 +11,6 @@
 #include <arch/romcc_io.h>
 #include <cpu/x86/lapic.h>
 #include <pc80/mc146818rtc.h>
-#include "pc80/serial.c"
-#include "./arch/x86/lib/printk_init.c"
-
 #include "console/console.c"
 #include "lib/uart8250.c"
 #include "console/vtxprintf.c"

Modified: trunk/src/mainboard/gigabyte/ga_2761gxdk/ap_romstage.c
==============================================================================
--- trunk/src/mainboard/gigabyte/ga_2761gxdk/ap_romstage.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/mainboard/gigabyte/ga_2761gxdk/ap_romstage.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -34,7 +34,6 @@
 #include <arch/romcc_io.h>
 #include <cpu/x86/lapic.h>
 #include <pc80/mc146818rtc.h>
-#include "pc80/serial.c"
 
 #include "lib/uart8250.c"
 #include "arch/x86/lib/printk_init.c"

Modified: trunk/src/mainboard/gigabyte/m57sli/ap_romstage.c
==============================================================================
--- trunk/src/mainboard/gigabyte/m57sli/ap_romstage.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/mainboard/gigabyte/m57sli/ap_romstage.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -32,7 +32,6 @@
 #include <arch/romcc_io.h>
 #include <cpu/x86/lapic.h>
 #include <pc80/mc146818rtc.h>
-#include "pc80/serial.c"
 
 #include "lib/uart8250.c"
 #include "arch/x86/lib/printk_init.c"

Modified: trunk/src/mainboard/msi/ms7260/ap_romstage.c
==============================================================================
--- trunk/src/mainboard/msi/ms7260/ap_romstage.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/mainboard/msi/ms7260/ap_romstage.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -33,7 +33,7 @@
 #include <arch/romcc_io.h>
 #include <cpu/x86/lapic.h>
 #include <pc80/mc146818rtc.h>
-#include "pc80/serial.c"
+#include "lib/uart8259.c"
 
 #include "console/console.c"
 #include <cpu/amd/model_fxx_rev.h>

Modified: trunk/src/mainboard/nvidia/l1_2pvv/ap_romstage.c
==============================================================================
--- trunk/src/mainboard/nvidia/l1_2pvv/ap_romstage.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/mainboard/nvidia/l1_2pvv/ap_romstage.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -32,8 +32,6 @@
 #include <arch/romcc_io.h>
 #include <cpu/x86/lapic.h>
 #include <pc80/mc146818rtc.h>
-#include "pc80/serial.c"
-
 #include "lib/uart8250.c"
 #include "arch/x86/lib/printk_init.c"
 #include "console/vtxprintf.c"
@@ -45,7 +43,6 @@
 
 #include "lib/delay.c"
 
-//#include "cpu/x86/lapic/boot_cpu.c"
 #include "northbridge/amd/amdk8/reset_test.c"
 
 #include "northbridge/amd/amdk8/debug.c"
@@ -78,17 +75,15 @@
 	train_ram(id.nodeid, sysinfo, sysinfox);
 
 	/*
-		go back, but can not use stack any more, because we only keep ret_addr and can not restore esp, and ebp
-	*/
+	 * go back, but can not use stack any more, because we only keep
+	 * ret_addr and can not restore esp, and ebp
+	 */
 
 	__asm__ volatile (
 		"movl  %0, %%edi\n\t"
 		"jmp     *%%edi\n\t"
 		:: "a"(ret_addr)
 	);
-
-
-
 }
 
 #include <arch/registers.h>
@@ -99,5 +94,3 @@
 		hlt();
 	} while(1);
 }
-
-

Modified: trunk/src/mainboard/supermicro/h8dme/ap_romstage.c
==============================================================================
--- trunk/src/mainboard/supermicro/h8dme/ap_romstage.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/mainboard/supermicro/h8dme/ap_romstage.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -32,7 +32,6 @@
 #include <arch/romcc_io.h>
 #include <cpu/x86/lapic.h>
 #include <pc80/mc146818rtc.h>
-#include "pc80/serial.c"
 
 #include "console/console.c"
 #include "lib/uart8250.c"
@@ -82,17 +81,14 @@
 	train_ram(id.nodeid, sysinfo, sysinfox);
 
 	/*
-		go back, but can not use stack any more, because we only keep ret_addr and can not restore esp, and ebp
-	*/
+	 * go back, but can not use stack any more, because we only keep ret_addr and can not restore esp, and ebp
+	 */
 
         __asm__ volatile (
                 "movl  %0, %%edi\n\t"
                 "jmp     *%%edi\n\t"
                 :: "a"(ret_addr)
         );
-
-
-
 }
 
 #include <arch/registers.h>
@@ -104,4 +100,3 @@
         } while(1);
 }
 
-

Modified: trunk/src/mainboard/supermicro/h8dmr/ap_romstage.c
==============================================================================
--- trunk/src/mainboard/supermicro/h8dmr/ap_romstage.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/mainboard/supermicro/h8dmr/ap_romstage.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -32,7 +32,6 @@
 #include <arch/romcc_io.h>
 #include <cpu/x86/lapic.h>
 #include <pc80/mc146818rtc.h>
-#include "pc80/serial.c"
 
 #include "console/console.c"
 #include "lib/uart8250.c"

Modified: trunk/src/mainboard/tyan/s2912/ap_romstage.c
==============================================================================
--- trunk/src/mainboard/tyan/s2912/ap_romstage.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/mainboard/tyan/s2912/ap_romstage.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -32,8 +32,6 @@
 #include <arch/romcc_io.h>
 #include <cpu/x86/lapic.h>
 #include <pc80/mc146818rtc.h>
-#include "pc80/serial.c"
-
 #include "console/console.c"
 
 #include <cpu/amd/model_fxx_rev.h>
@@ -83,9 +81,6 @@
 		"jmp     *%%edi\n\t"
 		:: "a"(ret_addr)
 	);
-
-
-
 }
 
 #include <arch/registers.h>
@@ -97,4 +92,3 @@
 	} while(1);
 }
 
-

Modified: trunk/src/northbridge/via/cx700/early_serial.c
==============================================================================
--- trunk/src/northbridge/via/cx700/early_serial.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/northbridge/via/cx700/early_serial.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -81,7 +81,7 @@
 	cx700_writepnpaddr(0xaa);
 
 	// XXX This part should be fully taken care of by
-	// src/pc80/serial.c:uart_init
+	// src/lib/uart8250.c:uart_init
 
 	// set up reg to set baud rate.
 	cx700_writesiobyte(0x3fb, 0x80);

Modified: trunk/src/northbridge/via/vx800/examples/romstage.c
==============================================================================
--- trunk/src/northbridge/via/vx800/examples/romstage.c	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/northbridge/via/vx800/examples/romstage.c	Fri Dec 17 01:08:21 2010	(r6191)
@@ -28,7 +28,6 @@
 #include <device/pnp_def.h>
 #include <arch/romcc_io.h>
 #include <arch/hlt.h>
-#include "pc80/serial.c"
 #include "console/console.c"
 #include "lib/ramtest.c"
 #include "northbridge/via/vx800/vx800.h"

Modified: trunk/src/pc80/Makefile.inc
==============================================================================
--- trunk/src/pc80/Makefile.inc	Fri Dec 17 01:03:18 2010	(r6190)
+++ trunk/src/pc80/Makefile.inc	Fri Dec 17 01:08:21 2010	(r6191)
@@ -5,7 +5,6 @@
 ramstage-y += keyboard.c
 
 romstage-$(CONFIG_USE_OPTION_TABLE) += mc146818rtc_early.c
-romstage-$(CONFIG_CACHE_AS_RAM) += serial.c
 romstage-$(CONFIG_USBDEBUG) += usbdebug_serial.c
 subdirs-y += vga
 




More information about the coreboot mailing list