diff options
author | Simon Glass <sjg@chromium.org> | 2015-08-10 22:02:54 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-08-14 09:50:12 -0600 |
commit | 7399515d25066368707d804d90cc8d3976f313bc (patch) | |
tree | 4a9806dfe493cd47df2327dc1423daa48faec64f /arch | |
parent | b8098bc1c14ca397291209e0281f0862ddc6f057 (diff) |
x86: Show the un-relocated IP address in exceptions
When trying to figure out where an exception has occured, the relocated
address is not a lot of help. Its value depends on various factors. Show
the un-relocated IP as well. This can be looked up in System.map directly.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/cpu/interrupts.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/cpu/interrupts.c b/arch/x86/cpu/interrupts.c index 9217307e4a..addd26e4e6 100644 --- a/arch/x86/cpu/interrupts.c +++ b/arch/x86/cpu/interrupts.c @@ -103,6 +103,8 @@ static void dump_regs(struct irq_regs *regs) printf("EIP: %04x:[<%08lx>] EFLAGS: %08lx\n", (u16)cs, eip, eflags); + if (gd->flags & GD_FLG_RELOC) + printf("Original EIP :[<%08lx>]\n", eip - gd->reloc_off); printf("EAX: %08lx EBX: %08lx ECX: %08lx EDX: %08lx\n", regs->eax, regs->ebx, regs->ecx, regs->edx); |