diff options
author | David S. Miller <davem@davemloft.net> | 2008-07-31 04:06:02 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-07-31 04:06:02 -0400 |
commit | 9c636e30a33aa37873c53977c429f0fdad4ec0eb (patch) | |
tree | 6f147f693afb81e7faa7e27c1e2d356685027933 | |
parent | a014821340f068bea2fd39cb2578a043fc0dfc57 (diff) |
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: David S. Miller <davem@davemloft.net>
-rw-r--r-- | arch/sparc64/kernel/process.c | 9 | ||||
-rw-r--r-- | arch/sparc64/kernel/smp.c | 6 | ||||
-rw-r--r-- | arch/sparc64/kernel/traps.c | 6 | ||||
-rw-r--r-- | arch/sparc64/mm/ultra.S | 35 |
4 files changed, 0 insertions, 56 deletions
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index affa43952453..bf740e039b75 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c | |||
@@ -254,15 +254,6 @@ void __show_regs(struct pt_regs * regs) | |||
254 | void show_regs(struct pt_regs *regs) | 254 | void show_regs(struct pt_regs *regs) |
255 | { | 255 | { |
256 | __show_regs(regs); | 256 | __show_regs(regs); |
257 | #if 0 | ||
258 | #ifdef CONFIG_SMP | ||
259 | { | ||
260 | extern void smp_report_regs(void); | ||
261 | |||
262 | smp_report_regs(); | ||
263 | } | ||
264 | #endif | ||
265 | #endif | ||
266 | } | 257 | } |
267 | 258 | ||
268 | struct global_reg_snapshot global_reg_snapshot[NR_CPUS]; | 259 | struct global_reg_snapshot global_reg_snapshot[NR_CPUS]; |
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index 7cf72b4bb108..340842e51ce1 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -843,7 +843,6 @@ void smp_tsb_sync(struct mm_struct *mm) | |||
843 | extern unsigned long xcall_flush_tlb_mm; | 843 | extern unsigned long xcall_flush_tlb_mm; |
844 | extern unsigned long xcall_flush_tlb_pending; | 844 | extern unsigned long xcall_flush_tlb_pending; |
845 | extern unsigned long xcall_flush_tlb_kernel_range; | 845 | extern unsigned long xcall_flush_tlb_kernel_range; |
846 | extern unsigned long xcall_report_regs; | ||
847 | #ifdef CONFIG_MAGIC_SYSRQ | 846 | #ifdef CONFIG_MAGIC_SYSRQ |
848 | extern unsigned long xcall_fetch_glob_regs; | 847 | extern unsigned long xcall_fetch_glob_regs; |
849 | #endif | 848 | #endif |
@@ -1022,11 +1021,6 @@ void kgdb_roundup_cpus(unsigned long flags) | |||
1022 | } | 1021 | } |
1023 | #endif | 1022 | #endif |
1024 | 1023 | ||
1025 | void smp_report_regs(void) | ||
1026 | { | ||
1027 | smp_cross_call(&xcall_report_regs, 0, 0, 0); | ||
1028 | } | ||
1029 | |||
1030 | #ifdef CONFIG_MAGIC_SYSRQ | 1024 | #ifdef CONFIG_MAGIC_SYSRQ |
1031 | void smp_fetch_global_regs(void) | 1025 | void smp_fetch_global_regs(void) |
1032 | { | 1026 | { |
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c index bd30ecba5630..f56b6fe78e92 100644 --- a/arch/sparc64/kernel/traps.c +++ b/arch/sparc64/kernel/traps.c | |||
@@ -2177,7 +2177,6 @@ static inline struct reg_window *kernel_stack_up(struct reg_window *rw) | |||
2177 | void die_if_kernel(char *str, struct pt_regs *regs) | 2177 | void die_if_kernel(char *str, struct pt_regs *regs) |
2178 | { | 2178 | { |
2179 | static int die_counter; | 2179 | static int die_counter; |
2180 | extern void smp_report_regs(void); | ||
2181 | int count = 0; | 2180 | int count = 0; |
2182 | 2181 | ||
2183 | /* Amuse the user. */ | 2182 | /* Amuse the user. */ |
@@ -2215,11 +2214,6 @@ void die_if_kernel(char *str, struct pt_regs *regs) | |||
2215 | } | 2214 | } |
2216 | user_instruction_dump ((unsigned int __user *) regs->tpc); | 2215 | user_instruction_dump ((unsigned int __user *) regs->tpc); |
2217 | } | 2216 | } |
2218 | #if 0 | ||
2219 | #ifdef CONFIG_SMP | ||
2220 | smp_report_regs(); | ||
2221 | #endif | ||
2222 | #endif | ||
2223 | if (regs->tstate & TSTATE_PRIV) | 2217 | if (regs->tstate & TSTATE_PRIV) |
2224 | do_exit(SIGKILL); | 2218 | do_exit(SIGKILL); |
2225 | do_exit(SIGSEGV); | 2219 | do_exit(SIGSEGV); |
diff --git a/arch/sparc64/mm/ultra.S b/arch/sparc64/mm/ultra.S index 77ba88597cc5..ff1dc44d363e 100644 --- a/arch/sparc64/mm/ultra.S +++ b/arch/sparc64/mm/ultra.S | |||
@@ -480,41 +480,6 @@ xcall_sync_tick: | |||
480 | b rtrap_xcall | 480 | b rtrap_xcall |
481 | ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1 | 481 | ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1 |
482 | 482 | ||
483 | /* NOTE: This is SPECIAL!! We do etrap/rtrap however | ||
484 | * we choose to deal with the "BH's run with | ||
485 | * %pil==15" problem (described in asm/pil.h) | ||
486 | * by just invoking rtrap directly past where | ||
487 | * BH's are checked for. | ||
488 | * | ||
489 | * We do it like this because we do not want %pil==15 | ||
490 | * lockups to prevent regs being reported. | ||
491 | */ | ||
492 | .globl xcall_report_regs | ||
493 | xcall_report_regs: | ||
494 | |||
495 | 661: rdpr %pstate, %g2 | ||
496 | wrpr %g2, PSTATE_IG | PSTATE_AG, %pstate | ||
497 | .section .sun4v_2insn_patch, "ax" | ||
498 | .word 661b | ||
499 | nop | ||
500 | nop | ||
501 | .previous | ||
502 | |||
503 | rdpr %pil, %g2 | ||
504 | wrpr %g0, 15, %pil | ||
505 | sethi %hi(109f), %g7 | ||
506 | b,pt %xcc, etrap_irq | ||
507 | 109: or %g7, %lo(109b), %g7 | ||
508 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
509 | call trace_hardirqs_off | ||
510 | nop | ||
511 | #endif | ||
512 | call __show_regs | ||
513 | add %sp, PTREGS_OFF, %o0 | ||
514 | /* Has to be a non-v9 branch due to the large distance. */ | ||
515 | b rtrap_xcall | ||
516 | ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1 | ||
517 | |||
518 | #ifdef CONFIG_MAGIC_SYSRQ | 483 | #ifdef CONFIG_MAGIC_SYSRQ |
519 | .globl xcall_fetch_glob_regs | 484 | .globl xcall_fetch_glob_regs |
520 | xcall_fetch_glob_regs: | 485 | xcall_fetch_glob_regs: |