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>
This commit is contained in:
parent
6717c282e4
commit
dbf3e95067
3 changed files with 3 additions and 28 deletions
arch/sparc64/kernel
|
@ -211,22 +211,8 @@ static void show_regwindow(struct pt_regs *regs)
|
|||
printk("I7: <%pS>\n", (void *) rwk->ins[7]);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
static DEFINE_SPINLOCK(regdump_lock);
|
||||
#endif
|
||||
|
||||
void __show_regs(struct pt_regs * regs)
|
||||
void show_regs(struct pt_regs *regs)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
unsigned long flags;
|
||||
|
||||
/* Protect against xcall ipis which might lead to livelock on the lock */
|
||||
__asm__ __volatile__("rdpr %%pstate, %0\n\t"
|
||||
"wrpr %0, %1, %%pstate"
|
||||
: "=r" (flags)
|
||||
: "i" (PSTATE_IE));
|
||||
spin_lock(®dump_lock);
|
||||
#endif
|
||||
printk("TSTATE: %016lx TPC: %016lx TNPC: %016lx Y: %08x %s\n", regs->tstate,
|
||||
regs->tpc, regs->tnpc, regs->y, print_tainted());
|
||||
printk("TPC: <%pS>\n", (void *) regs->tpc);
|
||||
|
@ -244,16 +230,6 @@ void __show_regs(struct pt_regs * regs)
|
|||
regs->u_regs[15]);
|
||||
printk("RPC: <%pS>\n", (void *) regs->u_regs[15]);
|
||||
show_regwindow(regs);
|
||||
#ifdef CONFIG_SMP
|
||||
spin_unlock(®dump_lock);
|
||||
__asm__ __volatile__("wrpr %0, 0, %%pstate"
|
||||
: : "r" (flags));
|
||||
#endif
|
||||
}
|
||||
|
||||
void show_regs(struct pt_regs *regs)
|
||||
{
|
||||
__show_regs(regs);
|
||||
}
|
||||
|
||||
struct global_reg_snapshot global_reg_snapshot[NR_CPUS];
|
||||
|
|
|
@ -68,7 +68,6 @@ extern void *__memscan_zero(void *, size_t);
|
|||
extern void *__memscan_generic(void *, int, size_t);
|
||||
extern int __memcmp(const void *, const void *, __kernel_size_t);
|
||||
extern __kernel_size_t strlen(const char *);
|
||||
extern void show_regs(struct pt_regs *);
|
||||
extern void syscall_trace(struct pt_regs *, int);
|
||||
extern void sys_sigsuspend(void);
|
||||
extern int compat_sys_ioctl(unsigned int fd, unsigned int cmd, u32 arg);
|
||||
|
|
|
@ -1777,7 +1777,7 @@ static void sun4v_log_error(struct pt_regs *regs, struct sun4v_error_entry *ent,
|
|||
pfx,
|
||||
ent->err_raddr, ent->err_size, ent->err_cpu);
|
||||
|
||||
__show_regs(regs);
|
||||
show_regs(regs);
|
||||
|
||||
if ((cnt = atomic_read(ocnt)) != 0) {
|
||||
atomic_set(ocnt, 0);
|
||||
|
@ -2189,7 +2189,7 @@ void die_if_kernel(char *str, struct pt_regs *regs)
|
|||
printk("%s(%d): %s [#%d]\n", current->comm, task_pid_nr(current), str, ++die_counter);
|
||||
notify_die(DIE_OOPS, str, regs, 0, 255, SIGSEGV);
|
||||
__asm__ __volatile__("flushw");
|
||||
__show_regs(regs);
|
||||
show_regs(regs);
|
||||
add_taint(TAINT_DIE);
|
||||
if (regs->tstate & TSTATE_PRIV) {
|
||||
struct reg_window *rw = (struct reg_window *)
|
||||
|
|
Loading…
Add table
Reference in a new issue