Lines Matching full:gpr
133 ea += regs->gpr[ra]; in dform_ea()
151 ea += regs->gpr[ra]; in dsform_ea()
168 ea += regs->gpr[ra]; in dqform_ea()
185 ea = regs->gpr[rb]; in xform_ea()
187 ea += regs->gpr[ra]; in xform_ea()
219 ea += regs->gpr[ra]; in mlsd_8lsd_ea()
663 err = do_lq(ea, ®s->gpr[reg]); in emulate_lq()
665 err = read_mem(®s->gpr[reg + IS_LE], ea, 8, regs); in emulate_lq()
667 err = read_mem(®s->gpr[reg + IS_BE], ea + 8, 8, regs); in emulate_lq()
670 do_byte_reverse(®s->gpr[reg], 16); in emulate_lq()
682 vals[0] = regs->gpr[reg]; in emulate_stq()
683 vals[1] = regs->gpr[reg + 1]; in emulate_stq()
1345 /* Following cases refer to regs->gpr[], so we need all regs */ in analyse_instr()
1364 op->val = regs->gpr[rd]; in analyse_instr()
1380 if (rd & trap_compare(regs->gpr[ra], (short) word)) in analyse_instr()
1385 if (rd & trap_compare((int)regs->gpr[ra], (short) word)) in analyse_instr()
1402 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1403 "r" (regs->gpr[rb]), "r" (regs->gpr[rc])); in analyse_instr()
1408 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1409 "r" (regs->gpr[rb]), "r" (regs->gpr[rc])); in analyse_instr()
1414 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1415 "r" (regs->gpr[rb]), "r" (regs->gpr[rc])); in analyse_instr()
1427 op->val = regs->gpr[ra] * (short) word; in analyse_instr()
1432 add_with_carry(regs, op, rd, ~regs->gpr[ra], imm, 1); in analyse_instr()
1437 val = regs->gpr[ra]; in analyse_instr()
1447 val = regs->gpr[ra]; in analyse_instr()
1457 add_with_carry(regs, op, rd, regs->gpr[ra], imm, 0); in analyse_instr()
1462 add_with_carry(regs, op, rd, regs->gpr[ra], imm, 0); in analyse_instr()
1469 imm += regs->gpr[ra]; in analyse_instr()
1476 imm += regs->gpr[ra]; in analyse_instr()
1496 val = DATA32(regs->gpr[rd]); in analyse_instr()
1498 op->val = (regs->gpr[ra] & ~imm) | (ROTATE(val, rb) & imm); in analyse_instr()
1504 val = DATA32(regs->gpr[rd]); in analyse_instr()
1511 rb = regs->gpr[rb] & 0x1f; in analyse_instr()
1512 val = DATA32(regs->gpr[rd]); in analyse_instr()
1517 op->val = regs->gpr[rd] | (unsigned short) word; in analyse_instr()
1522 op->val = regs->gpr[rd] | (imm << 16); in analyse_instr()
1526 op->val = regs->gpr[rd] ^ (unsigned short) word; in analyse_instr()
1531 op->val = regs->gpr[rd] ^ (imm << 16); in analyse_instr()
1535 op->val = regs->gpr[rd] & (unsigned short) word; in analyse_instr()
1541 op->val = regs->gpr[rd] & (imm << 16); in analyse_instr()
1548 val = regs->gpr[rd]; in analyse_instr()
1564 val = (regs->gpr[ra] & ~imm) | in analyse_instr()
1570 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1590 val2 = (ra) ? regs->gpr[ra] : 0; in analyse_instr()
1592 op->val = (val) ? val2 : regs->gpr[rb]; in analyse_instr()
1599 (rd & trap_compare((int)regs->gpr[ra], in analyse_instr()
1600 (int)regs->gpr[rb]))) in analyse_instr()
1605 if (rd & trap_compare(regs->gpr[ra], regs->gpr[rb])) in analyse_instr()
1651 val = regs->gpr[rd]; in analyse_instr()
1674 op->val = regs->gpr[rd]; in analyse_instr()
1685 val = regs->gpr[ra]; in analyse_instr()
1686 val2 = regs->gpr[rb]; in analyse_instr()
1698 val = regs->gpr[ra]; in analyse_instr()
1699 val2 = regs->gpr[rb]; in analyse_instr()
1711 do_cmpb(regs, op, regs->gpr[rd], regs->gpr[rb]); in analyse_instr()
1718 add_with_carry(regs, op, rd, ~regs->gpr[ra], in analyse_instr()
1719 regs->gpr[rb], 1); in analyse_instr()
1724 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1728 add_with_carry(regs, op, rd, regs->gpr[ra], in analyse_instr()
1729 regs->gpr[rb], 0); in analyse_instr()
1734 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1738 op->val = regs->gpr[rb] - regs->gpr[ra]; in analyse_instr()
1743 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1748 "r" (regs->gpr[ra]), "r" (regs->gpr[rb])); in analyse_instr()
1752 op->val = -regs->gpr[ra]; in analyse_instr()
1756 add_with_carry(regs, op, rd, ~regs->gpr[ra], in analyse_instr()
1757 regs->gpr[rb], regs->xer & XER_CA); in analyse_instr()
1761 add_with_carry(regs, op, rd, regs->gpr[ra], in analyse_instr()
1762 regs->gpr[rb], regs->xer & XER_CA); in analyse_instr()
1766 add_with_carry(regs, op, rd, ~regs->gpr[ra], 0L, in analyse_instr()
1771 add_with_carry(regs, op, rd, regs->gpr[ra], 0L, in analyse_instr()
1776 add_with_carry(regs, op, rd, ~regs->gpr[ra], -1L, in analyse_instr()
1781 op->val = regs->gpr[ra] * regs->gpr[rb]; in analyse_instr()
1785 add_with_carry(regs, op, rd, regs->gpr[ra], -1L, in analyse_instr()
1790 op->val = (long)(int) regs->gpr[ra] * in analyse_instr()
1791 (int) regs->gpr[rb]; in analyse_instr()
1798 op->val = regs->gpr[ra] % regs->gpr[rb]; in analyse_instr()
1802 op->val = regs->gpr[ra] + regs->gpr[rb]; in analyse_instr()
1808 op->val = (unsigned int) regs->gpr[ra] % in analyse_instr()
1809 (unsigned int) regs->gpr[rb]; in analyse_instr()
1813 op->val = regs->gpr[ra] / regs->gpr[rb]; in analyse_instr()
1817 op->val = (unsigned int) regs->gpr[ra] / in analyse_instr()
1818 (unsigned int) regs->gpr[rb]; in analyse_instr()
1822 op->val = (long int) regs->gpr[ra] / in analyse_instr()
1823 (long int) regs->gpr[rb]; in analyse_instr()
1827 op->val = (int) regs->gpr[ra] / in analyse_instr()
1828 (int) regs->gpr[rb]; in analyse_instr()
1833 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1834 "r" (regs->gpr[rb])); in analyse_instr()
1838 "=r" (op->val) : "r" (regs->gpr[ra]), in analyse_instr()
1839 "r" (regs->gpr[rb])); in analyse_instr()
1867 op->val = (long int) regs->gpr[ra] % in analyse_instr()
1868 (long int) regs->gpr[rb]; in analyse_instr()
1874 op->val = (int) regs->gpr[ra] % in analyse_instr()
1875 (int) regs->gpr[rb]; in analyse_instr()
1883 val = (unsigned int) regs->gpr[rd]; in analyse_instr()
1888 val = regs->gpr[rd]; in analyse_instr()
1893 op->val = regs->gpr[rd] & regs->gpr[rb]; in analyse_instr()
1897 op->val = regs->gpr[rd] & ~regs->gpr[rb]; in analyse_instr()
1901 do_popcnt(regs, op, regs->gpr[rd], 8); in analyse_instr()
1905 op->val = ~(regs->gpr[rd] | regs->gpr[rb]); in analyse_instr()
1909 do_prty(regs, op, regs->gpr[rd], 32); in analyse_instr()
1913 do_prty(regs, op, regs->gpr[rd], 64); in analyse_instr()
1917 do_bpermd(regs, op, regs->gpr[rd], regs->gpr[rb]); in analyse_instr()
1921 op->val = ~(regs->gpr[rd] ^ regs->gpr[rb]); in analyse_instr()
1925 op->val = regs->gpr[rd] ^ regs->gpr[rb]; in analyse_instr()
1929 do_popcnt(regs, op, regs->gpr[rd], 32); in analyse_instr()
1933 op->val = regs->gpr[rd] | ~regs->gpr[rb]; in analyse_instr()
1937 op->val = regs->gpr[rd] | regs->gpr[rb]; in analyse_instr()
1941 op->val = ~(regs->gpr[rd] & regs->gpr[rb]); in analyse_instr()
1945 do_popcnt(regs, op, regs->gpr[rd], 64); in analyse_instr()
1951 val = (unsigned int) regs->gpr[rd]; in analyse_instr()
1958 val = regs->gpr[rd]; in analyse_instr()
1963 op->val = (signed short) regs->gpr[rd]; in analyse_instr()
1967 op->val = (signed char) regs->gpr[rd]; in analyse_instr()
1971 op->val = (signed int) regs->gpr[rd]; in analyse_instr()
1979 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1981 op->val = (regs->gpr[rd] << sh) & 0xffffffffUL; in analyse_instr()
1987 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1989 op->val = (regs->gpr[rd] & 0xffffffffUL) >> sh; in analyse_instr()
1996 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1997 ival = (signed int) regs->gpr[rd]; in analyse_instr()
2010 ival = (signed int) regs->gpr[rd]; in analyse_instr()
2022 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
2024 op->val = regs->gpr[rd] << sh; in analyse_instr()
2030 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
2032 op->val = regs->gpr[rd] >> sh; in analyse_instr()
2039 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
2040 ival = (signed long int) regs->gpr[rd]; in analyse_instr()
2054 ival = (signed long int) regs->gpr[rd]; in analyse_instr()
2070 val = (signed int) regs->gpr[rd]; in analyse_instr()
2123 op->val = regs->gpr[rd]; in analyse_instr()
2295 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2345 op->val = byterev_8(regs->gpr[rd]); in analyse_instr()
2355 op->val = byterev_4(regs->gpr[rd]); in analyse_instr()
2362 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2371 op->val = byterev_2(regs->gpr[rd]); in analyse_instr()
2408 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2409 nb = regs->gpr[rb] & 0xff; in analyse_instr()
2449 op->ea = ra ? regs->gpr[ra] : 0; in analyse_instr()
2450 nb = regs->gpr[rb] & 0xff; in analyse_instr()
2800 op->val = regs->gpr[rd]; in analyse_instr()
2979 * below the kprobed function stack. So we only update gpr[1] but
3044 regs->gpr[op->reg] = op->val; in emulate_update_regs()
3085 regs->gpr[op->reg] = regs->xer & 0xffffffffUL; in emulate_update_regs()
3088 regs->gpr[op->reg] = regs->link; in emulate_update_regs()
3091 regs->gpr[op->reg] = regs->ctr; in emulate_update_regs()
3170 err = do_lqarx(ea, ®s->gpr[op->reg]); in emulate_loadstore()
3181 regs->gpr[op->reg] = val; in emulate_loadstore()
3207 err = do_stqcx(ea, regs->gpr[op->reg], in emulate_loadstore()
3208 regs->gpr[op->reg + 1], &cr); in emulate_loadstore()
3229 err = read_mem(®s->gpr[op->reg], ea, size, regs); in emulate_loadstore()
3232 do_signext(®s->gpr[op->reg], size); in emulate_loadstore()
3234 do_byterev(®s->gpr[op->reg], size); in emulate_loadstore()
3289 regs->gpr[rd] = v32; in emulate_loadstore()
3306 ea >= regs->gpr[1] - STACK_INT_FRAME_SIZE) { in emulate_loadstore()
3350 unsigned int v32 = regs->gpr[rd]; in emulate_loadstore()
3374 regs->gpr[op->update_reg] = op->ea; in emulate_loadstore()
3446 regs->gpr[op.reg] = regs->msr & MSR_MASK; in emulate_step()
3450 val = regs->gpr[op.reg]; in emulate_step()
3467 regs->gpr[0] == 0x1ebe) { in emulate_step()
3471 regs->gpr[9] = regs->gpr[13]; in emulate_step()
3472 regs->gpr[10] = MSR_KERNEL; in emulate_step()
3473 regs->gpr[11] = regs->nip + 4; in emulate_step()
3474 regs->gpr[12] = regs->msr & MSR_MASK; in emulate_step()
3475 regs->gpr[13] = (unsigned long) get_paca(); in emulate_step()
3482 regs->gpr[9] = regs->gpr[13]; in emulate_step()
3483 regs->gpr[10] = MSR_KERNEL; in emulate_step()
3484 regs->gpr[11] = regs->nip + 4; in emulate_step()
3485 regs->gpr[12] = regs->msr & MSR_MASK; in emulate_step()
3486 regs->gpr[13] = (unsigned long) get_paca(); in emulate_step()