tile: improve illegal translation interrupt handling
authorChris Metcalf <cmetcalf@tilera.com>
Wed, 7 Aug 2013 16:11:56 +0000 (12:11 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Tue, 13 Aug 2013 20:26:13 +0000 (16:26 -0400)
commit70d2b5958a04139fbffecf27791cf913dce8038e
tree7df7a5b793bf53dfd319faac4f711487770511ef
parentdadf78bf0359ee87a9d0b19ce42dbce7d0a72a61
tile: improve illegal translation interrupt handling

First, don't re-enable interrupts blindly in the Linux trap handler.
We already handle page faults this way; synchronous interrupts like
ILL_TRANS will fire even when interrupts are disabled, and we don't
want to re-enable interrupts in that case.

For ILL_TRANS, we now pass the ILL_VA_PC reason into the trap handler
so we can report it properly; this is the address that caused the
illegal translation trap.  We print the address as part of the
pr_alert() message now if it's coming from the kernel.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
arch/tile/kernel/intvec_64.S
arch/tile/kernel/traps.c