diff --git a/interrupts.c b/interrupts.c index d5a3712..fd734af 100644 --- a/interrupts.c +++ b/interrupts.c @@ -112,7 +112,6 @@ void interrupt_handler(struct cpu_reg_state* cpu) { if(cpu->int_no < 32) { printf(err_msg[cpu->int_no]); } - for(;;); return; } diff --git a/kernel.c b/kernel.c index a8e7c79..20e333d 100644 --- a/kernel.c +++ b/kernel.c @@ -27,11 +27,8 @@ void kprints(const char* s) { printf(s); } +// Should kmain return, we fall back to the loader which then just keeps in a hung state void kmain() { kinit(); - //__asm__("xchg bx, bx"); - //__asm__("xor eax, eax"); - //__asm__("div al"); kprints("i guess we're good now?"); - for(;;); // the most amazing loop } diff --git a/loader.s b/loader.s index c40efca..02b1c5d 100644 --- a/loader.s +++ b/loader.s @@ -23,5 +23,7 @@ loader: call kmain .loop: + mov eax, 0xfeedbeef jmp .loop + mov eax, 0xfeedbeef