summaryrefslogtreecommitdiff
path: root/arch/tile/kernel/traps.c
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2010-08-13 16:40:57 +0400
committerChris Metcalf <cmetcalf@tilera.com>2010-08-13 16:40:57 +0400
commit1fcbe027b5d29ec9cd0eeb753c14fb366ae852ac (patch)
treeb0d80646567ac71238cf2ffb33e29ad33d758816 /arch/tile/kernel/traps.c
parent32020effaf713c0c669864301bcd5dac6b9bb9e0 (diff)
downloadlinux-1fcbe027b5d29ec9cd0eeb753c14fb366ae852ac.tar.xz
arch/tile: support backtracing on TILE-Gx
This functionality was stubbed out until recently. Now we support our normal backtracing API on TILE-Gx as well as on TILE64/TILEPro. This change includes a tweak to the instruction encoding caused by adding addxli for compat mode. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile/kernel/traps.c')
-rw-r--r--arch/tile/kernel/traps.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/tile/kernel/traps.c b/arch/tile/kernel/traps.c
index 3870abbeeaa2..0f362dc2c57f 100644
--- a/arch/tile/kernel/traps.c
+++ b/arch/tile/kernel/traps.c
@@ -128,7 +128,9 @@ static int special_ill(bundle_bits bundle, int *sigp, int *codep)
#ifdef __tilegx__
if ((bundle & TILEGX_BUNDLE_MODE_MASK) != 0)
return 0;
- if (get_Opcode_X1(bundle) != UNARY_OPCODE_X1)
+ if (get_Opcode_X1(bundle) != RRR_0_OPCODE_X1)
+ return 0;
+ if (get_RRROpcodeExtension_X1(bundle) != UNARY_RRR_0_OPCODE_X1)
return 0;
if (get_UnaryOpcodeExtension_X1(bundle) != ILL_UNARY_OPCODE_X1)
return 0;