Support building seabios
SEABIOS will not correctly build without this patch.
I'm not quite sure how it ever built, but it perhaps
is because of changes in gcc.
BUG=chrome-os-partner:9059
TEST=emerge a firmware image using seabios
emerge-lumpy sys-boot/chromeos-coreboot sys-boot/chromeos-seabios
sys-boot/chromeos-bootimage
It will no longer fail.
Change-Id: I6cb3c5bc268938d64d3083d0de35ab0c0e8e9cce
diff --git a/src/output.c b/src/output.c
index 5acefc2..45d1cb8 100644
--- a/src/output.c
+++ b/src/output.c
@@ -72,9 +72,10 @@
return;
}
-static void
+void VISIBLE32FLAT
debug_serial_oxford_setup_32(void)
{
+ASSERT32FLAT();
if (!CONFIG_DEBUG_SERIAL_OXFORD)
return;
@@ -109,15 +110,17 @@
if (MODE16) {
extern void _cfunc32flat_debug_serial_oxford_setup_32(void);
call32(_cfunc32flat_debug_serial_oxford_setup_32, 0, -1);
+ } else if (MODESEGMENT) {
} else {
debug_serial_oxford_setup_32();
}
}
// Write a character to the serial port.
-void
+void VISIBLE32FLAT
debug_serial_oxford_32(char c)
{
+ASSERT32FLAT();
volatile u8 *uart = (u8 *)OXPCIE_COM1;
if (!CONFIG_DEBUG_SERIAL_OXFORD)
@@ -139,15 +142,17 @@
if (MODE16) {
extern void _cfunc32flat_debug_serial_oxford_32(char c);
call32(_cfunc32flat_debug_serial_oxford_32, (u32)c, -1);
+ } else if (MODESEGMENT) {
} else {
debug_serial_oxford_32(c);
}
}
// Make sure all serial port writes have been completely sent.
-void
+void VISIBLE32FLAT
debug_serial_oxford_flush_32(void)
{
+ASSERT32FLAT();
u8 *uart = (u8 *)OXPCIE_COM1;
if (!CONFIG_DEBUG_SERIAL_OXFORD)
@@ -162,12 +167,13 @@
return;
}
-static void
+void
debug_serial_oxford_flush(void)
{
if (MODE16) {
extern void _cfunc32flat_debug_serial_oxford_flush_32(void);
call32(_cfunc32flat_debug_serial_oxford_flush_32, 0, -1);
+ } else if (MODESEGMENT) {
} else {
debug_serial_oxford_flush_32();
}