[PATCH] x86_64: Resolve the RIP of an early exception using kallsyms
authorAndi Kleen <ak@suse.de>
Thu, 16 Feb 2006 22:42:10 +0000 (23:42 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 17 Feb 2006 16:00:40 +0000 (08:00 -0800)
But do it after everything else to risk less from recursive
crashes.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/kernel/head.S

index 692c737..02fc7fa 100644 (file)
@@ -213,6 +213,11 @@ ENTRY(early_idt_handler)
        cmpl $2,early_recursion_flag(%rip)
        jz  1f
        call dump_stack
+#ifdef CONFIG_KALLSYMS 
+       leaq early_idt_ripmsg(%rip),%rdi
+       movq 8(%rsp),%rsi       # get rip again
+       call __print_symbol
+#endif
 1:     hlt
        jmp 1b
 early_recursion_flag:
@@ -220,6 +225,8 @@ early_recursion_flag:
 
 early_idt_msg:
        .asciz "PANIC: early exception rip %lx error %lx cr2 %lx\n"
+early_idt_ripmsg:
+       .asciz "RIP %s\n"
 
 .code32
 ENTRY(no_long_mode)