Commit 9c636e30 authored by David S. Miller's avatar David S. Miller

sparc64: Kill smp_report_regs().

All the call sites are #if 0'd out and we have a much more
useful global cpu dumping facility these days.  smp_report_regs()
is way too verbose to be usable.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a0148213
...@@ -254,15 +254,6 @@ void __show_regs(struct pt_regs * regs) ...@@ -254,15 +254,6 @@ void __show_regs(struct pt_regs * regs)
void show_regs(struct pt_regs *regs) void show_regs(struct pt_regs *regs)
{ {
__show_regs(regs); __show_regs(regs);
#if 0
#ifdef CONFIG_SMP
{
extern void smp_report_regs(void);
smp_report_regs();
}
#endif
#endif
} }
struct global_reg_snapshot global_reg_snapshot[NR_CPUS]; struct global_reg_snapshot global_reg_snapshot[NR_CPUS];
......
...@@ -843,7 +843,6 @@ void smp_tsb_sync(struct mm_struct *mm) ...@@ -843,7 +843,6 @@ void smp_tsb_sync(struct mm_struct *mm)
extern unsigned long xcall_flush_tlb_mm; extern unsigned long xcall_flush_tlb_mm;
extern unsigned long xcall_flush_tlb_pending; extern unsigned long xcall_flush_tlb_pending;
extern unsigned long xcall_flush_tlb_kernel_range; extern unsigned long xcall_flush_tlb_kernel_range;
extern unsigned long xcall_report_regs;
#ifdef CONFIG_MAGIC_SYSRQ #ifdef CONFIG_MAGIC_SYSRQ
extern unsigned long xcall_fetch_glob_regs; extern unsigned long xcall_fetch_glob_regs;
#endif #endif
...@@ -1022,11 +1021,6 @@ void kgdb_roundup_cpus(unsigned long flags) ...@@ -1022,11 +1021,6 @@ void kgdb_roundup_cpus(unsigned long flags)
} }
#endif #endif
void smp_report_regs(void)
{
smp_cross_call(&xcall_report_regs, 0, 0, 0);
}
#ifdef CONFIG_MAGIC_SYSRQ #ifdef CONFIG_MAGIC_SYSRQ
void smp_fetch_global_regs(void) void smp_fetch_global_regs(void)
{ {
......
...@@ -2177,7 +2177,6 @@ static inline struct reg_window *kernel_stack_up(struct reg_window *rw) ...@@ -2177,7 +2177,6 @@ static inline struct reg_window *kernel_stack_up(struct reg_window *rw)
void die_if_kernel(char *str, struct pt_regs *regs) void die_if_kernel(char *str, struct pt_regs *regs)
{ {
static int die_counter; static int die_counter;
extern void smp_report_regs(void);
int count = 0; int count = 0;
/* Amuse the user. */ /* Amuse the user. */
...@@ -2215,11 +2214,6 @@ void die_if_kernel(char *str, struct pt_regs *regs) ...@@ -2215,11 +2214,6 @@ void die_if_kernel(char *str, struct pt_regs *regs)
} }
user_instruction_dump ((unsigned int __user *) regs->tpc); user_instruction_dump ((unsigned int __user *) regs->tpc);
} }
#if 0
#ifdef CONFIG_SMP
smp_report_regs();
#endif
#endif
if (regs->tstate & TSTATE_PRIV) if (regs->tstate & TSTATE_PRIV)
do_exit(SIGKILL); do_exit(SIGKILL);
do_exit(SIGSEGV); do_exit(SIGSEGV);
......
...@@ -480,41 +480,6 @@ xcall_sync_tick: ...@@ -480,41 +480,6 @@ xcall_sync_tick:
b rtrap_xcall b rtrap_xcall
ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1 ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1
/* NOTE: This is SPECIAL!! We do etrap/rtrap however
* we choose to deal with the "BH's run with
* %pil==15" problem (described in asm/pil.h)
* by just invoking rtrap directly past where
* BH's are checked for.
*
* We do it like this because we do not want %pil==15
* lockups to prevent regs being reported.
*/
.globl xcall_report_regs
xcall_report_regs:
661: rdpr %pstate, %g2
wrpr %g2, PSTATE_IG | PSTATE_AG, %pstate
.section .sun4v_2insn_patch, "ax"
.word 661b
nop
nop
.previous
rdpr %pil, %g2
wrpr %g0, 15, %pil
sethi %hi(109f), %g7
b,pt %xcc, etrap_irq
109: or %g7, %lo(109b), %g7
#ifdef CONFIG_TRACE_IRQFLAGS
call trace_hardirqs_off
nop
#endif
call __show_regs
add %sp, PTREGS_OFF, %o0
/* Has to be a non-v9 branch due to the large distance. */
b rtrap_xcall
ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1
#ifdef CONFIG_MAGIC_SYSRQ #ifdef CONFIG_MAGIC_SYSRQ
.globl xcall_fetch_glob_regs .globl xcall_fetch_glob_regs
xcall_fetch_glob_regs: xcall_fetch_glob_regs:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment