diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-10-17 12:04:41 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@inhelltoy.tec.linutronix.de> | 2007-10-17 14:16:56 -0400 |
commit | 382f64ab8f178fe6ca5e7beafa7f03132724bbfb (patch) | |
tree | f00bc1af430692495196d914d3e202fd46ed2890 /arch | |
parent | 072f5d82b58cba760191393a6a99fd1123c76e67 (diff) |
i386: print better early fault info
improve early fault output.
old format:
Int 14: CR2 010001e3 err 00000002 EIP c011f2f9 CS 00000060 flags 00010046
Stack: c073695e c0791c10 00000000 ffffffff 00000000 01000000 00001000 c0791c10
new format:
BUG: Int 14: CR2 010001e3
EDI c1000000 ESI c0693c10 EBP c0637f9c ESP c0637f08
EBX 00000000 EDX 0000000e ECX 00000000 EAX 010001e3
err 00000002 EIP c0123119 CS 00000060 flg 00010046
Stack: c064d589 c0693000 00000000 c0637f60 00c001e3 01000000 00038000 00000163
00000000 00000163 00000000 ffffffff 00038000 00000000 00000000 00001000
00001000 00000000 c0637f88 c06509be c0a2ae60 00001000 00001000 00000000
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/head_32.S | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index 0fa8a972a679..39677965e161 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S | |||
@@ -452,6 +452,7 @@ early_page_fault: | |||
452 | early_fault: | 452 | early_fault: |
453 | cld | 453 | cld |
454 | #ifdef CONFIG_PRINTK | 454 | #ifdef CONFIG_PRINTK |
455 | pusha | ||
455 | movl $(__KERNEL_DS),%eax | 456 | movl $(__KERNEL_DS),%eax |
456 | movl %eax,%ds | 457 | movl %eax,%ds |
457 | movl %eax,%es | 458 | movl %eax,%es |
@@ -543,8 +544,15 @@ int_msg: | |||
543 | .asciz "Unknown interrupt or fault at EIP %p %p %p\n" | 544 | .asciz "Unknown interrupt or fault at EIP %p %p %p\n" |
544 | 545 | ||
545 | fault_msg: | 546 | fault_msg: |
546 | .ascii "Int %d: CR2 %p err %p EIP %p CS %p flags %p\n" | 547 | .ascii \ |
547 | .asciz "Stack: %p %p %p %p %p %p %p %p\n" | 548 | /* fault info: */ "BUG: Int %d: CR2 %p\n" \ |
549 | /* pusha regs: */ " EDI %p ESI %p EBP %p ESP %p\n" \ | ||
550 | " EBX %p EDX %p ECX %p EAX %p\n" \ | ||
551 | /* fault frame: */ " err %p EIP %p CS %p flg %p\n" \ | ||
552 | \ | ||
553 | "Stack: %p %p %p %p %p %p %p %p\n" \ | ||
554 | " %p %p %p %p %p %p %p %p\n" \ | ||
555 | " %p %p %p %p %p %p %p %p\n" | ||
548 | 556 | ||
549 | #include "../../x86/xen/xen-head.S" | 557 | #include "../../x86/xen/xen-head.S" |
550 | 558 | ||