aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/kernel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel.cpp')
-rw-r--r--kernel/kernel.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/kernel/kernel.cpp b/kernel/kernel.cpp
new file mode 100644
index 0000000..c22647b
--- /dev/null
+++ b/kernel/kernel.cpp
@@ -0,0 +1,29 @@
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+
+#include <arch/i386/tmtty.h>
+#include <arch/i386/ps2_controller.h>
+#include <dev/ps2kbd.h>
+
+// compiler and target check
+#if defined(__linux__)
+#error "you're not using a cross compiler"
+#endif
+
+#if !defined(__i386__)
+#error "needs to be compiled using an ix86-elf cross compiler"
+#endif
+
+extern "C" void kernel_main(void) {
+ // Initialize terminal
+ terminal_initialize();
+
+ initialize_ps2_controller();
+ keyboard_init();
+
+ printf("Hello world!\n");
+ printf("among");
+ printf("balls\n");
+} \ No newline at end of file