]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mm/alignment.c
Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
[karo-tx-linux.git] / arch / arm / mm / alignment.c
index b8cb1a2688a08bd46b3ac2426c82f37e3902e8e6..0c1ab49e5f7b7aca6d35d7be575061b8d248a7c9 100644 (file)
@@ -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: