From ca5e8b2c2defe65fd29d1ab54b64d8eef14a3ca6 Mon Sep 17 00:00:00 2001 From: Ben Gras Date: Fri, 12 Aug 2011 14:14:48 +0000 Subject: [PATCH] kernel: show segment-adjusted pagefault addr --- kernel/arch/i386/exception.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/arch/i386/exception.c b/kernel/arch/i386/exception.c index f44690550..d5224932b 100644 --- a/kernel/arch/i386/exception.c +++ b/kernel/arch/i386/exception.c @@ -103,6 +103,11 @@ PRIVATE void pagefault( struct proc *pr, "pc = 0x%x, addr = 0x%x, flags = 0x%x, is_nested %d\n", pr->p_endpoint, pr->p_name, cpuid, pr->p_reg.pc, pagefaultcr2, frame->errcode, is_nested); + if(!is_nested) { + printf("process vir addr of pagefault is 0x%lx\n", + pagefaultcr2 - + (pr->p_memmap[D].mem_phys << CLICK_SHIFT)); + } proc_stacktrace(pr); printf("pc of pagefault: 0x%lx\n", frame->eip); cause_sig(proc_nr(pr), SIGSEGV);