summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/include/kernel.h6
-rw-r--r--src/kernel.asm3
-rw-r--r--src/kernel.c6
3 files changed, 15 insertions, 0 deletions
diff --git a/src/include/kernel.h b/src/include/kernel.h
new file mode 100644
index 0000000..2007693
--- /dev/null
+++ b/src/include/kernel.h
@@ -0,0 +1,6 @@
+#ifndef KERNEL_H
+#define KERNEL_H
+
+void kernel_main();
+
+#endif /* KERNEL_H */
diff --git a/src/kernel.asm b/src/kernel.asm
index 6d2779a..252fd7b 100644
--- a/src/kernel.asm
+++ b/src/kernel.asm
@@ -1,5 +1,6 @@
[BITS 32]
global _start
+extern start_kernel
CODE_SEG equ 0x08
DATA_SEG equ 0x10
@@ -23,6 +24,8 @@ _start:
or al, 2
out 0x92, al
+ ; Jump to C code
+ call start_kernel
jmp $
; Hack to align the source code at 16bytes (because 512 is a multiple of 16)
diff --git a/src/kernel.c b/src/kernel.c
new file mode 100644
index 0000000..d39aac5
--- /dev/null
+++ b/src/kernel.c
@@ -0,0 +1,6 @@
+#include <kernel.h>
+
+void start_kernel()
+
+{
+}