x86/debug: Only print out DR registers if they are not power-on defaults
The DR registers are rarely useful when decoding oopses. With screen real estate during oopses at a premium, we can save two lines by only printing out these registers when they are set to something other than they power-on state. Signed-off-by: Dave Jones <davej@redhat.com> Acked-by: Borislav Petkov <bp@suse.de> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20130618160911.GA24487@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
17858ca65e
commit
4338774cd4
|
@ -110,11 +110,16 @@ void __show_regs(struct pt_regs *regs, int all)
|
|||
get_debugreg(d1, 1);
|
||||
get_debugreg(d2, 2);
|
||||
get_debugreg(d3, 3);
|
||||
printk(KERN_DEFAULT "DR0: %08lx DR1: %08lx DR2: %08lx DR3: %08lx\n",
|
||||
d0, d1, d2, d3);
|
||||
|
||||
get_debugreg(d6, 6);
|
||||
get_debugreg(d7, 7);
|
||||
|
||||
/* Only print out debug registers if they are in their non-default state. */
|
||||
if ((d0 == 0) && (d1 == 0) && (d2 == 0) && (d3 == 0) &&
|
||||
(d6 == DR6_RESERVED) && (d7 == 0x400))
|
||||
return;
|
||||
|
||||
printk(KERN_DEFAULT "DR0: %08lx DR1: %08lx DR2: %08lx DR3: %08lx\n",
|
||||
d0, d1, d2, d3);
|
||||
printk(KERN_DEFAULT "DR6: %08lx DR7: %08lx\n",
|
||||
d6, d7);
|
||||
}
|
||||
|
|
|
@ -105,11 +105,18 @@ void __show_regs(struct pt_regs *regs, int all)
|
|||
get_debugreg(d0, 0);
|
||||
get_debugreg(d1, 1);
|
||||
get_debugreg(d2, 2);
|
||||
printk(KERN_DEFAULT "DR0: %016lx DR1: %016lx DR2: %016lx\n", d0, d1, d2);
|
||||
get_debugreg(d3, 3);
|
||||
get_debugreg(d6, 6);
|
||||
get_debugreg(d7, 7);
|
||||
|
||||
/* Only print out debug registers if they are in their non-default state. */
|
||||
if ((d0 == 0) && (d1 == 0) && (d2 == 0) && (d3 == 0) &&
|
||||
(d6 == DR6_RESERVED) && (d7 == 0x400))
|
||||
return;
|
||||
|
||||
printk(KERN_DEFAULT "DR0: %016lx DR1: %016lx DR2: %016lx\n", d0, d1, d2);
|
||||
printk(KERN_DEFAULT "DR3: %016lx DR6: %016lx DR7: %016lx\n", d3, d6, d7);
|
||||
|
||||
}
|
||||
|
||||
void release_thread(struct task_struct *dead_task)
|
||||
|
|
Loading…
Reference in New Issue