diff --git a/src/arch/amd64/boot.S b/src/arch/amd64/boot.S index 9771fe2..36e4bc6 100644 --- a/src/arch/amd64/boot.S +++ b/src/arch/amd64/boot.S @@ -116,7 +116,7 @@ start: bits 64 code64: call amd64_shim - push rax + mov rdi, rax call kmain cli halt: diff --git a/src/kmain.c b/src/kmain.c index b9ceb77..381ceb9 100644 --- a/src/kmain.c +++ b/src/kmain.c @@ -1,7 +1,9 @@ -void kmain() { +#include +#include +void kmain(void *info) { + char buf[20]; *(char*)0xB8000 = 'c'; *(char*)(0xB8002 + 0x20'0000) = 'd'; - while(1) { - __asm("cli; hlt"); - } + itoa((long)info, buf, 10); + serial_out_str(buf); }