added rx support

git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1410 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Greg Watson
2004-03-13 03:40:51 +00:00
parent 5c51c3d9d9
commit e54d55b9d9
7 changed files with 60 additions and 1 deletions

View File

@ -52,6 +52,31 @@ void console_tx_byte(unsigned char byte)
__console_tx_byte(byte);
}
unsigned char console_rx_byte(void)
{
struct console_driver *driver;
if (!initialized)
return 0;
for(driver = console_drivers; driver < econsole_drivers; driver++)
if (driver->tst_byte)
break;
if (driver == econsole_drivers)
return 0;
while (!driver->tst_byte());
return driver->rx_byte();
}
int console_tst_byte(void)
{
struct console_driver *driver;
if (!initialized)
return 0;
for(driver = console_drivers; driver < econsole_drivers; driver++)
if (driver->tst_byte)
return driver->tst_byte();
return 0;
}
/*
* Write POST information
*/

View File

@ -16,4 +16,6 @@ static void logbuf_tx_byte(unsigned char byte)
static struct console_driver __console = {
.init = 0,
.tx_byte = logbuf_tx_byte,
.rx_byte = 0,
.tst_byte = 0,
};}

View File

@ -43,8 +43,20 @@ void ttyS0_tx_byte(unsigned char data)
uart8250_tx_byte(TTYS0_BASE, data);
}
unsigned char ttyS0_rx_byte(void)
{
return uart8250_rx_byte(TTYS0_BASE);
}
int ttyS0_tst_byte(unsigned char data)
{
return uart8250_can_rx_byte(TTYS0_BASE);
}
static struct console_driver uart8250_console __console = {
.init = ttyS0_init,
.tx_byte = ttyS0_tx_byte,
.rx_byte = ttyS0_rx_byte,
.tst_byte = ttyS0_tst_byte,
};

View File

@ -97,4 +97,6 @@ static void vga_tx_byte(unsigned char byte)
struct console_driver {
.init = vga_init,
.tx_byte = vga_tx_byte,
.rx_byte = 0,
.tst_byte = 0,
};