summaryrefslogtreecommitdiff
path: root/kernel/io/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/io/io.c')
-rw-r--r--kernel/io/io.c11
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);
}