summaryrefslogtreecommitdiff
path: root/src/kernel/kernel.c
diff options
context:
space:
mode:
authorBrett Weiland <brett_weiland@bpcspace.com>2021-04-18 16:00:17 -0500
committerBrett Weiland <brett_weiland@bpcspace.com>2021-04-18 16:00:17 -0500
commit774e3796b252383aafb8b3f30d51a19400c74516 (patch)
tree20ad93c125d4f6bad755e6a898ddb4259818b4fa /src/kernel/kernel.c
parentf0602964daa20ad9cd05f097b943c8edbf2df2e2 (diff)
modified: src/bootloader/bios_functions/bios_disk.asm
modified: src/bootloader/bootloader.asm new file: src/include/kernel.h modified: src/include/libc.h modified: src/include/paging.h new file: src/include/panic.h modified: src/kernel/kernel.c modified: src/kernel/libc.c modified: src/kernel/page.c new file: src/kernel/panic.c modified: src/link.ld modified: src/makefile modified: tools/page/page.py
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);
}