Lines Matching +full:0 +full:x0010f000

19 #define sign_extend(x, signbit) ((x) | (0 - ((x) & (1 << (signbit)))))
21 #define branch_displacement(insn) sign_extend(((insn) & 0xffffff) << 2, 25)
72 regs->ARM_pc = iaddr + 8 + disp + ((insn >> 23) & 0x2); in simulate_blx1()
79 int rm = insn & 0xf; in simulate_blx2bx()
85 regs->ARM_pc = rmv & ~0x1; in simulate_blx2bx()
87 if (rmv & 0x1) in simulate_blx2bx()
94 int rd = (insn >> 12) & 0xf; in simulate_mrs()
95 unsigned long mask = 0xf8ff03df; /* Mask out execution state */ in simulate_mrs()
122 DECODE_SIMULATE (0xfe300000, 0xf4100000, PROBES_PRELOAD_IMM),
128 DECODE_SIMULATE (0xfe300010, 0xf6100000, PROBES_PRELOAD_REG),
131 DECODE_SIMULATE (0xfe000000, 0xfa000000, PROBES_BRANCH_IMM),
155 DECODE_SIMULATEX(0x0ff000f0, 0x01000000, PROBES_MRS,
156 REGS(0, NOPC, 0, 0, 0)),
159 DECODE_SIMULATE (0x0ff000f0, 0x01200010, PROBES_BRANCH_REG),
162 DECODE_SIMULATEX(0x0ff000f0, 0x01200030, PROBES_BRANCH_REG,
163 REGS(0, 0, 0, 0, NOPC)),
166 DECODE_EMULATEX (0x0ff000f0, 0x01600010, PROBES_CLZ,
167 REGS(0, NOPC, 0, 0, NOPC)),
173 DECODE_EMULATEX (0x0f9000f0, 0x01000050, PROBES_SATURATING_ARITHMETIC,
174 REGS(NOPC, NOPC, 0, 0, NOPC)),
177 /* MSR cccc 0001 0x10 xxxx xxxx xxxx 0000 xxxx */
189 DECODE_EMULATEX (0x0ff00090, 0x01400080, PROBES_MUL1,
190 REGS(NOPC, NOPC, NOPC, 0, NOPC)),
193 DECODE_OR (0x0ff000b0, 0x012000a0),
195 DECODE_EMULATEX (0x0ff00090, 0x01600080, PROBES_MUL2,
196 REGS(NOPC, 0, NOPC, 0, NOPC)),
199 DECODE_OR (0x0ff00090, 0x01000080),
201 DECODE_EMULATEX (0x0ff000b0, 0x01200080, PROBES_MUL2,
202 REGS(NOPC, NOPC, NOPC, 0, NOPC)),
212 DECODE_EMULATEX (0x0fe000f0, 0x00000090, PROBES_MUL2,
213 REGS(NOPC, 0, NOPC, 0, NOPC)),
217 DECODE_OR (0x0fe000f0, 0x00200090),
219 DECODE_EMULATEX (0x0ff000f0, 0x00600090, PROBES_MUL2,
220 REGS(NOPC, NOPC, NOPC, 0, NOPC)),
223 DECODE_OR (0x0ff000f0, 0x00400090),
232 DECODE_EMULATEX (0x0f8000f0, 0x00800090, PROBES_MUL1,
233 REGS(NOPC, NOPC, NOPC, 0, NOPC)),
243 /* SMP/SWPB cccc 0001 0x00 xxxx xxxx xxxx 1001 xxxx */
244 DECODE_EMULATEX (0x0fb000f0, 0x01000090, PROBES_SWP,
245 REGS(NOPC, NOPC, 0, 0, NOPC)),
260 DECODE_REJECT (0x0f200090, 0x00200090),
263 DECODE_REJECT (0x0e10e0d0, 0x0000e0d0),
267 DECODE_EMULATEX (0x0e5000d0, 0x000000d0, PROBES_LDRSTRD,
268 REGS(NOPCWB, NOPCX, 0, 0, NOPC)),
272 DECODE_EMULATEX (0x0e5000d0, 0x004000d0, PROBES_LDRSTRD,
273 REGS(NOPCWB, NOPCX, 0, 0, 0)),
276 DECODE_EMULATEX (0x0e5000f0, 0x000000b0, PROBES_STORE_EXTRA,
277 REGS(NOPCWB, NOPC, 0, 0, NOPC)),
282 DECODE_EMULATEX (0x0e500090, 0x00100090, PROBES_LOAD_EXTRA,
283 REGS(NOPCWB, NOPC, 0, 0, NOPC)),
286 DECODE_EMULATEX (0x0e5000f0, 0x004000b0, PROBES_STORE_EXTRA,
287 REGS(NOPCWB, NOPC, 0, 0, 0)),
292 DECODE_EMULATEX (0x0e500090, 0x00500090, PROBES_LOAD_EXTRA,
293 REGS(NOPCWB, NOPC, 0, 0, 0)),
302 DECODE_REJECT (0x0e10f000, 0x0010f000),
305 DECODE_SIMULATE (0xffffffff, 0xe1a0c00d, PROBES_MOV_IP_SP),
311 DECODE_EMULATEX (0x0f900010, 0x01100000, PROBES_DATA_PROCESSING_REG,
312 REGS(ANY, 0, 0, 0, ANY)),
316 DECODE_EMULATEX (0x0fa00010, 0x01a00000, PROBES_DATA_PROCESSING_REG,
317 REGS(0, ANY, 0, 0, ANY)),
329 DECODE_EMULATEX (0x0e000010, 0x00000000, PROBES_DATA_PROCESSING_REG,
330 REGS(ANY, ANY, 0, 0, ANY)),
332 /* TST (reg-shift reg) cccc 0001 0001 xxxx xxxx xxxx 0xx1 xxxx */
333 /* TEQ (reg-shift reg) cccc 0001 0011 xxxx xxxx xxxx 0xx1 xxxx */
334 /* CMP (reg-shift reg) cccc 0001 0101 xxxx xxxx xxxx 0xx1 xxxx */
335 /* CMN (reg-shift reg) cccc 0001 0111 xxxx xxxx xxxx 0xx1 xxxx */
336 DECODE_EMULATEX (0x0f900090, 0x01100010, PROBES_DATA_PROCESSING_REG,
337 REGS(NOPC, 0, NOPC, 0, NOPC)),
339 /* MOV (reg-shift reg) cccc 0001 101x xxxx xxxx xxxx 0xx1 xxxx */
340 /* MVN (reg-shift reg) cccc 0001 111x xxxx xxxx xxxx 0xx1 xxxx */
341 DECODE_EMULATEX (0x0fa00090, 0x01a00010, PROBES_DATA_PROCESSING_REG,
342 REGS(0, NOPC, NOPC, 0, NOPC)),
344 /* AND (reg-shift reg) cccc 0000 000x xxxx xxxx xxxx 0xx1 xxxx */
345 /* EOR (reg-shift reg) cccc 0000 001x xxxx xxxx xxxx 0xx1 xxxx */
346 /* SUB (reg-shift reg) cccc 0000 010x xxxx xxxx xxxx 0xx1 xxxx */
347 /* RSB (reg-shift reg) cccc 0000 011x xxxx xxxx xxxx 0xx1 xxxx */
348 /* ADD (reg-shift reg) cccc 0000 100x xxxx xxxx xxxx 0xx1 xxxx */
349 /* ADC (reg-shift reg) cccc 0000 101x xxxx xxxx xxxx 0xx1 xxxx */
350 /* SBC (reg-shift reg) cccc 0000 110x xxxx xxxx xxxx 0xx1 xxxx */
351 /* RSC (reg-shift reg) cccc 0000 111x xxxx xxxx xxxx 0xx1 xxxx */
352 /* ORR (reg-shift reg) cccc 0001 100x xxxx xxxx xxxx 0xx1 xxxx */
353 /* BIC (reg-shift reg) cccc 0001 110x xxxx xxxx xxxx 0xx1 xxxx */
354 DECODE_EMULATEX (0x0e000090, 0x00000010, PROBES_DATA_PROCESSING_REG,
355 REGS(NOPC, NOPC, NOPC, 0, NOPC)),
365 DECODE_EMULATEX (0x0fb00000, 0x03000000, PROBES_MOV_HALFWORD,
366 REGS(0, NOPC, 0, 0, 0)),
369 DECODE_OR (0x0fff00ff, 0x03200001),
371 DECODE_EMULATE (0x0fff00ff, 0x03200004, PROBES_SEV),
375 DECODE_SIMULATE (0x0fff00fc, 0x03200000, PROBES_WFE),
378 /* MSR (immediate) cccc 0011 0x10 xxxx xxxx xxxx xxxx xxxx */
379 DECODE_REJECT (0x0fb00000, 0x03200000),
382 DECODE_REJECT (0x0e10f000, 0x0210f000),
388 DECODE_EMULATEX (0x0f900000, 0x03100000, PROBES_DATA_PROCESSING_IMM,
389 REGS(ANY, 0, 0, 0, 0)),
393 DECODE_EMULATEX (0x0fa00000, 0x03a00000, PROBES_DATA_PROCESSING_IMM,
394 REGS(0, ANY, 0, 0, 0)),
406 DECODE_EMULATEX (0x0e000000, 0x02000000, PROBES_DATA_PROCESSING_IMM,
407 REGS(ANY, ANY, 0, 0, 0)),
416 DECODE_EMULATEX (0x0ff000f0, 0x068000b0, PROBES_SATURATE,
417 REGS(NOPC, NOPC, 0, 0, NOPC)),
421 DECODE_OR(0x0fa00030, 0x06a00010),
424 DECODE_EMULATEX (0x0fb000f0, 0x06a00030, PROBES_SATURATE,
425 REGS(0, NOPC, 0, 0, NOPC)),
431 DECODE_EMULATEX (0x0fb00070, 0x06b00030, PROBES_REV,
432 REGS(0, NOPC, 0, 0, NOPC)),
434 /* ??? cccc 0110 0x00 xxxx xxxx xxxx xxx1 xxxx */
435 DECODE_REJECT (0x0fb00010, 0x06000010),
436 /* ??? cccc 0110 0xxx xxxx xxxx xxxx 1011 xxxx */
437 DECODE_REJECT (0x0f8000f0, 0x060000b0),
438 /* ??? cccc 0110 0xxx xxxx xxxx xxxx 1101 xxxx */
439 DECODE_REJECT (0x0f8000f0, 0x060000d0),
476 DECODE_EMULATEX (0x0f800010, 0x06000010, PROBES_MMI,
477 REGS(NOPC, NOPC, 0, 0, NOPC)),
481 DECODE_EMULATEX (0x0ff00030, 0x06800010, PROBES_PACK,
482 REGS(NOPC, NOPC, 0, 0, NOPC)),
486 DECODE_REJECT (0x0fb000f0, 0x06900070),
494 DECODE_EMULATEX (0x0f8f00f0, 0x068f0070, PROBES_EXTEND,
495 REGS(0, NOPC, 0, 0, NOPC)),
503 DECODE_EMULATEX (0x0f8000f0, 0x06800070, PROBES_EXTEND_ADD,
504 REGS(NOPCX, NOPC, 0, 0, NOPC)),
513 DECODE_REJECT (0x0ff000f0, 0x07f000f0),
517 DECODE_EMULATEX (0x0ff00090, 0x07400010, PROBES_MUL_ADD_LONG,
518 REGS(NOPC, NOPC, NOPC, 0, NOPC)),
522 DECODE_OR (0x0ff0f090, 0x0700f010),
524 DECODE_OR (0x0ff0f0d0, 0x0750f010),
526 DECODE_EMULATEX (0x0ff0f0f0, 0x0780f010, PROBES_MUL_ADD,
527 REGS(NOPC, 0, NOPC, 0, NOPC)),
531 DECODE_OR (0x0ff00090, 0x07000010),
533 DECODE_OR (0x0ff000d0, 0x07500010),
535 DECODE_EMULATEX (0x0ff000f0, 0x07800010, PROBES_MUL_ADD,
536 REGS(NOPC, NOPCX, NOPC, 0, NOPC)),
539 DECODE_EMULATEX (0x0ff000d0, 0x075000d0, PROBES_MUL_ADD,
540 REGS(NOPC, NOPC, NOPC, 0, NOPC)),
544 DECODE_EMULATEX (0x0fa00070, 0x07a00050, PROBES_BITFIELD,
545 REGS(0, NOPC, 0, 0, NOPC)),
548 DECODE_EMULATEX (0x0fe0007f, 0x07c0001f, PROBES_BITFIELD,
549 REGS(0, NOPC, 0, 0, 0)),
552 DECODE_EMULATEX (0x0fe00070, 0x07c00010, PROBES_BITFIELD,
553 REGS(0, NOPC, 0, 0, NOPCX)),
562 DECODE_REJECT (0x0c40f000, 0x0440f000),
568 DECODE_REJECT (0x0d200000, 0x04200000),
572 DECODE_EMULATEX (0x0e100000, 0x04000000, PROBES_STORE,
573 REGS(NOPCWB, ANY, 0, 0, 0)),
577 DECODE_EMULATEX (0x0e100000, 0x04100000, PROBES_LOAD,
578 REGS(NOPCWB, ANY, 0, 0, 0)),
582 DECODE_EMULATEX (0x0e100000, 0x06000000, PROBES_STORE,
583 REGS(NOPCWB, ANY, 0, 0, NOPC)),
587 DECODE_EMULATEX (0x0e100000, 0x06100000, PROBES_LOAD,
588 REGS(NOPCWB, ANY, 0, 0, NOPC)),
598 DECODE_CUSTOM (0x0e400000, 0x08000000, PROBES_LDMSTM),
601 /* LDM (user registers) cccc 100x x1x1 xxxx 0xxx xxxx xxxx xxxx */
611 DECODE_TABLE (0xf0000000, 0xf0000000, arm_1111_table),
615 * cccc 0001 0xx0 xxxx xxxx xxxx 0xxx xxxx
617 DECODE_TABLE (0x0f900080, 0x01000000, arm_cccc_0001_0xx0____0xxx_table),
621 * cccc 0001 0xx0 xxxx xxxx xxxx 1xx0 xxxx
623 DECODE_TABLE (0x0f900090, 0x01000080, arm_cccc_0001_0xx0____1xx0_table),
629 DECODE_TABLE (0x0f0000f0, 0x00000090, arm_cccc_0000_____1001_table),
635 DECODE_TABLE (0x0f0000f0, 0x01000090, arm_cccc_0001_____1001_table),
641 DECODE_TABLE (0x0e000090, 0x00000090, arm_cccc_000x_____1xx1_table),
647 * cccc 000x xxxx xxxx xxxx xxxx 0xx1 xxxx
649 DECODE_TABLE (0x0e000000, 0x00000000, arm_cccc_000x_table),
655 DECODE_TABLE (0x0e000000, 0x02000000, arm_cccc_001x_table),
661 DECODE_TABLE (0x0f000010, 0x06000010, arm_cccc_0110_____xxx1_table),
662 DECODE_TABLE (0x0f000010, 0x07000010, arm_cccc_0111_____xxx1_table),
668 DECODE_TABLE (0x0c000000, 0x04000000, arm_cccc_01xx_table),
674 DECODE_TABLE (0x0e000000, 0x08000000, arm_cccc_100x_table),
678 DECODE_SIMULATE (0x0e000000, 0x0a000000, PROBES_BRANCH),
692 DECODE_REJECT (0x0c000000, 0x0c000000),