diff options
Diffstat (limited to 'kernel/io/io.c')
-rw-r--r-- | kernel/io/io.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/kernel/io/io.c b/kernel/io/io.c index a68114d..11acfdb 100644 --- a/kernel/io/io.c +++ b/kernel/io/io.c @@ -1,9 +1,16 @@ #include <lib.h> #include <stdio.h> +#include <comus/asm.h> + +#define PORT 0x3F8 +static void serial_out(uint8_t ch) { + // wait for output to be free + while ((inb(PORT + 5) & 0x20) == 0); + outb(PORT, ch); +} void fputc(FILE *stream, char c) { (void) stream; - (void) c; - // FIXME: !!! + serial_out(c); } |