diff options
author | Brian Gerst <brgerst@gmail.com> | 2010-01-13 10:45:55 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2010-01-13 12:23:15 -0500 |
commit | 3bef444797f7624f8fbd27f4e0334ce96a108725 (patch) | |
tree | 7489fdd232f1d678bc960bb25ffd7b13c1053f1c /arch | |
parent | 2ca49b2fcf5813571663c3c4c894b78148c43690 (diff) |
x86: Merge show_regs()
Using kernel_stack_pointer() allows 32-bit and 64-bit versions to
be merged. This is more correct for 64-bit, since the old %rsp is
always saved on the stack.
Signed-off-by: Brian Gerst <brgerst@gmail.com>
LKML-Reference: <1263397555-27695-1-git-send-email-brgerst@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/process.c | 7 | ||||
-rw-r--r-- | arch/x86/kernel/process_32.c | 6 | ||||
-rw-r--r-- | arch/x86/kernel/process_64.c | 6 |
3 files changed, 7 insertions, 12 deletions
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index 98c2cdeb599e..cf1e04b2ad65 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c | |||
@@ -92,6 +92,13 @@ void exit_thread(void) | |||
92 | } | 92 | } |
93 | } | 93 | } |
94 | 94 | ||
95 | void show_regs(struct pt_regs *regs) | ||
96 | { | ||
97 | show_registers(regs); | ||
98 | show_trace(NULL, regs, (unsigned long *)kernel_stack_pointer(regs), | ||
99 | regs->bp); | ||
100 | } | ||
101 | |||
95 | void show_regs_common(void) | 102 | void show_regs_common(void) |
96 | { | 103 | { |
97 | const char *board, *product; | 104 | const char *board, *product; |
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 9c517b5858f0..fe6a34e42bde 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c | |||
@@ -174,12 +174,6 @@ void __show_regs(struct pt_regs *regs, int all) | |||
174 | d6, d7); | 174 | d6, d7); |
175 | } | 175 | } |
176 | 176 | ||
177 | void show_regs(struct pt_regs *regs) | ||
178 | { | ||
179 | show_registers(regs); | ||
180 | show_trace(NULL, regs, ®s->sp, regs->bp); | ||
181 | } | ||
182 | |||
183 | void release_thread(struct task_struct *dead_task) | 177 | void release_thread(struct task_struct *dead_task) |
184 | { | 178 | { |
185 | BUG_ON(dead_task->mm); | 179 | BUG_ON(dead_task->mm); |
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 52fbd0c60198..418f860880a2 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
@@ -211,12 +211,6 @@ void __show_regs(struct pt_regs *regs, int all) | |||
211 | printk(KERN_INFO "DR3: %016lx DR6: %016lx DR7: %016lx\n", d3, d6, d7); | 211 | printk(KERN_INFO "DR3: %016lx DR6: %016lx DR7: %016lx\n", d3, d6, d7); |
212 | } | 212 | } |
213 | 213 | ||
214 | void show_regs(struct pt_regs *regs) | ||
215 | { | ||
216 | show_registers(regs); | ||
217 | show_trace(NULL, regs, (void *)(regs + 1), regs->bp); | ||
218 | } | ||
219 | |||
220 | void release_thread(struct task_struct *dead_task) | 214 | void release_thread(struct task_struct *dead_task) |
221 | { | 215 | { |
222 | if (dead_task->mm) { | 216 | if (dead_task->mm) { |