From 864fb03a3305b65fedbe434ebb87510ac13fe865 Mon Sep 17 00:00:00 2001 From: Vegard Storheil Eriksen Date: Wed, 23 Dec 2009 22:26:43 +0100 Subject: Initial commit. --- kernel/main.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 kernel/main.c (limited to 'kernel/main.c') diff --git a/kernel/main.c b/kernel/main.c new file mode 100644 index 0000000..513894b --- /dev/null +++ b/kernel/main.c @@ -0,0 +1,26 @@ + +void kernel_serial_out(char* str); + +void main() { + + kernel_serial_out("main()\n"); + + // TODO: GDT. + + asm volatile( + "cli\n" + "hlt\n" + ); + while(1); +} + +#define outb(port, value) asm volatile("out %b0,%w1" : : "a" (value), "d" (port)); + +void kernel_serial_out(char* str) { + while(*str) { + if(*str == '\n') { + outb(0x3f8, '\r'); + } + outb(0x3f8, *str++); + } +} -- cgit v1.2.3