drop half an uart8250 implementation from smiutil and use the common code 
for that instead. This also allows using non-uart8250 consoles for smi
debugging.

Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Acked-by: Stefan Reinauer <stefan.reinauer@coreboot.org>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6501 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc
index 307423d..2d7936b 100644
--- a/src/lib/Makefile.inc
+++ b/src/lib/Makefile.inc
@@ -1,5 +1,18 @@
-ramstage-y += clog2.c
-ramstage-y += uart8250.c
+
+
+romstage-y += memset.c
+romstage-y += memcpy.c
+romstage-y += memcmp.c
+romstage-y += cbfs.c
+romstage-y += lzma.c
+#romstage-y += lzmadecode.c
+romstage-$(CONFIG_CACHE_AS_RAM) += ramtest.c
+romstage-$(CONFIG_HAVE_ACPI_RESUME) += cbmem.c
+romstage-$(CONFIG_CONSOLE_SERIAL8250) += uart8250.c
+romstage-$(CONFIG_CONSOLE_NE2K) += ne2k.c
+romstage-$(CONFIG_CONSOLE_NE2K) += compute_ip_checksum.c
+romstage-$(CONFIG_USBDEBUG) += usbdebug.c
+
 ramstage-y += memset.c
 ramstage-y += memcpy.c
 ramstage-y += memcmp.c
@@ -13,27 +26,15 @@
 ramstage-y += lzma.c
 #ramstage-y += lzmadecode.c
 ramstage-y += gcc.c
+ramstage-y += clog2.c
 ramstage-y += cbmem.c
-
-romstage-$(CONFIG_HAVE_ACPI_RESUME) += cbmem.c
-romstage-y += uart8250.c
-romstage-y += memset.c
-romstage-y += memcpy.c
-romstage-y += memcmp.c
-romstage-y += cbfs.c
-romstage-y += lzma.c
-romstage-$(CONFIG_CACHE_AS_RAM) += ramtest.c
-#romstage-y += lzmadecode.c
-romstage-$(CONFIG_CONSOLE_NE2K) += ne2k.c
-romstage-$(CONFIG_CONSOLE_NE2K) += compute_ip_checksum.c
+ramstage-$(CONFIG_CONSOLE_SERIAL8250) += uart8250.c
+ramstage-$(CONFIG_USBDEBUG) += usbdebug.c
+ramstage-$(CONFIG_BOOTSPLASH) += jpeg.c
 
 driver-$(CONFIG_CONSOLE_NE2K) += ne2k.c
 
-romstage-$(CONFIG_USBDEBUG) += usbdebug.c
-ramstage-$(CONFIG_USBDEBUG) += usbdebug.c
-
-ramstage-$(CONFIG_BOOTSPLASH) += jpeg.c
-
 smm-y += memcpy.c
+smm-$(CONFIG_CONSOLE_SERIAL8250) += uart8250.c
 
 $(obj)/lib/version.ramstage.o : $(obj)/build.h
diff --git a/src/lib/uart8250.c b/src/lib/uart8250.c
index 28989b2..8149b03 100644
--- a/src/lib/uart8250.c
+++ b/src/lib/uart8250.c
@@ -103,10 +103,10 @@
 }
 #endif
 
-#ifdef __PRE_RAM__
+#if defined(__PRE_RAM__) || defined(__SMM__)
 void uart_init(void)
 {
-#if CONFIG_USE_OPTION_TABLE
+#if CONFIG_USE_OPTION_TABLE && !defined(__SMM__)
         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);