diff options
author | Eric Biederman <ebiederm@xmission.com> | 2003-04-22 18:44:01 +0000 |
---|---|---|
committer | Eric Biederman <ebiederm@xmission.com> | 2003-04-22 18:44:01 +0000 |
commit | b138ac83b53da9abf3dc9a87a1cd4b3d3a8150bd (patch) | |
tree | c8b0e50e84a57a24e5dbce070a959f465985b445 /util/romcc/tests/simple_test15.c | |
parent | 77d1a8311f29e65f68351719c5b0b223299ef8a9 (diff) |
- Checking latest version of romcc
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@783 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/romcc/tests/simple_test15.c')
-rw-r--r-- | util/romcc/tests/simple_test15.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/util/romcc/tests/simple_test15.c b/util/romcc/tests/simple_test15.c new file mode 100644 index 0000000000..d02eaefd35 --- /dev/null +++ b/util/romcc/tests/simple_test15.c @@ -0,0 +1,47 @@ +static void outb(unsigned char value, unsigned short port) +{ + __builtin_outb(value, port); +} + +static unsigned char inb(unsigned short port) +{ + return __builtin_inb(port); +} +static int uart_can_tx_byte(void) +{ + return inb(0x3f8 + 0x05) & 0x20; +} + +static void uart_wait_to_tx_byte(void) +{ + while(!uart_can_tx_byte()) + ; +} + +static void uart_wait_until_sent(void) +{ + while(!(inb(0x3f8 + 0x05) & 0x40)) + ; +} + +static void uart_tx_byte(unsigned char data) +{ + uart_wait_to_tx_byte(); + outb(data, 0x3f8 + 0x00); + + uart_wait_until_sent(); +} + +static void print_debug(const char *str) +{ + unsigned char ch; + while((ch = *str++) != '\0') { + uart_tx_byte(ch); + } +} + +static void main(void) +{ + print_debug("one\r\n"); + print_debug("two\r\n"); +} |