summaryrefslogtreecommitdiff
path: root/src/kernel/kernel.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/kernel.c')
-rw-r--r--src/kernel/kernel.c28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/kernel/kernel.c b/src/kernel/kernel.c
index d7fc3e0..025dcf3 100644
--- a/src/kernel/kernel.c
+++ b/src/kernel/kernel.c
@@ -4,14 +4,29 @@
#include <paging.h>
#include <video.h>
#include <acpi.h>
+#include <panic.h>
-void panic() { // will fill with debugging info latter
- printf("Kernel panic!\n");
- for(;;);
+
+void test4() {
+ char bruh[10];
+ panic(KERNEL_PANIC_KERNEL_RETURNED, KERNEL_PANIC_INVOKED);
+}
+void test3() {
+ char bruh[5];
+ test4();
+}
+void test2() {
+ int a = 1;
+ test3();
+}
+void test1() {
+ printf("fuck\n");
+ test2();
}
void main() {
+ test1();
if(!(init_serial(COM1))) {
printf("\nKernal started on CPU 1!\n"); // will detect cpu later
}
@@ -20,15 +35,16 @@ void main() {
rsdp = find_RSDP();
if(!(rsdp)) {
printf("Couldn't find the RSDP... not sure what to do now.\n");
- panic();
+ panic(KERNEL_PANIC_RSDP_UNFOUND, KERNEL_PANIC_INVOKED);
}
dump_video();
debug_print_memory();
- init_memory();
+ init_pmap();
+ debug_pmap();
- panic();
+ panic(KERNEL_PANIC_KERNEL_RETURNED, KERNEL_PANIC_INVOKED);
}