summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/amd64/boot.S2
-rw-r--r--src/kmain.c10
2 files changed, 7 insertions, 5 deletions
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 <lib.h>
+#include <serial.h>
+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);
}