diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-31 23:33:43 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-31 23:33:43 -0400 |
commit | dbf3e950679b2588e554baa4da94c445c7903e24 (patch) | |
tree | b312ea343ce84eae8ad0c2010f4cc894093d462b /arch/sparc64/kernel/process.c | |
parent | 6717c282e407650c29e7b058623d89f543015a33 (diff) |
sparc64: Kill __show_regs().
The story is that what we used to do when we actually used
smp_report_regs() is that if you specifically only wanted to have the
current cpu's registers dumped you would call "__show_regs()"
otherwise you would call show_regs() which also invoked
smp_report_regs().
Now that we killed off smp_report_regs() there is no longer any
reason to have these two routines, just show_regs() is sufficient.
Also kill off a stray declaration of show_regs() in sparc64_ksym.c
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/process.c')
-rw-r--r-- | arch/sparc64/kernel/process.c | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index bf740e039b75..7f5debdc5fed 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c | |||
@@ -211,22 +211,8 @@ static void show_regwindow(struct pt_regs *regs) | |||
211 | printk("I7: <%pS>\n", (void *) rwk->ins[7]); | 211 | printk("I7: <%pS>\n", (void *) rwk->ins[7]); |
212 | } | 212 | } |
213 | 213 | ||
214 | #ifdef CONFIG_SMP | 214 | void show_regs(struct pt_regs *regs) |
215 | static DEFINE_SPINLOCK(regdump_lock); | ||
216 | #endif | ||
217 | |||
218 | void __show_regs(struct pt_regs * regs) | ||
219 | { | 215 | { |
220 | #ifdef CONFIG_SMP | ||
221 | unsigned long flags; | ||
222 | |||
223 | /* Protect against xcall ipis which might lead to livelock on the lock */ | ||
224 | __asm__ __volatile__("rdpr %%pstate, %0\n\t" | ||
225 | "wrpr %0, %1, %%pstate" | ||
226 | : "=r" (flags) | ||
227 | : "i" (PSTATE_IE)); | ||
228 | spin_lock(®dump_lock); | ||
229 | #endif | ||
230 | printk("TSTATE: %016lx TPC: %016lx TNPC: %016lx Y: %08x %s\n", regs->tstate, | 216 | printk("TSTATE: %016lx TPC: %016lx TNPC: %016lx Y: %08x %s\n", regs->tstate, |
231 | regs->tpc, regs->tnpc, regs->y, print_tainted()); | 217 | regs->tpc, regs->tnpc, regs->y, print_tainted()); |
232 | printk("TPC: <%pS>\n", (void *) regs->tpc); | 218 | printk("TPC: <%pS>\n", (void *) regs->tpc); |
@@ -244,16 +230,6 @@ void __show_regs(struct pt_regs * regs) | |||
244 | regs->u_regs[15]); | 230 | regs->u_regs[15]); |
245 | printk("RPC: <%pS>\n", (void *) regs->u_regs[15]); | 231 | printk("RPC: <%pS>\n", (void *) regs->u_regs[15]); |
246 | show_regwindow(regs); | 232 | show_regwindow(regs); |
247 | #ifdef CONFIG_SMP | ||
248 | spin_unlock(®dump_lock); | ||
249 | __asm__ __volatile__("wrpr %0, 0, %%pstate" | ||
250 | : : "r" (flags)); | ||
251 | #endif | ||
252 | } | ||
253 | |||
254 | void show_regs(struct pt_regs *regs) | ||
255 | { | ||
256 | __show_regs(regs); | ||
257 | } | 233 | } |
258 | 234 | ||
259 | struct global_reg_snapshot global_reg_snapshot[NR_CPUS]; | 235 | struct global_reg_snapshot global_reg_snapshot[NR_CPUS]; |