diff options
Diffstat (limited to 'arch/arm/mm/alignment.c')
| -rw-r--r-- | arch/arm/mm/alignment.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c index b8cb1a2688a0..0c1ab49e5f7b 100644 --- a/arch/arm/mm/alignment.c +++ b/arch/arm/mm/alignment.c @@ -76,6 +76,7 @@  static unsigned long ai_user;  static unsigned long ai_sys; +static void *ai_sys_last_pc;  static unsigned long ai_skipped;  static unsigned long ai_half;  static unsigned long ai_word; @@ -130,7 +131,7 @@ static const char *usermode_action[] = {  static int alignment_proc_show(struct seq_file *m, void *v)  {  	seq_printf(m, "User:\t\t%lu\n", ai_user); -	seq_printf(m, "System:\t\t%lu\n", ai_sys); +	seq_printf(m, "System:\t\t%lu (%pF)\n", ai_sys, ai_sys_last_pc);  	seq_printf(m, "Skipped:\t%lu\n", ai_skipped);  	seq_printf(m, "Half:\t\t%lu\n", ai_half);  	seq_printf(m, "Word:\t\t%lu\n", ai_word); @@ -794,6 +795,7 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)  		goto user;  	ai_sys += 1; +	ai_sys_last_pc = (void *)instruction_pointer(regs);   fixup:  | 
