aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/kernel/kprobes-arm.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/arm/kernel/kprobes-arm.c b/arch/arm/kernel/kprobes-arm.c
index d3b0506df410..2131506e1193 100644
--- a/arch/arm/kernel/kprobes-arm.c
+++ b/arch/arm/kernel/kprobes-arm.c
@@ -1074,7 +1074,8 @@ static const union decode_item arm_cccc_0001_0xx0____0xxx_table[] = {
1074 /* QSUB cccc 0001 0010 xxxx xxxx xxxx 0101 xxxx */ 1074 /* QSUB cccc 0001 0010 xxxx xxxx xxxx 0101 xxxx */
1075 /* QDADD cccc 0001 0100 xxxx xxxx xxxx 0101 xxxx */ 1075 /* QDADD cccc 0001 0100 xxxx xxxx xxxx 0101 xxxx */
1076 /* QDSUB cccc 0001 0110 xxxx xxxx xxxx 0101 xxxx */ 1076 /* QDSUB cccc 0001 0110 xxxx xxxx xxxx 0101 xxxx */
1077 DECODE_CUSTOM (0x0f9000f0, 0x01000050, prep_emulate_rd12rn16rm0_wflags), 1077 DECODE_EMULATEX (0x0f9000f0, 0x01000050, emulate_rd12rn16rm0_rwflags_nopc,
1078 REGS(NOPC, NOPC, 0, 0, NOPC)),
1078 1079
1079 /* BXJ cccc 0001 0010 xxxx xxxx xxxx 0010 xxxx */ 1080 /* BXJ cccc 0001 0010 xxxx xxxx xxxx 0010 xxxx */
1080 /* MSR cccc 0001 0x10 xxxx xxxx xxxx 0000 xxxx */ 1081 /* MSR cccc 0001 0x10 xxxx xxxx xxxx 0000 xxxx */
@@ -1140,7 +1141,8 @@ static const union decode_item arm_cccc_0001_____1001_table[] = {
1140 /* Synchronization primitives */ 1141 /* Synchronization primitives */
1141 1142
1142 /* SMP/SWPB cccc 0001 0x00 xxxx xxxx xxxx 1001 xxxx */ 1143 /* SMP/SWPB cccc 0001 0x00 xxxx xxxx xxxx 1001 xxxx */
1143 DECODE_CUSTOM (0x0fb000f0, 0x01000090, prep_emulate_rd12rn16rm0_wflags), 1144 DECODE_EMULATEX (0x0fb000f0, 0x01000090, emulate_rd12rn16rm0_rwflags_nopc,
1145 REGS(NOPC, NOPC, 0, 0, NOPC)),
1144 1146
1145 /* LDREX/STREX{,D,B,H} cccc 0001 1xxx xxxx xxxx xxxx 1001 xxxx */ 1147 /* LDREX/STREX{,D,B,H} cccc 0001 1xxx xxxx xxxx xxxx 1001 xxxx */
1146 /* And unallocated instructions... */ 1148 /* And unallocated instructions... */
@@ -1356,11 +1358,13 @@ static const union decode_item arm_cccc_0110_____xxx1_table[] = {
1356 /* UHSUB16 cccc 0110 0111 xxxx xxxx xxxx 0111 xxxx */ 1358 /* UHSUB16 cccc 0110 0111 xxxx xxxx xxxx 0111 xxxx */
1357 /* UHADD8 cccc 0110 0111 xxxx xxxx xxxx 1001 xxxx */ 1359 /* UHADD8 cccc 0110 0111 xxxx xxxx xxxx 1001 xxxx */
1358 /* UHSUB8 cccc 0110 0111 xxxx xxxx xxxx 1111 xxxx */ 1360 /* UHSUB8 cccc 0110 0111 xxxx xxxx xxxx 1111 xxxx */
1359 DECODE_CUSTOM (0x0f800010, 0x06000010, prep_emulate_rd12rn16rm0_wflags), 1361 DECODE_EMULATEX (0x0f800010, 0x06000010, emulate_rd12rn16rm0_rwflags_nopc,
1362 REGS(NOPC, NOPC, 0, 0, NOPC)),
1360 1363
1361 /* PKHBT cccc 0110 1000 xxxx xxxx xxxx x001 xxxx */ 1364 /* PKHBT cccc 0110 1000 xxxx xxxx xxxx x001 xxxx */
1362 /* PKHTB cccc 0110 1000 xxxx xxxx xxxx x101 xxxx */ 1365 /* PKHTB cccc 0110 1000 xxxx xxxx xxxx x101 xxxx */
1363 DECODE_CUSTOM (0x0ff00030, 0x06800010, prep_emulate_rd12rn16rm0_wflags), 1366 DECODE_EMULATEX (0x0ff00030, 0x06800010, emulate_rd12rn16rm0_rwflags_nopc,
1367 REGS(NOPC, NOPC, 0, 0, NOPC)),
1364 1368
1365 /* ??? cccc 0110 1001 xxxx xxxx xxxx 0111 xxxx */ 1369 /* ??? cccc 0110 1001 xxxx xxxx xxxx 0111 xxxx */
1366 /* ??? cccc 0110 1101 xxxx xxxx xxxx 0111 xxxx */ 1370 /* ??? cccc 0110 1101 xxxx xxxx xxxx 0111 xxxx */
@@ -1380,7 +1384,8 @@ static const union decode_item arm_cccc_0110_____xxx1_table[] = {
1380 /* UXTAB16 cccc 0110 1100 xxxx xxxx xxxx 0111 xxxx */ 1384 /* UXTAB16 cccc 0110 1100 xxxx xxxx xxxx 0111 xxxx */
1381 /* UXTAB cccc 0110 1110 xxxx xxxx xxxx 0111 xxxx */ 1385 /* UXTAB cccc 0110 1110 xxxx xxxx xxxx 0111 xxxx */
1382 /* UXTAH cccc 0110 1111 xxxx xxxx xxxx 0111 xxxx */ 1386 /* UXTAH cccc 0110 1111 xxxx xxxx xxxx 0111 xxxx */
1383 DECODE_CUSTOM (0x0f8000f0, 0x06800070, prep_emulate_rd12rn16rm0_wflags), 1387 DECODE_EMULATEX (0x0f8000f0, 0x06800070, emulate_rd12rn16rm0_rwflags_nopc,
1388 REGS(NOPCX, NOPC, 0, 0, NOPC)),
1384 1389
1385 DECODE_END 1390 DECODE_END
1386}; 1391};