diff --git a/< b/< deleted file mode 100644 index 37cc297..0000000 --- a/< +++ /dev/null @@ -1,50 +0,0 @@ -#include "stdio.h" -#include "serial.h" -#include "gdt.h" -#include "idt.h" -#include "system.h" - -int kmain(int retvalue) -{ - - gdt_install(); - idt_install(); - isr_install(); - - // serial testing - - init_serial(); - - log("serial connection established", 3); - log("initialized GDT entries", 2); - log("kernel started", 2); - log("initialized IDT", 2); - log("initialized ISRs", 3); - - clear(); - - // printf testing - - // TODO: Framebuffer upgrade: color output - - int age = 34; - int problems = 124; - char* name = "xamidev"; - - printf("Hello %s, you are %d years old and have %d problems. wow %%\n", name, age, problems); - - long suchwow = 2934342; - char character = 65; - printf("such number %u\nsuch character %c", suchwow, character); - - printf("wow negative %d\n", -3742); - printf("such hex %x %X\n", 0xcafe, 0xdeadbeef); - - printf("such pointer %p\n", (void*)0xcafe1234); - - // Div by zero exception - - printf("Lalala, what a beautiful day! %d", 4/0); - - return retvalue; -} diff --git a/iso/boot/kernel.elf b/iso/boot/kernel.elf index 7ee5345..774221a 100755 Binary files a/iso/boot/kernel.elf and b/iso/boot/kernel.elf differ diff --git a/isr.c b/isr.c index 7ec9781..373bf95 100644 --- a/isr.c +++ b/isr.c @@ -111,7 +111,8 @@ void fault_handler(struct regs *r) { if (r->int_no < 32) { - printf("%s Exception. Halting!\n", exception_messages[r->int_no]); + printf("\n\n*** [Kernel panic - %s Exception] ***\nInterrupt error code %u\nedi: %x esi: %u ebp: %u esp: %u\nebx: %u edx: %u ecx: %u eax: %u\neip: %x cs:%x eflags: %x ss: %x\ngs: %x fs: %x es: %x ds: %x\nHalting!\n", exception_messages[r->int_no], r->err_code, r->edi, r->esi, r->ebp, r->esp, r->ebx, r->edx, r->ecx, r->eax, r->eip, r->cs, r->eflags, r->ss, r->gs, r->fs, r->es, r->ds); for (;;); } } + diff --git a/kernel.elf b/kernel.elf index 7ee5345..774221a 100755 Binary files a/kernel.elf and b/kernel.elf differ diff --git a/os.iso b/os.iso index 83ed1fd..8d5f667 100644 Binary files a/os.iso and b/os.iso differ