From d56780dc0b4da36dade3dc2a2f4c1068304b2e4b Mon Sep 17 00:00:00 2001 From: shockrah Date: Sat, 9 Nov 2019 18:19:22 -0800 Subject: [PATCH] kmain no longer hangs on return loader now has some instruction cookies to make debuggin easier --- interrupts.c | 1 - kernel.c | 5 +---- loader.s | 2 ++ 3 files changed, 3 insertions(+), 5 deletions(-) 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