1 static void outb(unsigned char value, unsigned short port)
3 __builtin_outb(value, port);
6 static unsigned char inb(unsigned short port)
8 return __builtin_inb(port);
10 static int uart_can_tx_byte(void)
12 return inb(0x3f8 + 0x05) & 0x20;
15 static void uart_wait_to_tx_byte(void)
17 while(!uart_can_tx_byte())
21 static void uart_wait_until_sent(void)
23 while(!(inb(0x3f8 + 0x05) & 0x40))
27 static void uart_tx_byte(unsigned char data)
29 uart_wait_to_tx_byte();
30 outb(data, 0x3f8 + 0x00);
32 uart_wait_until_sent();
35 static void print_debug(const char *str)
38 while((ch = *str++) != '\0') {
43 static void main(void)
45 print_debug("one\r\n");
46 print_debug("two\r\n");