diff options
-rw-r--r-- | arch/x86/kernel/process_32.c | 11 | ||||
-rw-r--r-- | arch/x86/kernel/process_64.c | 9 |
2 files changed, 16 insertions, 4 deletions
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 7305f7dfc7ab..f84cfd1b0c0b 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c | |||
@@ -110,11 +110,16 @@ void __show_regs(struct pt_regs *regs, int all) | |||
110 | get_debugreg(d1, 1); | 110 | get_debugreg(d1, 1); |
111 | get_debugreg(d2, 2); | 111 | get_debugreg(d2, 2); |
112 | get_debugreg(d3, 3); | 112 | get_debugreg(d3, 3); |
113 | printk(KERN_DEFAULT "DR0: %08lx DR1: %08lx DR2: %08lx DR3: %08lx\n", | ||
114 | d0, d1, d2, d3); | ||
115 | |||
116 | get_debugreg(d6, 6); | 113 | get_debugreg(d6, 6); |
117 | get_debugreg(d7, 7); | 114 | get_debugreg(d7, 7); |
115 | |||
116 | /* Only print out debug registers if they are in their non-default state. */ | ||
117 | if ((d0 == 0) && (d1 == 0) && (d2 == 0) && (d3 == 0) && | ||
118 | (d6 == DR6_RESERVED) && (d7 == 0x400)) | ||
119 | return; | ||
120 | |||
121 | printk(KERN_DEFAULT "DR0: %08lx DR1: %08lx DR2: %08lx DR3: %08lx\n", | ||
122 | d0, d1, d2, d3); | ||
118 | printk(KERN_DEFAULT "DR6: %08lx DR7: %08lx\n", | 123 | printk(KERN_DEFAULT "DR6: %08lx DR7: %08lx\n", |
119 | d6, d7); | 124 | d6, d7); |
120 | } | 125 | } |
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 355ae06dbf94..a8b9abc5459a 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
@@ -105,11 +105,18 @@ void __show_regs(struct pt_regs *regs, int all) | |||
105 | get_debugreg(d0, 0); | 105 | get_debugreg(d0, 0); |
106 | get_debugreg(d1, 1); | 106 | get_debugreg(d1, 1); |
107 | get_debugreg(d2, 2); | 107 | get_debugreg(d2, 2); |
108 | printk(KERN_DEFAULT "DR0: %016lx DR1: %016lx DR2: %016lx\n", d0, d1, d2); | ||
109 | get_debugreg(d3, 3); | 108 | get_debugreg(d3, 3); |
110 | get_debugreg(d6, 6); | 109 | get_debugreg(d6, 6); |
111 | get_debugreg(d7, 7); | 110 | get_debugreg(d7, 7); |
111 | |||
112 | /* Only print out debug registers if they are in their non-default state. */ | ||
113 | if ((d0 == 0) && (d1 == 0) && (d2 == 0) && (d3 == 0) && | ||
114 | (d6 == DR6_RESERVED) && (d7 == 0x400)) | ||
115 | return; | ||
116 | |||
117 | printk(KERN_DEFAULT "DR0: %016lx DR1: %016lx DR2: %016lx\n", d0, d1, d2); | ||
112 | printk(KERN_DEFAULT "DR3: %016lx DR6: %016lx DR7: %016lx\n", d3, d6, d7); | 118 | printk(KERN_DEFAULT "DR3: %016lx DR6: %016lx DR7: %016lx\n", d3, d6, d7); |
119 | |||
113 | } | 120 | } |
114 | 121 | ||
115 | void release_thread(struct task_struct *dead_task) | 122 | void release_thread(struct task_struct *dead_task) |