diff options
author | Ingo Molnar <mingo@elte.hu> | 2007-10-17 18:04:41 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@inhelltoy.tec.linutronix.de> | 2007-10-17 20:16:56 +0200 |
commit | 382f64ab8f178fe6ca5e7beafa7f03132724bbfb (patch) | |
tree | f00bc1af430692495196d914d3e202fd46ed2890 /arch/x86/kernel/head_32.S | |
parent | 072f5d82b58cba760191393a6a99fd1123c76e67 (diff) | |
download | linux-382f64ab8f178fe6ca5e7beafa7f03132724bbfb.tar.gz linux-382f64ab8f178fe6ca5e7beafa7f03132724bbfb.tar.bz2 linux-382f64ab8f178fe6ca5e7beafa7f03132724bbfb.zip |
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/x86/kernel/head_32.S')
-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: early_fault: cld #ifdef CONFIG_PRINTK + pusha movl $(__KERNEL_DS),%eax movl %eax,%ds movl %eax,%es @@ -543,8 +544,15 @@ int_msg: .asciz "Unknown interrupt or fault at EIP %p %p %p\n" fault_msg: - .ascii "Int %d: CR2 %p err %p EIP %p CS %p flags %p\n" - .asciz "Stack: %p %p %p %p %p %p %p %p\n" + .ascii \ +/* fault info: */ "BUG: Int %d: CR2 %p\n" \ +/* pusha regs: */ " EDI %p ESI %p EBP %p ESP %p\n" \ + " EBX %p EDX %p ECX %p EAX %p\n" \ +/* fault frame: */ " err %p EIP %p CS %p flg %p\n" \ + \ + "Stack: %p %p %p %p %p %p %p %p\n" \ + " %p %p %p %p %p %p %p %p\n" \ + " %p %p %p %p %p %p %p %p\n" #include "../../x86/xen/xen-head.S" |