From 8f3e8e7f06cb786b2e2c174cb90eee7947012067 Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Wed, 5 May 2021 20:59:15 +0200 Subject: Debugging improvements STILL NOT FOUND (see previous descr) --- kernel/drivers/interrupts.c | 4 ++-- kernel/features/load.c | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'kernel') diff --git a/kernel/drivers/interrupts.c b/kernel/drivers/interrupts.c index 92971e4..5b57e56 100644 --- a/kernel/drivers/interrupts.c +++ b/kernel/drivers/interrupts.c @@ -181,8 +181,8 @@ void isr_panic(struct regs *r) if (proc) { printf("\t-> Exception occurred in %s at addr 0x%x (offset 0x%x)\n", proc->name, r->eip, r->eip - proc->entry); - printf("\t\t-> Process: [entry: %x, kstack: %x, ustack: %x]\n", proc->entry, - proc->stack.kernel, proc->stack.user); + printf("\t\t-> Process: [entry: %x, kstack: %x, esp %x, ustack: %x, uesp %x]\n", + proc->entry, proc->stack.kernel, r->esp, proc->stack.user, r->useresp); proc_exit(proc, r, 1); } else { __asm__ volatile("cli\nhlt"); diff --git a/kernel/features/load.c b/kernel/features/load.c index cbe32ed..d6e387e 100644 --- a/kernel/features/load.c +++ b/kernel/features/load.c @@ -167,6 +167,7 @@ res elf_load(const char *name, struct proc *proc) proc->stack.user = user_stack + PROC_STACK_SIZE; proc->stack.kernel = kernel_stack + PROC_STACK_SIZE; + proc->regs.esp = proc->stack.kernel; proc->regs.ebp = proc->stack.user; proc->regs.useresp = proc->stack.user; proc->regs.eip = header.entry + rand_off; -- cgit v1.2.3