Lines Matching defs:pc
261 fasttrap_tracepoint_init(proc_t *p, fasttrap_tracepoint_t *tp, user_addr_t pc,
267 size_t first = MIN(len, PAGE_SIZE - (pc & PAGE_MASK));
285 if (uread(p, &instr[0], first, pc) != 0)
288 uread(p, &instr[first], len - first, pc + first) != 0) {
398 tp->ftt_dest = pc + tp->ftt_size +
505 tp->ftt_dest = pc + tp->ftt_size +
514 tp->ftt_dest = pc + tp->ftt_size +
520 tp->ftt_dest = pc + tp->ftt_size +
526 tp->ftt_dest = pc + tp->ftt_size +
533 tp->ftt_dest = pc + tp->ftt_size +
538 tp->ftt_dest = pc + tp->ftt_size +
667 fasttrap_return_common(x86_saved_state_t *regs, user_addr_t pc, pid_t pid,
691 bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)];
694 if (pid == tp->ftt_pid && pc == tp->ftt_pc &&
726 pc - id->fti_probe->ftp_faddr,
730 pc - id->fti_probe->ftp_faddr,
937 user_addr_t pc = regs32->eip - 1;
957 fasttrap_sigtrap(p, uthread, pc);
985 bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)];
991 if (pid == tp->ftt_pid && pc == tp->ftt_pc &&
1010 regs32->eip = pc;
1093 regs32->eip = pc + tp->ftt_size;
1138 new_pc = pc;
1218 new_pc = pc + tp->ftt_size;
1246 new_pc = pc + tp->ftt_size;
1257 new_pc = pc + tp->ftt_size;
1268 new_pc = pc;
1273 new_pc = pc + tp->ftt_size;
1278 new_pc = pc + tp->ftt_size;
1304 new_pc = pc;
1312 new_pc = pc;
1324 * a SIGSEGV and reset the pc to emulate what would happen if
1329 int ret = fasttrap_suword32(addr, (uint32_t)(pc + tp->ftt_size));
1333 new_pc = pc;
1357 * jmp <pc + tp->ftt_size> 5
1367 * <pc + tp->ftt_size> 8
1373 * The %pc is set to a, and curthread->t_dtrace_astpc is set
1375 * kernel, trap() will set %pc to curthread->t_dtrace_astpc
1389 fasttrap_sigtrap(p, uthread, pc); // Should be killing target proc
1390 new_pc = pc;
1405 *(uint32_t *)&scratch[i] = pc - addr - 5;
1415 fasttrap_sigtrap(p, uthread, pc);
1416 new_pc = pc;
1428 uthread->t_dtrace_pc = pc;
1429 uthread->t_dtrace_npc = pc + tp->ftt_size;
1464 fasttrap_return_common(regs, pc, pid, new_pc);
1467 ASSERT(uthread->t_dtrace_pc == pc);
1492 user_addr_t pc = regs64->isf.rip - 1;
1512 fasttrap_sigtrap(p, uthread, pc);
1541 bucket = &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc)];
1547 if (pid == tp->ftt_pid && pc == tp->ftt_pc &&
1566 regs64->isf.rip = pc;
1634 regs64->isf.rip = pc + tp->ftt_size;
1677 new_pc = pc;
1757 new_pc = pc + tp->ftt_size;
1785 new_pc = pc + tp->ftt_size;
1796 new_pc = pc + tp->ftt_size;
1807 new_pc = pc;
1812 new_pc = pc + tp->ftt_size;
1817 new_pc = pc + tp->ftt_size;
1843 new_pc = pc;
1849 new_pc = pc;
1861 * a SIGSEGV and reset the pc to emulate what would happen if
1866 int ret = fasttrap_suword64(addr, pc + tp->ftt_size);
1870 new_pc = pc;
1894 * jmp <pc + tp->ftt_size> 5
1904 * <pc + tp->ftt_size> 8
1910 * The %pc is set to a, and curthread->t_dtrace_astpc is set
1912 * kernel, trap() will set %pc to curthread->t_dtrace_astpc
1957 * <pc + tp->ftt_size> 8
1970 fasttrap_sigtrap(p, uthread, pc); // Should be killing target proc
1971 new_pc = pc;
2030 *reg = pc + tp->ftt_size;
2038 * %rip-relative branch that loads the 64-bit pc value
2045 *(uint64_t *)&scratch[i] = pc + tp->ftt_size;
2055 fasttrap_sigtrap(p, uthread, pc);
2056 new_pc = pc;
2068 uthread->t_dtrace_pc = pc;
2069 uthread->t_dtrace_npc = pc + tp->ftt_size;
2105 fasttrap_return_common(regs, pc, pid, new_pc);
2108 ASSERT(uthread->t_dtrace_pc == pc);
2145 user_addr_t pc = uthread->t_dtrace_pc;
2171 * will correctly set %pc after we return.
2174 regs64->isf.rip = pc;
2176 regs32->eip = pc;
2178 fasttrap_return_common(regs, pc, p->p_pid, npc);