Files
mango/arch/x86_64/serial.c

31 lines
505 B
C
Raw Normal View History

#include <arch/serial.h>
#include <arch/ports.h>
static int transmit_empty(int device)
{
return inportb(device + 5) & 0x20;
}
void serial_send_byte(int device, char out)
{
unsigned int _count = 0;
while (!transmit_empty(device)) {
_count++;
}
outportb(device, out);
while (!transmit_empty(device)) {
_count++;
}
}
void serial_putchar(int port, char ch)
{
if (ch == '\n') {
serial_send_byte(port, '\r');
}
serial_send_byte(port, ch);
}