diff options
author | Omar Ramirez Luna <omar.luna@linaro.org> | 2012-10-26 12:11:08 -0500 |
---|---|---|
committer | Omar Ramirez Luna <omar.luna@linaro.org> | 2012-10-26 12:11:08 -0500 |
commit | fdf0f305c93e33153afac38b2fed5a0eb3decb3f (patch) | |
tree | 24a2eee1c4db6677df334e585538e62f14b20524 | |
parent | 1b564178ae95e07af967d7f8aab369573132cc0d (diff) | |
parent | 7eb430504551c6845e451dc7a40c54e560b3e32e (diff) |
Merge branch 'upstream-3.7-rc2-backport' into linaro-aarch64-3.6linaro-aarch64-3.6
-rw-r--r-- | arch/arm64/mm/fault.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index 1909a69983c..afadae6682e 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -36,6 +36,8 @@ #include <asm/pgtable.h> #include <asm/tlbflush.h> +static const char *fault_name(unsigned int esr); + /* * Dump out the page tables associated with 'addr' in mm 'mm'. */ @@ -112,8 +114,9 @@ static void __do_user_fault(struct task_struct *tsk, unsigned long addr, struct siginfo si; if (show_unhandled_signals) { - pr_info("%s[%d]: unhandled page fault (%d) at 0x%08lx, code 0x%03x\n", - tsk->comm, task_pid_nr(tsk), sig, addr, esr); + pr_info("%s[%d]: unhandled %s (%d) at 0x%08lx, esr 0x%03x\n", + tsk->comm, task_pid_nr(tsk), fault_name(esr), sig, + addr, esr); show_pte(tsk->mm, addr); show_regs(regs); } @@ -450,6 +453,12 @@ static struct fault_info { { do_bad, SIGBUS, 0, "unknown 63" }, }; +static const char *fault_name(unsigned int esr) +{ + const struct fault_info *inf = fault_info + (esr & 63); + return inf->name; +} + /* * Dispatch a data abort to the relevant handler. */ |