diff options
Diffstat (limited to 'arch/sparc64/kernel/traps.c')
| -rw-r--r-- | arch/sparc64/kernel/traps.c | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c index 2793a5d82380..563db528e031 100644 --- a/arch/sparc64/kernel/traps.c +++ b/arch/sparc64/kernel/traps.c | |||
| @@ -1797,7 +1797,9 @@ static const char *sun4v_err_type_to_str(u32 type) | |||
| 1797 | }; | 1797 | }; | 
| 1798 | } | 1798 | } | 
| 1799 | 1799 | ||
| 1800 | static void sun4v_log_error(struct sun4v_error_entry *ent, int cpu, const char *pfx, atomic_t *ocnt) | 1800 | extern void __show_regs(struct pt_regs * regs); | 
| 1801 | |||
| 1802 | static void sun4v_log_error(struct pt_regs *regs, struct sun4v_error_entry *ent, int cpu, const char *pfx, atomic_t *ocnt) | ||
| 1801 | { | 1803 | { | 
| 1802 | int cnt; | 1804 | int cnt; | 
| 1803 | 1805 | ||
| @@ -1830,6 +1832,8 @@ static void sun4v_log_error(struct sun4v_error_entry *ent, int cpu, const char * | |||
| 1830 | pfx, | 1832 | pfx, | 
| 1831 | ent->err_raddr, ent->err_size, ent->err_cpu); | 1833 | ent->err_raddr, ent->err_size, ent->err_cpu); | 
| 1832 | 1834 | ||
| 1835 | __show_regs(regs); | ||
| 1836 | |||
| 1833 | if ((cnt = atomic_read(ocnt)) != 0) { | 1837 | if ((cnt = atomic_read(ocnt)) != 0) { | 
| 1834 | atomic_set(ocnt, 0); | 1838 | atomic_set(ocnt, 0); | 
| 1835 | wmb(); | 1839 | wmb(); | 
| @@ -1862,7 +1866,7 @@ void sun4v_resum_error(struct pt_regs *regs, unsigned long offset) | |||
| 1862 | 1866 | ||
| 1863 | put_cpu(); | 1867 | put_cpu(); | 
| 1864 | 1868 | ||
| 1865 | sun4v_log_error(&local_copy, cpu, | 1869 | sun4v_log_error(regs, &local_copy, cpu, | 
| 1866 | KERN_ERR "RESUMABLE ERROR", | 1870 | KERN_ERR "RESUMABLE ERROR", | 
| 1867 | &sun4v_resum_oflow_cnt); | 1871 | &sun4v_resum_oflow_cnt); | 
| 1868 | } | 1872 | } | 
| @@ -1910,7 +1914,7 @@ void sun4v_nonresum_error(struct pt_regs *regs, unsigned long offset) | |||
| 1910 | } | 1914 | } | 
| 1911 | #endif | 1915 | #endif | 
| 1912 | 1916 | ||
| 1913 | sun4v_log_error(&local_copy, cpu, | 1917 | sun4v_log_error(regs, &local_copy, cpu, | 
| 1914 | KERN_EMERG "NON-RESUMABLE ERROR", | 1918 | KERN_EMERG "NON-RESUMABLE ERROR", | 
| 1915 | &sun4v_nonresum_oflow_cnt); | 1919 | &sun4v_nonresum_oflow_cnt); | 
| 1916 | 1920 | ||
| @@ -2200,7 +2204,6 @@ static inline struct reg_window *kernel_stack_up(struct reg_window *rw) | |||
| 2200 | void die_if_kernel(char *str, struct pt_regs *regs) | 2204 | void die_if_kernel(char *str, struct pt_regs *regs) | 
| 2201 | { | 2205 | { | 
| 2202 | static int die_counter; | 2206 | static int die_counter; | 
| 2203 | extern void __show_regs(struct pt_regs * regs); | ||
| 2204 | extern void smp_report_regs(void); | 2207 | extern void smp_report_regs(void); | 
| 2205 | int count = 0; | 2208 | int count = 0; | 
| 2206 | 2209 | ||
