Lines Matching full:gpr
135 ea += regs->gpr[ra]; in dform_ea()
153 ea += regs->gpr[ra]; in dsform_ea()
170 ea += regs->gpr[ra]; in dqform_ea()
187 ea = regs->gpr[rb]; in xform_ea()
189 ea += regs->gpr[ra]; in xform_ea()
624 err = do_lq(ea, ®s->gpr[reg]); in emulate_lq()
626 err = read_mem(®s->gpr[reg + IS_LE], ea, 8, regs); in emulate_lq()
628 err = read_mem(®s->gpr[reg + IS_BE], ea + 8, 8, regs); in emulate_lq()
631 do_byte_reverse(®s->gpr[reg], 16); in emulate_lq()
643 vals[0] = regs->gpr[reg]; in emulate_stq()
644 vals[1] = regs->gpr[reg + 1]; in emulate_stq()
1288 /* Following cases refer to regs->gpr[], so we need all regs */ in analyse_instr()
1299 if (rd & trap_compare(regs->gpr[ra], (short) instr)) in analyse_instr()
1304 if (rd & trap_compare((int)regs->gpr[ra], (short) instr)) in analyse_instr()
1309 op->val = regs->gpr[ra] * (short) instr; in analyse_instr()
1314 add_with_carry(regs, op, rd, ~regs->gpr[ra], imm, 1); in analyse_instr()
1319 val = regs->gpr[ra]; in analyse_instr()
1329 val = regs->gpr[ra]; in analyse_instr()
1339 add_with_carry(regs, op, rd, regs->gpr[ra], imm, 0); in analyse_instr()
1344 add_with_carry(regs, op, rd, regs->gpr[ra], imm, 0); in analyse_instr()
1351 imm += regs->gpr[ra]; in analyse_instr()
1358 imm += regs->gpr[ra]; in analyse_instr()
1376 val = DATA32(regs->gpr[rd]); in analyse_instr()
1378 op->val = (regs->gpr[ra] & ~imm) | (ROTATE(val, rb) & imm); in analyse_instr()
1384 val = DATA32(regs->gpr[rd]); in analyse_instr()
1391 rb = regs->gpr[rb] & 0x1f; in analyse_instr()
1392 val = DATA32(regs->gpr[rd]); in analyse_instr()
1397 op->val = regs->gpr[rd] | (unsigned short) instr; in analyse_instr()
1402 op->val = regs->gpr[rd] | (imm << 16); in analyse_instr()
1406 op->val = regs->gpr[rd] ^ (unsigned short) instr; in analyse_instr()
1411 op->val = regs->gpr[rd] ^ (imm << 16); in analyse_instr()
1415 op->val = regs->gpr[rd] & (unsigned short) instr; in analyse_instr()
1421 op->val = regs->gpr[rd] & (imm << 16); in analyse_instr()
1428 val = regs->gpr[rd]; in analyse_instr()
1444 val = (regs->gpr[ra] & ~imm) | in analyse_instr()
1450 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1470 val2 = (ra) ? regs->gpr[ra] : 0; in analyse_instr()
1472 op->val = (val) ? val2 : regs->gpr[rb]; in analyse_instr()
1479 (rd & trap_compare((int)regs->gpr[ra], in analyse_instr()
1480 (int)regs->gpr[rb]))) in analyse_instr()
1485 if (rd & trap_compare(regs->gpr[ra], regs->gpr[rb])) in analyse_instr()
1531 val = regs->gpr[rd]; in analyse_instr()
1554 op->val = regs->gpr[rd]; in analyse_instr()
1565 val = regs->gpr[ra]; in analyse_instr()
1566 val2 = regs->gpr[rb]; in analyse_instr()
1578 val = regs->gpr[ra]; in analyse_instr()
1579 val2 = regs->gpr[rb]; in analyse_instr()
1591 do_cmpb(regs, op, regs->gpr[rd], regs->gpr[rb]); in analyse_instr()
1598 add_with_carry(regs, op, rd, ~regs->gpr[ra], in analyse_instr()
1599 regs->gpr[rb], 1); in analyse_instr()
1604 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1608 add_with_carry(regs, op, rd, regs->gpr[ra], in analyse_instr()
1609 regs->gpr[rb], 0); in analyse_instr()
1614 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1618 op->val = regs->gpr[rb] - regs->gpr[ra]; in analyse_instr()
1623 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1628 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1632 op->val = -regs->gpr[ra]; in analyse_instr()
1636 add_with_carry(regs, op, rd, ~regs->gpr[ra], in analyse_instr()
1637 regs->gpr[rb], regs->xer & XER_CA); in analyse_instr()
1641 add_with_carry(regs, op, rd, regs->gpr[ra], in analyse_instr()
1642 regs->gpr[rb], regs->xer & XER_CA); in analyse_instr()
1646 add_with_carry(regs, op, rd, ~regs->gpr[ra], 0L, in analyse_instr()
1651 add_with_carry(regs, op, rd, regs->gpr[ra], 0L, in analyse_instr()
1656 add_with_carry(regs, op, rd, ~regs->gpr[ra], -1L, in analyse_instr()
1661 op->val = regs->gpr[ra] * regs->gpr[rb]; in analyse_instr()
1665 add_with_carry(regs, op, rd, regs->gpr[ra], -1L, in analyse_instr()
1670 op->val = (long)(int) regs->gpr[ra] * in analyse_instr()
1671 (int) regs->gpr[rb]; in analyse_instr()
1676 op->val = regs->gpr[ra] + regs->gpr[rb]; in analyse_instr()
1680 op->val = regs->gpr[ra] / regs->gpr[rb]; in analyse_instr()
1684 op->val = (unsigned int) regs->gpr[ra] / in analyse_instr()
1685 (unsigned int) regs->gpr[rb]; in analyse_instr()
1689 op->val = (long int) regs->gpr[ra] / in analyse_instr()
1690 (long int) regs->gpr[rb]; in analyse_instr()
1694 op->val = (int) regs->gpr[ra] / in analyse_instr()
1695 (int) regs->gpr[rb]; in analyse_instr()
1703 val = (unsigned int) regs->gpr[rd]; in analyse_instr()
1708 val = regs->gpr[rd]; in analyse_instr()
1713 op->val = regs->gpr[rd] & regs->gpr[rb]; in analyse_instr()
1717 op->val = regs->gpr[rd] & ~regs->gpr[rb]; in analyse_instr()
1721 do_popcnt(regs, op, regs->gpr[rd], 8); in analyse_instr()
1725 op->val = ~(regs->gpr[rd] | regs->gpr[rb]); in analyse_instr()
1729 do_prty(regs, op, regs->gpr[rd], 32); in analyse_instr()
1733 do_prty(regs, op, regs->gpr[rd], 64); in analyse_instr()
1737 do_bpermd(regs, op, regs->gpr[rd], regs->gpr[rb]); in analyse_instr()
1741 op->val = ~(regs->gpr[rd] ^ regs->gpr[rb]); in analyse_instr()
1745 op->val = regs->gpr[rd] ^ regs->gpr[rb]; in analyse_instr()
1749 do_popcnt(regs, op, regs->gpr[rd], 32); in analyse_instr()
1753 op->val = regs->gpr[rd] | ~regs->gpr[rb]; in analyse_instr()
1757 op->val = regs->gpr[rd] | regs->gpr[rb]; in analyse_instr()
1761 op->val = ~(regs->gpr[rd] & regs->gpr[rb]); in analyse_instr()
1765 do_popcnt(regs, op, regs->gpr[rd], 64); in analyse_instr()
1769 op->val = (signed short) regs->gpr[rd]; in analyse_instr()
1773 op->val = (signed char) regs->gpr[rd]; in analyse_instr()
1777 op->val = (signed int) regs->gpr[rd]; in analyse_instr()
1785 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1787 op->val = (regs->gpr[rd] << sh) & 0xffffffffUL; in analyse_instr()
1793 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1795 op->val = (regs->gpr[rd] & 0xffffffffUL) >> sh; in analyse_instr()
1802 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1803 ival = (signed int) regs->gpr[rd]; in analyse_instr()
1816 ival = (signed int) regs->gpr[rd]; in analyse_instr()
1828 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
1830 op->val = regs->gpr[rd] << sh; in analyse_instr()
1836 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
1838 op->val = regs->gpr[rd] >> sh; in analyse_instr()
1845 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
1846 ival = (signed long int) regs->gpr[rd]; in analyse_instr()
1860 ival = (signed long int) regs->gpr[rd]; in analyse_instr()
1915 op->val = regs->gpr[rd]; in analyse_instr()
2087 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2137 op->val = byterev_8(regs->gpr[rd]); in analyse_instr()
2147 op->val = byterev_4(regs->gpr[rd]); in analyse_instr()
2154 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2163 op->val = byterev_2(regs->gpr[rd]); in analyse_instr()
2196 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2197 nb = regs->gpr[rb] & 0xff; in analyse_instr()
2231 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2232 nb = regs->gpr[rb] & 0xff; in analyse_instr()
2592 * below the kprobed function stack. So we only update gpr[1] but
2657 regs->gpr[op->reg] = op->val; in emulate_update_regs()
2696 regs->gpr[op->reg] = regs->xer & 0xffffffffUL; in emulate_update_regs()
2699 regs->gpr[op->reg] = regs->link; in emulate_update_regs()
2702 regs->gpr[op->reg] = regs->ctr; in emulate_update_regs()
2781 err = do_lqarx(ea, ®s->gpr[op->reg]); in emulate_loadstore()
2792 regs->gpr[op->reg] = val; in emulate_loadstore()
2818 err = do_stqcx(ea, regs->gpr[op->reg], in emulate_loadstore()
2819 regs->gpr[op->reg + 1], &cr); in emulate_loadstore()
2840 err = read_mem(®s->gpr[op->reg], ea, size, regs); in emulate_loadstore()
2843 do_signext(®s->gpr[op->reg], size); in emulate_loadstore()
2845 do_byterev(®s->gpr[op->reg], size); in emulate_loadstore()
2900 regs->gpr[rd] = v32; in emulate_loadstore()
2917 ea >= regs->gpr[1] - STACK_INT_FRAME_SIZE) { in emulate_loadstore()
2961 unsigned int v32 = regs->gpr[rd]; in emulate_loadstore()
2985 regs->gpr[op->update_reg] = op->ea; in emulate_loadstore()
3057 regs->gpr[op.reg] = regs->msr & MSR_MASK; in emulate_step()
3061 val = regs->gpr[op.reg]; in emulate_step()
3076 if (regs->gpr[0] == 0x1ebe && in emulate_step()
3081 regs->gpr[9] = regs->gpr[13]; in emulate_step()
3082 regs->gpr[10] = MSR_KERNEL; in emulate_step()
3083 regs->gpr[11] = regs->nip + 4; in emulate_step()
3084 regs->gpr[12] = regs->msr & MSR_MASK; in emulate_step()
3085 regs->gpr[13] = (unsigned long) get_paca(); in emulate_step()